在用ordersend語句時候就可以定義好止損是止盈了。還有就是用orderclose語句強行平倉。
如果是多仓,就用当前时间柱的最低价位(iLow)和止损价位(StopLoss*Point)比较,如果最低价位小于等于止损价位,可以确定在这个时间柱内,达到了止损。
同理, 用当前时间柱的最高价位(iHigh)和止赢价位(TakeProfit*Point)比较,如果最高价位大于等于止赢价位,可以确定在这个时间柱内,达到了止赢。
空仓判断方法类推即可。
至于是否有库函数可以返回索引中的单子是止损还是止赢出场,在下不得而知。
哈哈,我发现我也是大师了。
这个问题可以这样解决。
1.查找最后平仓的历史单子。
2.再判断它是否盈利。
for(int i=0; i<OrdersHistoryTotal; i++) { OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) { if(OrderProfit() > 0) { //此单为赢利单 } if(OrderProfit() < 0) { //此单为亏损单 } } }
dmgy:
学习了!谢谢!
请教各位高手。
请问,EA程序中,如何判断订单是被止损出场,还是止赢出场?