欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

MagicNumber 追踪止损 - MetaTrader 4 专家

author emer | 122 人阅读 | 0 人评论 |

追踪止损通过将止损转移到利润区域来真正支持我们的交易,以便我们始终可以自动保护我们的交易。

我们将通过指定输入追踪止损参数来启动代码

输入    布尔值     是追踪止损 =真的;  //追踪止损
输入    整数      尾随开始 =15;    //追踪起始点(点)
输入    整数      尾随步=5;    //追踪步长(点)

输入    整数      魔法数字 =0;        //幻数


全局变量

//变量全局
双倍的   我的点    =0.0;


当我们运行此 EA 时,将首次执行 OnInit () 函数,在此函数中我们将验证并初始化输入变量。

整数 初始化时()
  {
  
  如果(isTrailingStop && TrailingStart <=0){
      警报“参数不正确”);
      返回INIT_PARAMETERS_INCORRECT);
   }
   
   myPoint     = GetPipPoint(象征());
   
  返回初始化成功);
  }


每当该 EA 配对的图表上出现价格变动(报价变动)时,OnTick () 函数就会被执行。 OnTick()函数里面会调用setTrailingStop()函数

空白 勾选()
  {//---   setTrailingStop(MagicNumber);
   
  }


函数 setTrailingStop()

空白设置追踪止损(整数魔法数=0){
  如果(isTrailingStop==错误的返回;
   
  整数      订单 =0;
  细绳   对 =””;
  双倍的   斯尔=0.0, tp =0.0;
   
   对 =象征();
   
   订单 =订单总数();
  为了整数i=t订单-1;我>=0;我 - ){
      布尔值小时选择=订单选择(i,按POS选择,MODE_TRADES);
      如果(OrderMagicNumber() == magicNumber &&字符串查找(OrderSymbol(), 对,0) ==0){
        如果(订单类型() == OP_BUY){
            如果( (出价 - (trailingStart * myPoint)) >= OrderOpenPrice()
                  && (出价 - ((trailingStart+trailingStep) * myPoint) >= OrderStopLoss() )
                )
            {
               斯尔=规范化双精度(出价 - (trailingStart * myPoint),数字());
              如果(!OrderModify(OrderTicket()、OrderOpenPrice()、sl、OrderTakeProfit()、0,清蓝)){
                  打印“#”, 订单票(),“加加尔更新SL”);
               }
            }
         }
         
        如果(订单类型() == OP_SELL){
            如果( (Ask + (trailingStart * myPoint)) <= OrderOpenPrice()
                  && ( (Ask + ((trailingStart+trailingStep) * myPoint) <= OrderStopLoss() ) || OrderStopLoss() ==0.0)
               )
            {
               斯尔=规范化双精度(Ask + (trailingStart * myPoint),数字());
              如果(!OrderModify(OrderTicket()、OrderOpenPrice()、sl、OrderTakeProfit()、0,清蓝)){
                  打印“#”, 订单票(),“加加尔更新SL”);
               }
            }
         }
      }//如果magicNumber则结束   }//结束}


所需的其他标准函数是 GetPipPoint() 

// Fungsi 获取PipPoint
双倍的获取点值(细绳一对)
{
  双倍的点=0.0;
  整数数字 = (整数) MarketInfo(pair, MODE_DIGITS);
  如果(数字==2||数字==3) 点=0.01;
  别的 如果(数字==4||数字==5) 点=0.0001;
  返回(观点);
}


如果您有任何疑问,请在评论中留言或者您也可以加入我们的群分享(印尼语)t.me/codeMQL

我们还提供 SignalForex 应用程序

您可以通过下载并继续使用 SignalForex 应用程序来支持我们,以支持您的交易获得更多利润

https://play.google.com/store/apps/details?id=com.autobotfx.signalforex


附件下载

📎 addon_trailingstop.mq4 (3.75 KB)

Source: MQL5 #34177

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录