1评论

0收藏

想写一个 止损后,重新下单的EA

avatar benkeputuo | 1290 人阅读 | 1 人评论 | 2020-06-19

信号出现后进场,如果本单止损,但是信号还没有消失的情况下,止损的当前K线结束后,再次下单,如果再次止损,但是信号依然保持,那么下跟K线开盘价再下单,最多就重新下2单。
有几个问题:
1.如何判断止损条件
多单:  if(Bid<=OrderOpenPrice()-止损点数*Point){}
空单: if(Ask>=OrderOpenPrice()+止损点数*Point){}
不知道这种判断是否正确?
2.当一个信号出现一直不中断,如果里面有出现止损情况,那么需要计数的,当新的信号出现的时候需要重新计数。这个计数该如何写?
3.在止损后不马上进场,要等止损的K线走完后,再判断一次信号是否发生变化,没有变化重新进场
k线走完如何定义?if(close[0]){}是这样吗?还是if(Timecurrent()==Time[0]){}  ?
4.我有一个开仓的函数,这个止损后继续进场的共功能是否要糅合在开仓函数里
5.我是遍历所有在场的订单,还是遍历出最近刚完成的订单,从中找到止损单?

外层是一个所有订单的遍历

if(OrderType() ==  OP_SELL)
{
   if(Ask>=OrderOpenPrice()+止损点数*Point)//当前的价格扫掉了止损可以走到这,但是后面的价格来的时候,由于这个订单已经是历史订单了,代码是否还会执行到这里是个问题
   {
      if(Timecurrent()==Time[0])
       {
          if(信号没改变)//计数是否放在这个位置,如果信号改变计数要清零
            {
               开仓(这块会写)

            }

        }
    }
}

""
还没有人打赏,支持一下

评论|共 1 个

benkeputuo

发表于 2020-6-19 23:00:07 | 显示全部楼层

我在想是不是要把这个功能加在我的开仓函数里
刚开始遍历所有历史订单,找到当前货币兑的最近一个订单(预加载的时候可能还要看一下前面单子的情况),判断是正常走完还是止损的,如果是正常走完的,那么不执行重新下单,属于首次下单。

您需要登录后才可以回帖 登录 | 注册 微信登录

EA之家评论守则