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

Nevalyashka_BreakdownLevel - MetaTrader 5 专家

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

Nevalyashka_BreakdownLevel - expert for MetaTrader 5

Nevalyashka_BreakdownLevel - expert for MetaTrader 5

想法的作者 — 弗拉基米尔·赫里斯托夫MQL5 代码的作者 — 巴拉巴什卡孔

交易策略:在选定的时间间隔内突破高点/低点。为了恢复亏损头寸,EA 使用“Nevalyashka”策略和鞅技术来增加手数。

EA 计算指定时间间隔内的最高价和最低价时间开始到 Time end

Nevalyashka_BreakdownLevel - expert for MetaTrader 5

如果价格超过该期间的最高点,则建立买入仓位。如果价格低于最低价,则建立卖出仓位。止损设置在该周期的相反边界,即买入头寸设置为低价,卖出头寸设置为高价。止盈是根据控制周期的高度设置的。

如果 ”使用时间关闭“设置为true,则”时间关闭“参数(平仓所有仓位的时间)将被激活。

参数仅考虑小时和分钟  时间开始时间结束 和 ”时间关闭”。

OnTradeTransaction 中监控止损平仓

当找到“DEAL_ENTRY_OUT”(en:“Entry out”)时,请检查该交易的评论字段。如果评论包含“sl”,这意味着交易已通过 StopLoss 关闭:

      如果(deal_symbol==m_symbol.Name() && deal_magic==m_magic)
        如果(交易条目==DEAL_ENTRY_OUT)
           {
            Mql日期时间字符串1;
            构建时间时间当前(),str1);
            //--- 这有可能是止盈平仓            如果字符串查找(交易评论,“tp”,0)!=-1||交易利润>=0.0)
              {
               TradeDey=str1.day;
              返回;
              }
            //--- 这有可能是止损平仓
            如果字符串查找(交易评论,“斯尔”,0)!=-1              {
              如果(TradeDey!=str1.day)
                 {
                  打印“已检测到止损平仓!”);

                  双倍的损失=数学抗体(deal_profit/m_symbol.TickValue()/deal_volume);

                  如果(交易类型==交易类型_卖出// 买入仓位已平仓                    {
                    双倍的SL=m_符号。出价()+损失*m_符号。观点();
                    双倍的TP=m_符号。出价()-损失*m_符号。观点();
                    双倍的Lot=LotCheck(deal_volume*InpK_martin);
                    如果(很多==0.0)
                        返回;
                     开仓(止损,止盈,手数,“涅瓦利亚什卡”);

                    }
                  如果(交易类型==DEAL_TYPE_BUY// 卖出仓位已平仓                    {
                    双倍的SL=m_符号。()-损失*m_符号。观点();
                    双倍的TP=m_符号。()+损失*m_符号。观点();
                    双倍的Lot=LotCheck(deal_volume*InpK_martin);
                    如果(很多==0.0)
                        返回;
                     OpenBuy(止仓,止盈,手数,“涅瓦利亚什卡”);
                    }
                  返回;
                 }
              }
           }

开仓与平仓相反(如果交易类型为“DEAL_TYPE_SELL”,则买入仓位被平仓;“DEAL_TYPE_BUY”表示卖出仓位被平仓),增加手数乘以K·马丁。如果平仓时盈利为正,则 EA 交易会等待下一个周期的开始时间时间结束“,并重复上述过程

 无损失参数表示盈亏平衡;当持仓利润达到一半时,止损移至持仓价格。

测试 EURUSD、M30 的示例:

Nevalyashka_BreakdownLevel - expert for MetaTrader 5


附件下载

📎 nevalyashka_breakdownlevel.mq5 (47.27 KB)

Source: MQL5 #18645

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