请观看如何免费下载自动交易
请在Telegram上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
发布者:
Vladimir Karputov
显示:
1354
等级:
(17)
已发布:
2017.04.21 12:19
已更新:
2018.02.15 17:23
MQL5自由职业者 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

本EA交易比较第零柱和第三柱的开盘价。

思路的作者OleksandrMQL5 代码的作者barabashkakvn。  

建立买入仓位的条件:

         if(iOpen(0)>iOpen(3))

- 如果第零柱的开盘价高于第三个柱的开盘价。

建立卖出仓位的条件:

         if(iOpen(0)<=iOpen(3))

- 如果第零柱的开盘价低于或者等于第三柱的开盘价。

SimpleTrade 卖出
 

仓位以止损关闭或者在下一个柱开始的时候关闭:

SimpleTrade 全部平仓 

因为 EA 交易在新柱出现的时候工作, 它有几个保护步骤 — 这样可以避免在建仓时错过整个柱。

比如,如果我们无法更新当前价格,我们就要重置计时器 (static 静态变量):

            //--- 因为我们在一个新柱上,如果刷新当前
            //--- 价格失败,重置计时器
            if(!RefreshRates())
              {
               curTime=iTime(1);
               return;
              }

另外我们还要检查交易操作的结果:

  1. Buy 或者 Sell 方法必须返回 true
    1. 并且 ResultDeal 方法应该返回一个非零值
如果出错,我们重置计时器:

         if(iOpen(0)<=iOpen(3))
           {
            //--- 因为我们在新柱上工作,如果刷新当前
            //--- 价格失败,重置计时器
            if(!RefreshRates())
              {
               curTime=iTime(1);
               return;
              }
            //--- 因为我们在新柱上工作,如果交易操作失败
            //--- 重置计时器
            if(m_trade.Sell(Lots,NULL,m_symbol.Bid(),m_symbol.Ask()+StopLoss*m_adjusted_point))
               if(m_trade.ResultDeal()!=0)
                  return;
            curTime=iTime(1);
            return;
           }

 

由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/17274

NRTR GATOR NRTR GATOR

派生于 NRTR 指标, 提供了一种新的显示方法。

TrailingStop TrailingStop

带有移动止损实现的EA交易实例,

Lucky Lucky

一个订单分时EA交易。它比较前一订单分时的价格与当前的价格。

21hour 21hour

本 EA 交易在某一时间设置两个挂单。