Exemple #1
0
 public virtual SingleOrder Execute(Signal signal)
 {
   SingleOrder singleOrder = new SingleOrder();
   singleOrder.Instrument = signal.Instrument;
   singleOrder.Strategy = signal.Strategy.Name;
   singleOrder.StrategyComponent = ((object) signal.Sender).ToString();
   singleOrder.StrategyFill = signal.StrategyFill;
   singleOrder.StrategyPrice = signal.StrategyPrice;
   singleOrder.ForceMarketOrder = signal.QvSj2cjRxv;
   if (signal.Fuwj5CvMiW)
     singleOrder.FillOnBarMode = (int) signal.R2djQy947W;
   switch (signal.Side)
   {
     case SignalSide.Buy:
       singleOrder.Side = Side.Buy;
       break;
     case SignalSide.BuyCover:
       singleOrder.Side = Side.Buy;
       break;
     case SignalSide.Sell:
       singleOrder.Side = Side.Sell;
       break;
     case SignalSide.SellShort:
       singleOrder.Side = Side.SellShort;
       break;
     default:
       throw new NotSupportedException();
   }
   switch (signal.Type)
   {
     case SignalType.Market:
       singleOrder.OrdType = OrdType.Market;
       break;
     case SignalType.Limit:
       singleOrder.OrdType = OrdType.Limit;
       singleOrder.Price = signal.LimitPrice;
       break;
     case SignalType.Stop:
       singleOrder.OrdType = OrdType.Stop;
       singleOrder.StopPx = signal.StopPrice;
       break;
     case SignalType.StopLimit:
       singleOrder.OrdType = OrdType.StopLimit;
       singleOrder.StopPx = signal.StopPrice;
       singleOrder.Price = signal.LimitPrice;
       break;
     case SignalType.TrailingStop:
       singleOrder.OrdType = OrdType.TrailingStop;
       singleOrder.TrailingAmt = signal.StopPrice;
       break;
     default:
       throw new NotSupportedException();
   }
   singleOrder.OrderQty = signal.Qty;
   singleOrder.TimeInForce = signal.TimeInForce;
   singleOrder.Text = signal.Text;
   this.MetaStrategyBase.cWMWqoTObJ((StrategyBase) signal.Strategy, singleOrder);
   singleOrder.Send();
   return singleOrder;
 }
Exemple #2
0
 public virtual SingleOrder ShortExit(Instrument instrument, string text)
 {
   if (!this.Strategy.IsInstrumentActive(instrument))
     return (SingleOrder) null;
   Signal signal = new Signal(Clock.Now, ComponentType.Exit, SignalType.Market, SignalSide.BuyCover, instrument, text);
   if (!this.HasPosition || this.Position.Side != PositionSide.Short)
   {
     signal.Status = SignalStatus.Rejected;
     signal.Rejecter = ComponentType.Exit;
   }
   return this.Strategy.BgvpSPpUAD(signal);
 }
Exemple #3
0
 public virtual SingleOrder LongExit(Instrument instrument, string text)
 {
   if (!this.Strategy.IsInstrumentActive(instrument))
     return (SingleOrder) null;
   Signal signal = new Signal(Clock.Now, ComponentType.CrossExit, SignalType.Market, SignalSide.Sell, instrument, text);
   Position position = this.Portfolio.Positions[instrument];
   if (position == null || position.Side != PositionSide.Long)
   {
     signal.Status = SignalStatus.Rejected;
     signal.Rejecter = ComponentType.CrossExit;
   }
   return this.Strategy.BgvpSPpUAD(signal);
 }
Exemple #4
0
		public void DrawSignal(Signal signal, int padNumber)
		{
			lock(this.dataLock)
			{
				if (!this.volumePadShown && padNumber > 1)
					--padNumber;
				SignalView view = new SignalView(signal, this.pads[padNumber]);
				this.pads[padNumber].AddPrimitive(view);
				view.SetInterval(this.leftDateTime, this.rightDateTime);
			}
		}
Exemple #5
0
 public virtual SingleOrder LongExit(Instrument instrument, double price, string text)
 {
   if (!this.Strategy.IsInstrumentActive(instrument))
     return (SingleOrder) null;
   Signal signal = new Signal(Clock.Now, ComponentType.Exit, SignalType.Market, SignalSide.Sell, instrument, text);
   signal.StrategyFill = true;
   signal.StrategyPrice = price;
   if (!this.HasPosition || this.Position.Side != PositionSide.Long)
   {
     signal.Status = SignalStatus.Rejected;
     signal.Rejecter = ComponentType.Exit;
   }
   return this.Strategy.BgvpSPpUAD(signal);
 }
Exemple #6
0
 public virtual SingleOrder EmitSignal(Signal signal)
 {
   return this.Strategy.BgvpSPpUAD(signal);
 }
Exemple #7
0
		public virtual bool Validate(Signal signal)
		{
			return true;
		}
Exemple #8
0
 internal SingleOrder BgvpSPpUAD(Signal obj0)
 {
   obj0.Strategy = this;
   double positionSize = this.moneyManagers[obj0.Instrument].GetPositionSize(obj0);
   if (positionSize > 0.0)
   {
     obj0.Qty = positionSize;
     if (!this.riskManagers[obj0.Instrument].Validate(obj0))
     {
       obj0.Status = SignalStatus.Rejected;
       obj0.Rejecter = ComponentType.RiskManager;
     }
     if (!this.ayRpJCTRPY.Validate(obj0))
     {
       obj0.Status = SignalStatus.Rejected;
       obj0.Rejecter = ComponentType.ExposureManager;
     }
   }
   else
   {
     obj0.Status = SignalStatus.Rejected;
     obj0.Rejecter = ComponentType.MoneyManager;
   }
   return this.MetaStrategy.PFARUMnUwZ(obj0);
 }
Exemple #9
0
 public virtual SingleOrder ShortExit(Instrument instrument, double price, string text)
 {
   if (!this.Strategy.IsInstrumentActive(instrument))
     return (SingleOrder) null;
   Signal signal = new Signal(Clock.Now, ComponentType.CrossExit, SignalType.Market, SignalSide.BuyCover, instrument, text);
   signal.StrategyFill = true;
   signal.StrategyPrice = price;
   Position position = this.Portfolio.Positions[instrument];
   if (position == null || position.Side != PositionSide.Short)
   {
     signal.Status = SignalStatus.Rejected;
     signal.Rejecter = ComponentType.CrossExit;
   }
   return this.Strategy.BgvpSPpUAD(signal);
 }
Exemple #10
0
		public SignalEventArgs(Signal signal) : base()
		{
			this.Signal = signal;
		}
Exemple #11
0
		public SignalView(Signal signal, Pad pad) : base()
    {
      this.JVpy8D2xUR = Color.SkyBlue;
      this.zMOyBnpkt3 = Color.SkyBlue;
      this.tHoyjarrU1 = Color.Pink;
      this.XNayo9fgOU = Color.Red;
      this.signal = signal;
      this.pad = pad;
			this.ToolTipEnabled = true;
			this.ToolTipFormat = "dfdfs";
    }
Exemple #12
0
		public void Add(Signal signal)
		{
			this.signals.Add(signal);
		}
Exemple #13
0
    internal SingleOrder PFARUMnUwZ(Signal obj0)
    {
      bool flag = false;
      if (obj0.Status == SignalStatus.New)
      {
        if (this.k7bROYTXtn.Validate(obj0))
        {
          obj0.Status = SignalStatus.Accepted;
          flag = true;
        }
        else
        {
          obj0.Status = SignalStatus.Rejected;
          obj0.Rejecter = ComponentType.MetaExposureManager;
        }
      }
      this.aNKR2wRnBL.Add(obj0);
//      if (this.iCcRBViVvB != null)
//        this.iCcRBViVvB(new SignalEventArgs(obj0));
      if (flag)
        return this.XSvR57mV5s.Execute(obj0);
      else
        return (SingleOrder) null;
    }
Exemple #14
0
		private void oq2A1bOgQG(object obj0, DateTimeEventArgs obj1)
		{
			DateTime index = obj1.DateTime;
			switch (this.k5kAXvwmyK)
			{
				case TriggerType.Above:
					if (this.fISADbUH9Z[index] <= this.J3YAFHAWt0)
						break;
					this.rKEA9ZLnkT();
					this.eiNALoFbZL = new Signal(Clock.Now, this.eiNALoFbZL.Sender, this.eiNALoFbZL.Type, this.eiNALoFbZL.Side, this.eiNALoFbZL.Qty, this.eiNALoFbZL.Price, this.eiNALoFbZL.Instrument, this.eiNALoFbZL.Text);
					this.nquAKcUOSY.BgvpSPpUAD(this.eiNALoFbZL);
					this.KWCAC961IE(TriggerStatus.Executed);
					break;
				case TriggerType.Below:
					if (this.fISADbUH9Z[index] >= this.J3YAFHAWt0)
						break;
					this.rKEA9ZLnkT();
					this.eiNALoFbZL = new Signal(Clock.Now, this.eiNALoFbZL.Sender, this.eiNALoFbZL.Type, this.eiNALoFbZL.Side, this.eiNALoFbZL.Qty, this.eiNALoFbZL.Price, this.eiNALoFbZL.Instrument, this.eiNALoFbZL.Text);
					this.nquAKcUOSY.BgvpSPpUAD(this.eiNALoFbZL);
					this.KWCAC961IE(TriggerStatus.Executed);
					break;
			}
		}
Exemple #15
0
		public Trigger(Strategy strategy, TriggerType type, DoubleSeries series, double level, Signal signal)
			: base()
		{
			this.pEXA4yCenN = Color.Brown;
			this.pZXAJFXyGb = Color.Green;
			this.YCKA0R33mr = Color.DarkGray;
			this.yXsAvQ0snw = true;
			this.wuIAEWD0JW = true;
			this.HKDAVnUw46 = "fdsdf";
			this.nquAKcUOSY = strategy;
			this.k5kAXvwmyK = type;
			this.fISADbUH9Z = series;
			this.J3YAFHAWt0 = level;
			this.eiNALoFbZL = signal;
			this.lh4APrSwVL = TriggerStatus.Active;
			this.a9QA39LDVd = Clock.Now;
			this.gixAsE4W2J = DateTime.MinValue;
			this.nquAKcUOSY.YFmhKSovu(this);
			this.ULWAhR6fQR();
		}