什么时候在指标中保留部分机器人代码才有意义? - 页 15

 
OneDepo:

不,它不会。你可以在代码中看到,信号的计算过程是由参数prevVals[0]控制的(只有最后一个棒或给定的nMax棒)。如果它是0,我们就按nMax条数恢复计算。prevVals[0]的值由另一个代码控制。

但我们不要偏离主题,让我们进入正题。上面有两个选项,在测试器中 哪个更快?所以


如果你没有所有的代码,我怎么能知道。把它放在EA中,因为它应该在那里,然后会有一个实质性的对话,你可以比较性能。
 
Integer:

也许我弄错了赔率,我现在要检查一下,但原则并没有改变。

我不是在谈论系数。我的意思是,EMA在最初的N个柱子中给出了错误的数值,但后来一切都好了。专家顾问应将其考虑在内。否则,我们在每次连接失败时都会出现值的问题
 
Vinin:

这不是关于系数的问题。我的意思是,EMA在最初的N个柱子中没有给出正确的值,之后一切正常。专家顾问应将其考虑在内。否则,我们在每次连接失败时都会出现值的问题

这样可以吗?

extern double Alpha = 0.1;

double EMA;

double GetPrice( int Shift )
{
  return(Open[Shift]);
}

void init()
{
  int i = Bars - 1;
  
  EMA = GetPrice(i);
  i--;
  
  while (i > 0)
  {
    EMA = EMA * Alpha + (1 - Alpha) * GetPrice(i);
    i--;
  }
  
  return;
}  

void start()
{
  static int PrevTime = 0;
    
  if (PrevTime == Time[0])
    return;
 
  PrevTime = Time[0];
    
  EMA = EMA * Alpha + (1 - Alpha) * GetPrice(0);
  
  return;  
} 
 
Vinin:

这与比率无关。EMA在最初的N个柱子中给出了错误的值,但后来一切都好了。专家顾问应将其考虑在内。否则,我们每次中断连接时都会出现价值问题。


没问题,指标会在获取数据出现问题后重新计算。

事实上,在图表的开头,它在左边是歪的,这也不是一个真正的问题,测试者错过了前1000条。

在这里,正好是左边(在附录中)。

附加的文件:
iema_1.mq4  1 kb
 
Integer:

如果你没有整个代码,我怎么能知道。把它以应有的方式放在EA中,那么就会有一个实质性的对话。
请提供一个用于测试的变体
附加的文件:
bb-ii-08.mq4  11 kb
 
Integer:


不会有问题的,指标会在获得数据出现问题后重新计算。

事实上,在图表的开头,它在左边是歪的,这也不是一个真正的问题,测试者错过了前1000条。

在这里,正好是左边(在附录中)。


我说的是顾问,而不是指标。我已经看过了。只是我没有对你说这些,我是对renfx说的。
 
hrenfx:

这样可以吗?


剩下要做的就是规定连接中断和历史跳转(不幸的是,这种情况会发生)。该指标处理起来没有任何问题。但专家顾问没有看到它。
 
OneDepo:
请测试选项

不适合宣传的提名。沟通中断后会有错误,时间范围越小,错误就越频繁,越大。
 
Vinin:

剩下要做的就是规定连接中断和历史跳转(不幸的是,这种情况会发生)。该指标处理起来没有任何问题。但专家顾问没有看到它。

事实上,现在我们正在挑剔交易的概念。专家顾问在此时此地接收来自指标的数据。突然间,历史发生了变化,指标的数值也发生了巨大的变化。那么,专家顾问之前收到的是什么?让我们回顾一下正在比较的内容。而且我们正在比较速度,以防有人忘记。但是,尽管所有可争论的选题,我将写一个专家顾问,考虑到差距和历史分页。
 
hrenfx:

...突然间,故事发生了变化...

惊人的!