public void Update() { double d10 = Distance / 30; //For enter Ray _eDot = _strategy.DrawDot("enterDot", true, 0, RealRayPrice(EntryRay), _dotColor); double s = RealRayPrice(EntryRay); _eText = _strategy.DrawText("enterText", TextForma(s), 0, RealRayPrice(EntryRay) + d10, _textColor); //For stop Ray _sDot = _strategy.DrawDot("stopDot", true, 0, RealRayPrice(StopRay), _dotColor); double text = RealRayPrice(StopRay); _sText = _strategy.DrawText("stopText", TextForma(text), 0, RealRayPrice(StopRay) + d10, _textColor); //For TP Ray _tpDot = _strategy.DrawDot("TPDot", true, 0, RealRayPrice(ProfitTargetRay), _dotColor); double priceText = RealRayPrice(ProfitTargetRay); _tpText = _strategy.DrawText("TPText", TextForma(priceText), 0, RealRayPrice(ProfitTargetRay) + d10, _textColor); //Check if have turn on the Closing Half and is The ray exist because without ray we will got the error if (ClosingHalf && HalfCloseRay != null) { double priceT = RealRayPrice(HalfCloseRay); _hcDot = _strategy.DrawDot("HCDot", true, 0, priceT, _dotColor); _hcText = _strategy.DrawText("HCText", TextForma(priceT), 0, RealRayPrice(HalfCloseRay) + d10, _textColor); } }
public void Offset(OffsetTypes offsetType, params float[] offsets) { var result = new IDot[2]; switch (offsetType) { case OffsetTypes.Usual: { result = Transformer3D.Offset(offsets, new IDot[] { StartPoint, EndPoint }); break; } case OffsetTypes.MatrixOffset: { result = Transformer3D.Action(offsets, new IDot[] { StartPoint, EndPoint }); break; } case OffsetTypes.HouseOffset: { result = Transformer3D.HomeMoving(offsets[0], offsets[1], offsets[2], new IDot[] { StartPoint, EndPoint }); break; } } StartPoint = result[0]; EndPoint = result[1]; StartPoint.Normalise(); EndPoint.Normalise(); }
public void UpdateExistingSlopeRay(IRay ray) { double price = _strategy.RayPrice(ray); _dot = _strategy.DrawDot("slopeDot", false, 0, price, Color.Black); _text = _strategy.DrawText("SlopeText", TextForma(price), 0, price, Color.Black); _strategy.ChartControl.ChartPanel.Invalidate(); }
public void UpdateSlopeLine(Slope slope) { double price = _strategy.Instrument.MasterInstrument.Round2TickSize(slope.Price); _ray = _strategy.DrawRay("Slope", false, slope.Bar, price, slope.Bar - 3, price, SlopeLineColor, DashStyle.Solid, 2); _dot = _strategy.DrawDot("slopeDot", false, 0, price, Color.Black); _text = _strategy.DrawText("SlopeText", TextForma(price), 0, price, Color.Black); _strategy.ChartControl.ChartPanel.Invalidate(); }
public void ChangeActiveDot(e_Dot type) { if (type == _activeVal) return; IDot temp = _active; _active = _passive; _passive = temp; OnActiveChanged(new ea_ValueChange<e_Dot>(temp.GetDotType(), _active.GetDotType())); }
public float GetDistance(IDot point) { var minDistance = float.MaxValue; foreach (var i in Data) { var distance = i.GetDistance(point); if (distance < minDistance) { minDistance = distance; } } return(minDistance); }
public void SetInnerDot(IDot dot) { if (dot == null || dot == _innerDot) return; _innerDot.event_DateChanged -= handler_dateChanged; DateTime oldDate = _innerDot.GetDate(); IDot oldDot = _innerDot; _innerDot = dot; _innerDot.event_DateChanged += handler_dateChanged; OnDotChanged(new ea_ValueChange<IDot>(oldDot, _innerDot)); if (oldDate != _innerDot.GetDate()) OnDateChanged(new ea_ValueChange<DateTime>(oldDate, _innerDot.GetDate())); }
private void setMasterStart(bool start) { if (start) { master = this.start; isStartMaster = true; slave = finish; } else { master = finish; isStartMaster = false; slave = this.start; } __eTree_makeSlaveCheck(); slave.dotLimitCheck = dcdSlave; master.dotLimitCheck = dcdMaster; }
public period_localLimit(IDot start, IDot finish, e_tskLimit lType) { init_eventsInternal(); dcdSlave = new dotCheckDate(slaveCheck); dcdMaster = new dotCheckDate(masterCheck); _outerLimit = dmyChk; fncDuration = durNull; init_outerLimit(); init_expTreeParameters(); connectProject(null); this.start = start; this.finish = finish; _limitDate = start.date; limitType = lType; }
public void subscribe(IDock master, IDock slave) { masterMbr = new alter.Link.classes.LinkMember( new alter.Function.classes.VectorF() { Date = alter.classes.Hlp.InitDate, Direction = e_Direction.Fixed }, dependDotMst() ); masterMbr.SetInfo(master); masterMbr.SetDependType(e_DependType.Master); dotMaster = master.Subscribe(e_DependType.Master, this); masterMbr.Depend.SetDate(() => dotMaster.GetDate()); masterMbr.Depend.SetDependDot(() => dependDotMst()); master.event_ObjectDeleted += onDeleteTask; dotMaster.event_DateChanged += onMasterDateChange; slaveMbr = new alter.Link.classes.LinkMember( new alter.Function.classes.VectorF() { Date = getDateLimit(), Direction = e_Direction.Fixed }, dependDotSlv() ); slaveMbr.SetInfo(slave); slaveMbr.SetDependType(e_DependType.Slave); dotSlave = slave.Subscribe(e_DependType.Slave, this); }
public float GetDistance(IDot point) => GetSpace(point) * 2 / Length;
public DotAdapter(IDot innerDot) { SetInnerDot(innerDot); }
public period_localLimit(IDot start, IDot finish) : this(start, finish, defaultLimit) { }
public void clear() { unsubscribe(); unsubscribe(); unsubscribe = null; sender = null; parentID = null; selectedDot = null; line = null; cleared = true; }
private void changeDot(IDot Old, IDot New) { e_Dot dOld = dependDot; if (Old != null) { Old.event_DateChanged -= onDateChange; dOld = Old.GetDotType(); } New.event_DateChanged += onDateChange; e_Dot dNew = New.GetDotType(); dependDot = dNew; event_DependDotChanged?.Invoke(sender, new ea_ValueChange<e_Dot>(dOld, dNew)); if (lastDate != parent.GetDot(dependDot).GetDate()) { DateTime OldDate = lastDate; lastDate = parent.GetDot(dependDot).GetDate(); event_DateChanged?.Invoke(sender, new ea_ValueChange<DateTime>(OldDate, lastDate)); } }
protected void subscribeHandler(IDot dot) { if(dot == null) throw new ArgumentNullException(); unsubscribe(); dot.event_DateChanged += handler_dotDateChanged; unsubscribe = () => { dot.event_DateChanged -= handler_dotDateChanged; unsubscribe = () => { }; }; }
protected bool subscribeDot(e_Dot type) { if (type == selectedDot.GetDotType() && !Enum.IsDefined(typeof (e_Dot), type)) return false; DateTime oldDate = date; e_Dot oldType = dotType; IDot dot = line.GetDot(type); subscribeHandler(dot); selectedDot = dot; checkChangedValues(oldDate, oldType); return true; }
public CDotManager(IDot start, IDot finish) { _active = start; _passive = finish; }
private void setMasterStart(bool start) { if(start) { master = this.start; isStartMaster = true; slave = finish; } else { master = finish; isStartMaster = false; slave = this.start; } __eTree_makeSlaveCheck(); slave.dotLimitCheck = dcdSlave; master.dotLimitCheck = dcdMaster; }
public Vector3D(string name, IDot startPoint, IDot endPoint) { Name = name; StartPoint = startPoint; EndPoint = endPoint; }
public float GetSpace(IDot point) => 1f / 2 * Abs((EndPoint.Y - StartPoint.Y) * point.X - (EndPoint.X - StartPoint.X) * point.Y + EndPoint.X * StartPoint.Y - EndPoint.Y * StartPoint.X);
protected bool subscribeDot(e_Dot type) { if (!Enum.IsDefined(typeof (e_Dot), type)) return false; DateTime oldDate; e_Dot oldType; Action eventInvoke = () => { }; if (selectedDot != null) { if (type == selectedDot.GetDotType()) return false; oldDate = date; oldType = dotType; eventInvoke = () => checkChangedValues(oldDate, oldType); } IDot dot = line.GetDot(type); subscribeHandler(dot); selectedDot = dot; eventInvoke(); return true; }
public Vector3D(IDot startPoint, IDot endPoint) { StartPoint = startPoint; EndPoint = endPoint; }