我正在使用OrderSend
这样的
OrderSend(Symbol(),OP_BUYLIMIT,Lots,100, 50,200,"",Magic,0,Red);
在这种情况下,当价格达到100时,将执行买入。
但是当价格达到100时,我想再检查一层。
像这样。// when price comes to 100.
if (MacD > 0){buy cancel;}
这可能吗?或OrderSend
无法取消?
答案 0 :(得分:1)
OrderSend()
已创建 BUY-LIMIT
待处理订单:您的经纪人已经在他们的账簿上创建了待处理的XTO指令,实际上,一旦市场价格(Ask
)达到设定的XTO - OrderOpenPrice() == 100.0
,这样的待定订单将以固定价格执行== 100.0
,无需任何其他干预,自动进行。
这是一个常见的程序。
100.0
集合:阱,
在这种情况下,不应该使用待处理订单,因为当价格接近待处理订单集OrderOpenPrice()
时,没有机会修改它。
有一个关于所谓的 StopLevel
和 FreezeLevel
距离设定价格的详细规范,可以防止任何此类希望修改,取消一旦市场价格徘徊在这些邻近区域,甚至会发生重建。
所以,
的或者强>
不要放置待处理订单(并使用普通市场订单{ OP_BUY | OP_SELL }
保持所有XTO操作基于XTO-s)
或强>
修改您的待处理订单{ OP_BUYLIMIT | OP_BUYSTOP | OP_SELLLIMIT | OP_SELLSTOP }
订单管理政策,以便在价格仍在MarketInfo()
- 已检查的StopLevel-zone和FreezeLevel-zones区域之外的情况下做出决策。