示例#1
0
 public IBStopProtectionOrder() : base()
 {
     Description = "A Stop with Protection order combines the functionality of a stop limit order with a market with protection order. The order is set to trigger at a specified stop price. When the stop price is penetrated, the order is triggered as a market with protection order.";
     Products.Add(IBContractType.FUT);
     OrderType = OrderType.StopWithProtection;
     Name      = "Stop with Protection";
     RealPrices.Add("AuxPrice", 0);
 }
示例#2
0
 public IBLimitOnCloseOrder() : base()
 {
     Description = "A Limit-on-close (LOC) order will be submitted at the close and will execute if the closing price is at or better than the submitted limit price.";
     Products.Add(IBContractType.CFD);
     Products.Add(IBContractType.FUT);
     Products.Add(IBContractType.STK);
     Products.Add(IBContractType.WAR);
     OrderType = OrderType.LimitOnClose;
     Name      = "Limit On Close";
     Slippages = new ObservableCollection <CSlippage>();
     RealPrices.Add("LmtPrice", 0);
 }
示例#3
0
 public IBLimitOnOpenOrder() : base()
 {
     Description = "A Limit-on-Open (LOO) order combines a limit order with the OPG time in force to create an order that is submitted at the market's open, and that will only execute at the specified limit price or better. Orders are filled in accordance with specific exchange rules.";
     Products.Add(IBContractType.CFD);
     Products.Add(IBContractType.FUT);
     Products.Add(IBContractType.STK);
     Products.Add(IBContractType.WAR);
     OrderType = OrderType.Limit;
     Tif       = TimeInForce.MarketOnOpen;
     Name      = "Limit On Open";
     Slippages = new ObservableCollection <CSlippage>();
     RealPrices.Add("LmtPrice", 0);
 }
示例#4
0
 public IBStopTrailingOrder() : base()
 {
     Description = "A sell trailing stop order sets the stop price at a fixed amount below the market price with an attached \"trailing\" amount.";
     Products.Add(IBContractType.CASH);
     Products.Add(IBContractType.CFD);
     Products.Add(IBContractType.FOP);
     Products.Add(IBContractType.FUT);
     Products.Add(IBContractType.OPT);
     Products.Add(IBContractType.STK);
     Products.Add(IBContractType.WAR);
     OrderType = OrderType.TrailingStop;
     Name      = "Trailing Stop";
     RealPrices.Add("TrailStopPrice", 0);
     RealPrices.Add("TrailingPercent", 0);
 }
示例#5
0
 public IBStopOrder() : base()
 {
     Description = "A Stop order is an instruction to submit a buy or sell market order if and when the user-specified stop trigger price is attained or penetrated. ";
     Products.Add(IBContractType.BAG);
     Products.Add(IBContractType.CASH);
     Products.Add(IBContractType.CFD);
     Products.Add(IBContractType.FOP);
     Products.Add(IBContractType.FUT);
     Products.Add(IBContractType.OPT);
     Products.Add(IBContractType.STK);
     Products.Add(IBContractType.WAR);
     OrderType = OrderType.Stop;
     Name      = "Stop Order";
     RealPrices.Add("AuxPrice", 0);
 }
示例#6
0
 public IBMarketIfTouchedOrder() : base()
 {
     Description = "A Market If Touched (MIT) is an order to buy (or sell) a contract below (or above) the market. It is similar to a stop order, except that an MIT sell order is placed above the current market price, and a stop sell order is placed below.";
     Products.Add(IBContractType.BOND);
     Products.Add(IBContractType.CASH);
     Products.Add(IBContractType.CFD);
     Products.Add(IBContractType.FOP);
     Products.Add(IBContractType.FUT);
     Products.Add(IBContractType.OPT);
     Products.Add(IBContractType.STK);
     Products.Add(IBContractType.WAR);
     OrderType = OrderType.MarketIfTouched;
     Name      = "Market If Touched";
     RealPrices.Add("AuxPrice", 0);
 }
示例#7
0
 private void Slippages_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
 {
     if (Slippages != null && Slippages.Count > 0)
     {
         OrderType = OrderType.StopLimit;
         if (!RealPrices.ContainsKey("LmtPrice"))
         {
             RealPrices.Add("LmtPrice", 0);
         }
     }
     else
     {
         OrderType = OrderType.Stop;
         RealPrices.Remove("LmtPrice");
     }
 }
示例#8
0
 public IBLimitOrder() : base()
 {
     Description = "A Limit order is an order to buy or sell at a specified price or better.";
     Products.Add(IBContractType.BOND);
     Products.Add(IBContractType.CASH);
     Products.Add(IBContractType.CFD);
     Products.Add(IBContractType.FOP);
     Products.Add(IBContractType.FUT);
     Products.Add(IBContractType.OPT);
     Products.Add(IBContractType.STK);
     Products.Add(IBContractType.WAR);
     OrderType = OrderType.Limit;
     Name      = "Limit Order";
     Slippages = new ObservableCollection <CSlippage>();
     RealPrices.Add("LmtPrice", 0);
 }
示例#9
0
 public IBLimitIfTouchedOrder() : base()
 {
     Description = "A Limit if Touched is an order to buy (or sell) a contract at a specified price or better, below (or above) the market. This order is held in the system until the trigger price is touched. An LIT order is similar to a stop limit order, except that an LIT sell order is placed above the current market price, and a stop limit sell order is placed below.";
     Products.Add(IBContractType.BOND);
     Products.Add(IBContractType.CASH);
     Products.Add(IBContractType.CFD);
     Products.Add(IBContractType.FOP);
     Products.Add(IBContractType.FUT);
     Products.Add(IBContractType.OPT);
     Products.Add(IBContractType.STK);
     Products.Add(IBContractType.WAR);
     OrderType = OrderType.LimitIfTouched;
     Name      = "Limit If Touched";
     Slippages = new ObservableCollection <CSlippage>();
     RealPrices.Add("AuxPrice", 0);
     RealPrices.Add("LmtPrice", 0);
 }
示例#10
0
 public IBStopLimitOrder() : base()
 {
     Description = "A Stop-Limit order is an instruction to submit a buy or sell limit order when the user-specified stop trigger price is attained or penetrated.";
     Products.Add(IBContractType.CASH);
     Products.Add(IBContractType.CFD);
     Products.Add(IBContractType.FOP);
     Products.Add(IBContractType.FUT);
     Products.Add(IBContractType.OPT);
     Products.Add(IBContractType.STK);
     Products.Add(IBContractType.WAR);
     OrderType = OrderType.StopLimit;
     Name      = "Stop Limit";
     Slippages = new ObservableCollection <CSlippage>();
     Slippages.CollectionChanged += Slippages_CollectionChanged;
     OrderType = OrderType.Stop;
     RealPrices.Add("AuxPrice", 0);
     //RealPrices.Add("LmtPrice", 0);
     //init();
 }
示例#11
0
 public IBStopLimitTrailingOrder() : base()
 {
     Description = "A trailing stop limit order is designed to allow an investor to specify a limit on the maximum possible loss, without setting a limit on the maximum possible gain.";
     Products.Add(IBContractType.BOND);
     Products.Add(IBContractType.CASH);
     Products.Add(IBContractType.CFD);
     Products.Add(IBContractType.FOP);
     Products.Add(IBContractType.FUT);
     Products.Add(IBContractType.OPT);
     Products.Add(IBContractType.STK);
     Products.Add(IBContractType.WAR);
     OrderType = OrderType.TrailingStopLimit;
     Name      = "Trailing Stop Limit";
     Slippages = new ObservableCollection <CSlippage>();
     Slippages.CollectionChanged += Slippages_CollectionChanged;
     OrderType = OrderType.TrailingStop;
     RealPrices.Add("TrailStopPrice", 0);
     RealPrices.Add("AuxPercent", 0);
     //RealPrices.Add("LmtPrice", 0);
 }