EA: 扁平通道

 

扁平通道:

简要描述;

扁平通道

作者: Vladimir Karputov

 

作者很棒!干得好,实现了目标--盈利的平面智能交易系统。现在,我在我们的市场上对它进行了测试,尤其是在 Si-12.18 上,它带来了丰厚的利润!我一直在寻找这样一款智能交易系统。

有几点意见:1.它的绘制时间太长,所有逻辑都在 OnTick 中,它不是一个 tick,您可以使用 M1 或 M5 周期的 CBarDetector。我使用的是 M5 期--操作起来更有趣。2.我希望根据当前市场的波动情况,在动态中设置最小-最大通道宽度。

 
Rashit Ibatullin:

作者很棒!干得好,实现了目标--盈利的平面智能交易系统。现在,我在我们的市场上对它进行了测试,尤其是在 Si-12.18 上,它带来了丰厚的利润!我一直在寻找这样的智能交易系统。

有几点意见:1.它的绘制时间太长,所有逻辑都在 OnTick 中,它不是基于 tick 的,您可以使用 M1 或 M5 周期的 CBarDetector。我使用的是 M5 期--使用起来更有趣。2.我希望根据当前市场的波动情况,在动态中设置最小-最大通道宽度。

要在可视模式下快速测试,您需要禁用代码中的注释输出

/*   Comment("\nСоветник "+__FILE__+" весь в работе:  ",TimeControl(),
           "\nДень:  ",Dayof(STimeCurrent),
           "\nТорговый счёт:  ",m_account.Login(),
           "\nCompany:  ",m_account.Company(),
           "\nEquity:  ",m_account.Equity(),
           "\nВремя по GMT:  "+TimeToString(TimeGMT(),TIME_DATE|TIME_SECONDS),
           "\nSpread:  ",m_symbol.Spread(),
           "\nStopLevel:  ",m_symbol.StopsLevel(),
           "\nПлечо:  ",m_account.Leverage()
           );*/
//--- 我们只在新栏诞生时工作
 

感谢那些实施此 EA 的人!

我正在逐行拆解这个 EA,使其适应moex(毕竟它是为外汇而设计的),因此我有一个关于代码的问题。

//--- 冻结级别 -> 用于挂单和修改

   double freeze_level=m_symbol.FreezeLevel()*m_symbol.Point();
   if(freeze_level==0.0)
      freeze_level=(m_symbol.Ask()-m_symbol.Bid())*3.0;
   freeze_level*=1.1;
   
   
   
   
//--- StopsLevel -> 用于止盈和止损
   double stop_level=m_symbol.StopsLevel()*m_symbol.Point();
   if(stop_level==0.0)
      stop_level=(m_symbol.Ask()-m_symbol.Bid())*3.0;
   stop_level*=1.1;
   

为什么要乘以 3,然后再乘以 1.1?

 
refounder83:

感谢实施该 EA 的人员!

我正在逐行拆解这个 EA,以便将其应用于 moex(毕竟它是为外汇交易设计的),因此我有一个关于代码的问题。

为什么要乘以 3,然后再乘以 1.1?

我懂外汇,也懂证券交易。但我不知道moex 是什么。

 
您自己昨天创建了一个名为 ----Expert Advisor for moex 的 主题。得到价格了吗?
 
我只想了解代码的逻辑,并根据交易所的情况进行调整。
 
refounder83:
我只是想了解代码的逻辑,并将其应用到证券交易所中。

1.请注意:如果我回复某人,我会使用 "回复 "按钮。

2.要准确编写代码,首先要从经纪商的技术支持部门了解有关SYMBOL_TRADE_STOPS_LEVEL 和 SYMBOL_TRADE_FREEZE_LEVEL 水平的所有信息:这些水平是否在所有符号上都为零? 零 "是什么意思 - 是浮动水平还是真的没有水平。

 
Vladimir Karputov:

1- 请注意:如果我要回复某人,我会使用 "回复 "按钮。

2.要准确编写代码,首先要从经纪商的技术支持部门了解有关 SYMBOL_TRADE_STOPS_LEVEL 和 SYMBOL_TRADE_FREEZE_LEVEL 水平的所有信息:这些水平是否在所有符号上都为零? 零 "是什么意思--是浮动水平还是真的没有水平。

我在给经纪商技术支持的信中说,这些水平没有广播。

 
refounder83:

我给经纪商的技术支持部门写过信,说这些水位不是广播水位。

那就忽略它们(暂时注释掉学习这些水位的行)。

 
Vladimir Karputov:

然后忽略它们(暂时注释掉学习这些级别的行)。

您能告诉我时间控制在此 EA 中是否不起作用吗? 在 TimeControl 过程中有几行。

  if(!InpTimeControl)
      return(true);

也就是说,如果 InpTimeControl 的值是 false,它是否仍会向 TimeControl 过程返回 true?

bool TimeControl(void)
  {
   if(!InpTimeControl)
      return(true);
      
   MqlDateTime STimeCurrent;
   datetime time_current=TimeCurrent();
   if(time_current==D'1970.01.01 00:00')
      return(false);
   TimeToStruct(time_current,STimeCurrent);
   if(InpStartHour<InpEndHour) // 盘中时间间隔
     {

      if(STimeCurrent.hour>=InpStartHour && STimeCurrent.hour<InpEndHour)
         return(true);
     }
   else if(InpStartHour>InpEndHour) // 以天为单位的过渡时间间隔
     {

      if(STimeCurrent.hour>=InpStartHour || STimeCurrent.hour<InpEndHour)
         return(true);
     }
   else
      return(false);
//---
   return(false);
  }