OCO (二择一订单) 是两个限价和/或止损单的混合。拥有各自价格和存续期间变量的定单,下单价格高于和低于当前价格。当执行其中一个定单时,另一个定单即被取消。以下我们将举例说明OCO定单如何操作:
示例: 欧元/美元价格为0.9340。交易员 x 期待会出现突破,希望在阻力位0.9395时买入500'000 ,或者在价格降至0.9300时卖出头寸。也就是说,价格达到0.9395,他会买入500'000,如果价格为0.9300 则定单将被自动取消。
也就是 你分别在高于市价和低于市价的位置放置limit 单 和 stop单。
对订单的管理有很多种办法
1、首先历尽所有已开挂单 ,分别计算limit 和stop挂单开单数量
2、给出进场信号 如果当前无挂单 则同时开limit 和stop 挂单。可用magic进行区别。
3、监控挂单情况 ,如一个挂单成交 则 取消另外挂单。
4、对已出发订单进行管理(只赢止损平仓)
5、我回答你的问题,并非因为是你自称美女。国内自动交易还处在起步阶段,希望更多人参与,共同提高。
谢谢,不过,不知道您可不可以帮我解答一个问题,
如果我执行的是一个连续的操作,就是每一次MACD的穿越都进行交易,比如现在持有的是多单,接下来的空单也要参与,但是在空单执行的时候,这个挂单仍没有交易,不过,要更改limit 为stop,改变stop 为limit
这样的操作能实现吗?也就是简单的说,不断的对OCO进行修改,却不是每一单都平仓出来.
可以实现。
对挂单的管理其实和其他订单没什么区别。
if(进场信号==“金叉挂单” && 有死叉挂单)
{
平调死叉挂单
}
{
开设金叉挂单
}
n as this .....
有没有办法执行OCO?ONE CANCEL THE OTHER.
比如买入一单欧元在1.3950,stoploss :1.39200,takeprofit1.40000,此时的OCO为50对50,如果触发止损,则自动删除上面的takeprofit 这个待执行的指令.
这个程序要怎么写?