初学者的问题 MQL5 MT5 MetaTrader 5 - 页 872

 
Vladimir Karputov:

在终端中检查00-00中的日期的蜱虫。

虱子是有的,是修改函数的错误。

谢谢你。

 

你能告诉我代码中是否有任何错误?

因为加入这段代码后,优化速度急剧下降

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
if (UseEquityStop)
      {
        // если потеряно TotalEquityRisk (или больше) процентов депозита - закрываем позицию
        double AccountEquity = AccountInfoDouble(ACCOUNT_EQUITY);
        double AccountBalance = AccountInfoDouble(ACCOUNT_BALANCE);
        
        if (AccountEquity <= AccountBalance * (1 - TotalEquityRisk / 100))
          {
            Print("Потеряно ", TotalEquityRisk, "% депозита, принудительное закрытие позиции");
            CloseAllOrders();
          }
      }
//---------------------------------

бла бла код

有什么方法可以加快优化速度吗?

 
ilyav:

你能告诉我代码中是否有任何错误?

因为加入这段代码后,优化速度急剧下降

有什么方法可以加快优化速度吗?

余额和股权比例可以计算一次,并与最终结果进行比较(不需要额外的变量)。

在除数中指定100.0。

即使没有头寸,你也要在每次打钩 时执行空闲检查和计算。

 

你能告诉我为什么这个简单的代码中的布林线 工作得如此糟糕?代码写得尽可能的默认,这样我就可以开始为一个特殊的指标进行校准。

int OnInit()
  {
      iBands1_handle=iBands(_Symbol,0,peroid,shift,deviation,applied_price);
      return(0);
  } 
  
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   return(rates_total);
  }

其结果是。



 

当使用ArrayPrint()时,不是所有的数组元素 都被打印出来。只有前100个和最后100个被打印出来。在中间,有一个错误被抛出

[100-10886] 10787个元素被ARRAYPRINT_LIMIT标志跳过。

它是什么意思?


 
clickaider:

你能告诉我为什么这个简单的代码中的布林线 工作得如此糟糕?代码写得尽可能的默认,所以你可以开始为一个特殊的指标进行校准。

其结果是。



这里的BB在哪里?
你在未初始化和未填充的指标缓冲区中看到垃圾。
 
Artyom Trishkin:
BB在哪里?
你在一个未初始化和未填充的指标缓冲区中看到了垃圾。

谢谢你,在添加了下面的函数后,图表就变得生动了。

ChartIndicatorAdd(ChartID(),0,iBands1_handle);

结果。


 

请在Metatrader中增加一个功能,当信号出现时,开启的交易数量

如果( 交易开盘条件的描述 )

int Kolsdel (交易数量,蜡烛的到期时间,蜡烛的数量)

开业 .

我不相信我在mqvl5中错过了这个功能。

 
Лауреат:

请在Metatrader中增加一个功能,当信号出现时,开启的交易数量

如果( 交易开盘条件的描述 )

int Kolsdel (交易数量,蜡烛的到期时间,蜡烛的数量)

开业 .

我很抱歉,如果没有这个功能,恐怕这个mqvl5就很糟糕。

mql5拥有你自己制作这样一个函数所需的一切。
你是最懒惰奖的获得者?:D
 
Artyom Trishkin:
mql5拥有自己制作这种功能的一切。
你是最懒惰奖的得主吗?:D

是的,你可以。我在Youtube上找不到视频。文件只是为最聪明的人准备的。