如何检测一张交易单是否已经被打止损或打止盈
OrderCloseTime()这个函数返回的是订单的收盘时间。如果订单正在交易中而未平仓,此函数 返回的是0,如果平仓,此值就会变成平仓当时的服务器时间,是一个很大的正整数。 //-----------------检测是否平仓-----------------+ string IsClosed(int tik) { OrderSelect(tik, SELECT_BY_TICKET); //--若为未平仓 if(OrderCloseTime()<1) return("未平"); //--若为买单 被止盈 if(OrderType()==OP_BUY){ if(OrderClosePrice()>=OrderTakeProfit()) return("已被止盈"); } //--若为卖单 被止盈 if(OrderType()==OP_SELL){ if(OrderClosePrice()<=OrderTakeProfit()) return("已被止盈"); } //--其它为被止损 return("已被止损"); } //------------------------------------------------+ 有的朋友可能会质疑,打止损或打止盈的订单,其OrderComment()会包含sl或tp字样,检测这个不是 更方便吗?你要这样说我完全同意,不过上面的函数也完全可以实现功能,这个例子同时说明编程不 是死的,我们可以用不同的方式完成同一件任务。 |
打赏
最新创建圈子
- 新闻EA运行效果图圈 2019-05-05
圈主:admin 帖子:1