空单SL设置为0不能实现追踪止损的问题 新评论 Jian Zhao Xu 2024.10.18 07:51 大家好,我遇到这样一种情况,因为看到MQL5文档介绍,在下单函数设置sl和tp等于零就是没有设定止盈和止损,如下代码: request.price=bid; request.sl=0; request.tp=0; 但问题来了,空单在下单的时候把sl设置为0的时候,会遇到一种情况,就是设置追踪止损的时候,读取做空持仓订单SL的时候默认为0,所以实现不了空单的追踪止损,多单就不会用到这样的情况,因为多单的止损为0是符合逻辑的! 所以想请教大家遇到这种情况,除了一开始把空单的止损设很大之外,能不能不设止损而又能实现追踪止损的其他办法呢?谢谢 Jian Zhao Xu 2024.10.18 12:50 #1 各位大神大哥大姐呢 Ziheng Zhuang 2024.10.21 18:04 #2 这取决于你的追踪止损策略. 如果追踪止损策略必须要求有初始止损, 那就必须先设置止损, 如果追踪止损策略不要求单子必须先有止损, 那你可以判断单子当前的止损是否为0,如果是0你就给它设置新的止损,如果单子的止损大于0且比新的止损大, 则设置新的止损. double sl = StopLoss(); //当前止损 double newSL = ....; //新的止损 if(sl==0.0 || sl>newSL) { //设置新的止损 } Jian Zhao Xu 2024.10.22 13:39 #3 Ziheng Zhuang #: 这取决于你的追踪止损策略. 如果追踪止损策略必须要求有初始止损, 那就必须先设置止损, 如果追踪止损策略不要求单子必须先有止损, 那你可以判断单子当前的止损是否为0,如果是0你就给它设置新的止损,如果单子的止损大于0且比新的止损大, 则设置新的止损. 谢谢你提醒了我,是我钻牛角尖了,没想起把0先改掉,可能我潜意识一直以为是设置为0的原因所以没想起可以把他改掉,谢谢兄弟 新评论
大家好,我遇到这样一种情况,因为看到MQL5文档介绍,在下单函数设置sl和tp等于零就是没有设定止盈和止损,如下代码:
request.price=bid;
request.sl=0;
request.tp=0;
但问题来了,空单在下单的时候把sl设置为0的时候,会遇到一种情况,就是设置追踪止损的时候,读取做空持仓订单SL的时候默认为0,所以实现不了空单的追踪止损,多单就不会用到这样的情况,因为多单的止损为0是符合逻辑的!
所以想请教大家遇到这种情况,除了一开始把空单的止损设很大之外,能不能不设止损而又能实现追踪止损的其他办法呢?谢谢