private static void TestAlgoSamples(EClientSocket client, int nextOrderId) { //! [algo_base_order] Order baseOrder = OrderSamples.LimitOrder("BUY", 1000, 1); //! [algo_base_order] //! [arrivalpx] AvailableAlgoParams.FillArrivalPriceParams(baseOrder, 0.1, "Aggressive", "09:00:00 CET", "16:00:00 CET", true, true); client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder); //! [arrivalpx] Thread.Sleep(500); //! [darkice] AvailableAlgoParams.FillDarkIceParams(baseOrder, 10, "09:00:00 CET", "16:00:00 CET", true); client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder); //! [darkice] Thread.Sleep(500); //! [ad] AvailableAlgoParams.FillAccumulateDistributeParams(baseOrder, 10, 60, true, true, 1, true, true, "09:00:00 CET", "16:00:00 CET"); client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder); //! [ad] Thread.Sleep(500); //! [twap] AvailableAlgoParams.FillTwapParams(baseOrder, "Marketable", "09:00:00 CET", "16:00:00 CET", true); client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder); //! [twap] Thread.Sleep(500); //! [vwap] AvailableAlgoParams.FillVwapParams(baseOrder, 0.2, "09:00:00 CET", "16:00:00 CET", true, true); client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder); //! [vwap] Thread.Sleep(500); //! [balanceimpactrisk] AvailableAlgoParams.FillBalanceImpactRiskParams(baseOrder, 0.1, "Aggressive", true); client.placeOrder(nextOrderId++, ContractSamples.USOptionContract(), baseOrder); //! [balanceimpactrisk] Thread.Sleep(500); //! [minimpact] AvailableAlgoParams.FillMinImpactParams(baseOrder, 0.3); client.placeOrder(nextOrderId++, ContractSamples.USOptionContract(), baseOrder); //! [minimpact] //! [adaptive] AvailableAlgoParams.FillAdaptiveParams(baseOrder, "Normal"); client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder); //! [adaptive] }
private static void TestAlgoSamples(EClientSocket client, int nextOrderId) { //! [algo_base_order] Order baseOrder = OrderSamples.LimitOrder("BUY", 1000, 1); //! [algo_base_order] //! [arrivalpx] AvailableAlgoParams.FillArrivalPriceParams(baseOrder, 0.1, "Aggressive", "09:00:00 CET", "16:00:00 CET", true, true, 100000); client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder); //! [arrivalpx] Thread.Sleep(500); //! [darkice] AvailableAlgoParams.FillDarkIceParams(baseOrder, 10, "09:00:00 CET", "16:00:00 CET", true, 100000); client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder); //! [darkice] Thread.Sleep(500); //! [ad] // The Time Zone in "startTime" and "endTime" attributes is ignored and always defaulted to GMT AvailableAlgoParams.FillAccumulateDistributeParams(baseOrder, 10, 60, true, true, 1, true, true, "20161010-12:00:00 GMT", "20161010-16:00:00 GMT"); client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder); //! [ad] Thread.Sleep(500); //! [twap] AvailableAlgoParams.FillTwapParams(baseOrder, "Marketable", "09:00:00 CET", "16:00:00 CET", true, 100000); client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder); //! [twap] Thread.Sleep(500); //! [vwap] AvailableAlgoParams.FillVwapParams(baseOrder, 0.2, "09:00:00 CET", "16:00:00 CET", true, true, true, 100000); client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder); //! [vwap] Thread.Sleep(500); //! [balanceimpactrisk] AvailableAlgoParams.FillBalanceImpactRiskParams(baseOrder, 0.1, "Aggressive", true); client.placeOrder(nextOrderId++, ContractSamples.USOptionContract(), baseOrder); //! [balanceimpactrisk] Thread.Sleep(500); //! [minimpact] AvailableAlgoParams.FillMinImpactParams(baseOrder, 0.3); client.placeOrder(nextOrderId++, ContractSamples.USOptionContract(), baseOrder); //! [minimpact] //! [adaptive] AvailableAlgoParams.FillAdaptiveParams(baseOrder, "Normal"); client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder); //! [adaptive] //! [closepx] AvailableAlgoParams.FillClosePriceParams(baseOrder, 0.5, "Neutral", "12:00:00 EST", true, 100000); client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder); //! [closepx] //! [pctvol] AvailableAlgoParams.FillPctVolParams(baseOrder, 0.5, "12:00:00 EST", "14:00:00 EST", true, 100000); client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder); //! [pctvol] //! [pctvolpx] AvailableAlgoParams.FillPriceVariantPctVolParams(baseOrder, 0.1, 0.05, 0.01, 0.2, "12:00:00 EST", "14:00:00 EST", true, 100000); client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder); //! [pctvolpx] //! [pctvolsz] AvailableAlgoParams.FillSizeVariantPctVolParams(baseOrder, 0.2, 0.4, "12:00:00 EST", "14:00:00 EST", true, 100000); client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder); //! [pctvolsz] //! [pctvoltm] AvailableAlgoParams.FillTimeVariantPctVolParams(baseOrder, 0.2, 0.4, "12:00:00 EST", "14:00:00 EST", true, 100000); client.placeOrder(nextOrderId++, ContractSamples.USStockAtSmart(), baseOrder); //! [pctvoltm] //! [jeff_vwap_algo] AvailableAlgoParams.FillJefferiesVWAPParams(baseOrder, "10:00:00 EST", "16:00:00 EST", 10, 10, "Exclude_Both", 130, 135, 1, 10, "Patience", false, "Midpoint"); client.placeOrder(nextOrderId++, ContractSamples.JefferiesContract(), baseOrder); //! [jeff_vwap_algo] //! [csfb_inline_algo] AvailableAlgoParams.FillCSFBInlineParams(baseOrder, "10:00:00 EST", "16:00:00 EST", "Patient", 10, 20, 100, "Default", false, 40, 100, 100, 35); client.placeOrder(nextOrderId++, ContractSamples.CSFBContract(), baseOrder); //! [csfb_inline_algo] }