I know this is a dummy's request, but I'm not able to solve this simple task.
I want to send priced a Sell order, to be filled at a defined price.
Here is the code.
Code: Select all
IOrderPriced SellStopOeder;
IOrderMarket ExitOrder;
int OnBars;
public _zD_SellStopTest(object _ctx) : base(_ctx)
{
}
protected override void CalcBar()
{
if (StrategyInfo.MarketPosition == 0) {
SellStopOeder.Send(Bars.HighValue);
OnBars = 0;
} else {
OnBars += 1;
if (OnBars == 5) {
ExitOrder.Send();
}
}
}
protected override void Create()
{
SellStopOeder = OrderCreator.Stop(new SOrderParameters(Contracts.Default, "SellStop", EOrderAction.Sell));
ExitOrder = OrderCreator.MarketThisBar(new SOrderParameters(Contracts.Default, "ExitBuy", EOrderAction.Buy));
}
}
Note:
If I send a Buy order, all works fine
Code: Select all
SellStopOeder = OrderCreator.Stop(new SOrderParameters(Contracts.Default, "BuyStop", EOrderAction.Buy));
ExitOrder = OrderCreator.MarketThisBar(new SOrderParameters(Contracts.Default, "Exit", EOrderAction.Sell));