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

 
barabashkakvn:

计算代码的变化

那就是13或12或其他数字--这应该是 "周期 "参数。平均周期

万岁!

谢谢你,它起作用了。为什么这个参数不在原始指标中?它是默认预设的,你知道吗?

也就是说,我只设置了平均数的条数,而没有设置其他。事实上,这是来源中唯一的参数,它被用在公式中。

在最后一个版本中,我有两个参数。用于平均数的条数和用于计算SmoothFactor的条数。

 
Alvin1976:

万岁!

谢谢你。但为什么这个参数没有出现在原始指标中?你知道这是否是默认的处方?

也就是说,我只设置了平均数的条数,仅此而已。事实上,在源代码中,这是在公式中使用的唯一参数。

在最后一个版本中,我有两个参数。用于平均数的条数和用于计算SmoothFactor的条数。

这套书里什么都有。见指标代码 "***\MQL5\Indicators\Examples\Custom Moving Average.mq5"
 
barabashkakvn:
一切都在交付中。见指标代码 "***\MQL5\Indicators\Examples\Custom Moving Average.mq5"。

这就是我得到的一切:-)。我想我只是不明白.....。

但是,由于某些原因,计算出的EMA值与原始值相差甚远。

也许这个转换为函数的指标在哪里可以找到?

 
Alvin1976:

这就是我得到的一切:-)。我想我只是不明白.....。

我想把它作为一个手柄,由于某些原因,计算出的EMA值与原始值不一致。

也许在某个地方有这个指标被转换为一个函数?

或者在EA的OnInit()中创建两个具有 不同类型平滑度的iMA 指标的句柄,然后直接获取这些指标的值,这样会更好?

 
barabashkakvn:

或者在OnInit()中创建两个具有 不同平滑类型的iMA 指标的句柄,然后只获取这些指标的值会更好?

我已经试过了。MQL5通过手柄产生一些胡言乱语。比如说。

在第一个条形图的输出处,我们得到了可变的数值,尽管条形图已经形成了在MQL4中一切运作良好,但在这里却是一片混乱。

     MAvarage1[ns] = INVALID_HANDLE;                        //-----------------------------------
   for (int i=0;i<10;i++) //10 попыток создать индикатор
      {
       MAvarage1[ns]=iMA(Symbols[ns],DopTF2,MAper1[ns],0,MAmet2,PRICE_CLOSE);
       if (MAvarage1[ns] == INVALID_HANDLE) Sleep(1000);
      }
              //Проверим handle 
   if (MAvarage1[ns] == INVALID_HANDLE) 
   {
    Print("Ошибка при создании MAvarage1! (№", GetLastError(), ")");
    return;
   } 

  Recount=false;
  if (CopyBuffer(MAvarage1[ns],0,0,2,MA1)<1) Recount=true;
  if (Recount){
  Print("Ошибка при копировании из индикатора ! (№", GetLastError(), ")");
  return;   
  }
  Print("MA1[1]=",MA1[1]);
 
Alvin1976:

我已经试过了。MQL5通过手柄产生一些胡言乱语。比如说。

这样一来,即使第一根柱子已经形成,也会输出变量值在MQL4中一切工作正常,但在这里却很糟糕。

关于交易、自动交易系统和策略测试的论坛

初学者的问题

从来没有尝试过在交易中使用Handlestick,现在使用它还太早。

或者,也许在EA的OnInit()中创建两个 具有 不同类型平滑的iMA 指标手柄 ,然后只需获得这些指标的值会更好?


 

在将代码转移到MQL5时,我已经遇到了很多麻烦。主要是指标方面的问题。随机数得到的是某种 "左 "的数值。

我决定自己来计算这些数值。

我需要MQL5只是为了优化速度和检查多货币模式。就这样吧!

它对其他事情没有用处。我希望没有一个交易中心会使用这个 "奇迹"。

我已经弄清了变量值!我已经弄清了变量值。事实证明,CopyBuffer 颠倒了索引的顺序!这是不可能的。

我为什么要这样做?

 

Alvin1976:

...Aaah与变量值想通了!CopyBuffer正在颠倒指数的顺序!

我为什么要这样做?

我不想问指标不需要的东西 ...想象一下,你来到一个报摊。而你想要一些过去3天的报纸...他们说,我们会卖你的报纸,但只卖最近20天的。你需要它吗?:-)
 
denkir:
如果你想避免询问指标你不需要的东西...想象一下,你来到了一个报刊亭。而且你需要一份过去3天的报纸。他们说:"我们可以把你的报纸卖给你,但只卖给最后20天......"。你需要它吗?:-)

那么,在MQL4中,你也不必要求太多。这不是数量的问题,而是顺序的问题。

逻辑在哪里?大家都已经习惯了,数组的元素 就是当前的酒吧。你为什么要改变一些????。

P.S. 通过ArraySetAsSeries 修复了它

翻滚吧!.....

 
Alvin1976:

那么,在MQL4中,你也不必要求太多。这不是数量的问题,而是顺序的问题。

逻辑在哪里?大家都已经习惯了,数组的元素 就是当前的酒吧。你为什么要改变一些????。

P.S. 通过ArraySetAsSeries 修复了它

与手鼓共舞.....

这不是手鼓,而是你必须习惯的创新。而这些创新在某些情况下会使任务更容易完成。不要问例子,我不会讨论它。