2评论

3收藏

给EA加上止盈止损代码

avatar admin | 1892 人阅读 | 2 人评论 | 2018-06-27

代码如下:

extern int     StopLoss = 200;      //在这里设置止损点数
extern int     TakeProfit = 400;    //在这里设置盈利点数

void OnStart()
{
    bool chenggong = false;
    int i = 0;

    if(TakeProfit!=0)
    {
       for(i=0;i<OrdersTotal();i++)
       {
           if(OrderSelect(i,SELECT_BY_POS) && OrderSymbol()==Symbol() && OrderTakeProfit()==0)
           {RefreshRates();
                if(OrderType()==OP_BUY||OrderType()==OP_BUYLIMIT||OrderType()==OP_BUYSTOP)
                {
                    chenggong=OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()+TakeProfit*Point,0);
                }
                if(OrderType()==OP_SELL||OrderType()==OP_SELLLIMIT||OrderType()==OP_SELLSTOP)
                {
                    chenggong= OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderOpenPrice()-TakeProfit*Point,0);
                }
           }
       }
    }

    if(StopLoss!=0)
    {
       for(i=0;i<OrdersTotal();i++)
       {
           if(OrderSelect(i,SELECT_BY_POS) && OrderSymbol()==Symbol() && OrderStopLoss()==0)
           {RefreshRates();
                if(OrderType()==OP_BUY||OrderType()==OP_BUYLIMIT||OrderType()==OP_BUYSTOP)
                {
                    chenggong=OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-StopLoss*Point,OrderTakeProfit(),0);
                }
                if(OrderType()==OP_SELL||OrderType()==OP_SELLLIMIT||OrderType()==OP_SELLSTOP)
                {
                    chenggong= OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+StopLoss*Point,OrderTakeProfit(),0);
                }
           }
       }
    }
}



可以把代码加载到你的EA或者脚本。如果出现错误可以删除代码中的

void OnStart()
{


代码的最后也要删除一个}符号
""
还没有人打赏,支持一下

评论|共 2 个

宜乐宸邦

发表于 2018-9-15 14:36:37 | 显示全部楼层

谢谢分享

daili123190

发表于 2021-3-26 23:36:02 来自手机 | 显示全部楼层

好想学习怎么写ea

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

EA之家评论守则