EA: 用于少量存款的马丁

 

用于少量存款的马丁:

特别为存款较少账户设计的马丁格尔 EA 交易。


作者: Vladimir Karputov

 

你好,弗拉基米尔!

我在演示版和测试版上运行了一天。在第一类和第二类测试中,代码的正确性都存在问题。例如,当 Expert Advisor 在演示版中运行时,在某些时段,它在关闭所有仓位后开设新仓位,而不是以最小手数关闭,而是以下一步关闭。这当然大大提高了余额,但我认为逻辑失败了。当我使用可视化功能测试时,经常出现这样的情况:在开立 2-3 个仓位并获得超过 InpMinProfit 变量中设定的总利润后,EA 并没有关闭仓位,而是等待所有仓位都在获利 时关闭。

遗憾的是,我不擅长 OOP 和 C++ 编程,所以即使看到源代码,我也不明白为什么会出现这种情况。

 

我不知道该 EA 是否可以在高于股本 "高水位 "X 美元 时退出......而不是设置为最小利润的通用 "全部平仓"。我可以用当前的 EA(很棒的 EA)手动计算,但引入 "高水位思考 "将是革命性的!另外,如果能用 ATR 自动执行步骤,而不是手动静态设置,岂不是更好?这将使 EA 在低迷时期实现 "自我调整"。

mb

 
好策略。他用哪个信号打开买入和卖出?
 
sergiomt :
好策略。他用哪个信号打开购买和销售?

决定块:

   if(count_buys==0 || count_sells==0) // 检查 "卖出 "仓位的开仓情况
     {
      if(count_buys==0 && count_sells>0)
        {
         if(m_symbol.Bid()-price_highest_sell>ExtStep)
            need_to_open_a_sell=true;
        }
      else if(count_sells==0 && count_buys>0)
        {
         if(price_lowest_buy-m_symbol.Ask()>ExtStep)
            need_to_open_a_buy=true;
        }
     }

"need_to_open_a_sell"和"need_to_open_a_sell" - 交易信号

 
不按参数 -关闭所有 仓位最小利润值 关闭未结头寸
 
qazzaq12345:
未按参数 -关闭所有 仓位最小利润 中的值关闭未结头寸

请显示 Expert Advisor 设置和日志文件。哪些仓位未关闭?

 
StopLoss 在哪里?
 
forexprofitid :
止损在哪里?

Martingale 没有止损。对于 Martingale 而言,只有一个自然止损 - 即存款的流失。

 

你好,感谢您提供 EA

是否有可能将入市参数分为只卖出或只买入?ATT

 

你好,弗拉基米尔,谢谢你的代码。这很有趣。

我是 MT5 代码的新手。

我如何理解 void CloseAllPositions () 的功能?

该函数似乎不会关闭所有头寸,而只会关闭触及止盈点 的头寸。

希望您能一步一步地解释给我听。我应该如何修改该函数,才能在最大开仓交易达到获利点数后关闭所有仓位?

谢谢。

Void CloseAllPositions()
  {
   for(int i=PositionsTotal()-1;i>=0;i--) // 返回当前位置的数量
      if(m_position.SelectByIndex(i))     // 通过索引选择位置,以便进一步访问其属性
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
            m_trade.PositionClose(m_position.Ticket()); // 用指定的符号关闭一个位置
   }