改变TF是一个问题 - 页 7

 
Vasyl Nosal:

天才。

你是否试过换成没有历史记录的一对,然后再换成另一个TF?

是的,我承认我的错误。代码显示了如果Close[i]>Close[i+1]该怎么做,如果Close[i]<Close[i+1]该怎么做。但它没有说明如果Close[i]==Close[i+1]该怎么做。这些是这些单箭头掉出来的柱子。

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[])
{
   int nStartBar = rates_total - MathMax(prev_calculated, 2);

   for(int i = nStartBar; i >= 0; i--)
   {
      if(Close[i] >= Close[i+1])
      {
         up_arr[i] = Low[i] - arrow_indent * _Point; //up arrow
         down_arr[i] = 0;
      }
         
      if(Close[i] < Close[i+1])
      {
         up_arr[i] = 0;
         down_arr[i] = High[i] + arrow_indent * _Point; //down arrow
      }
   }

   return(rates_total);
}
 
Karputov Vladimir:

你知道,让我们这样做:从 篇文章中提取代码1.43,并注释掉这几行。

并在将图表滚动到故事的后面并确保故事被加载时看一下结果。

嗯,我做到了。不过,意识到这一行动的无意义性。:)结果是意料之中的--指标顺利地工作。
 
Vasyl Nosal:

天才。

你是否试过换成没有历史记录 的一对,然后再换成另一个TF?

你说的 "没有历史 "是什么意思?
 
Sergei Vladimirov:

嗯哼,我承认有毛病。代码规定了如果Close[i]>Close[i+1]该怎么做,以及如果Close[i]<Close[i+1]该怎么做。但它没有说明如果Close[i]==Close[i+1]该怎么做。这些是这些单箭头掉出来的柱子。

这很好。
 
Alexey Viktorov:
你说 "没有历史的地方 "是什么意思?
在一个货币对的图表没有打开或已经打开了很长时间的地方。
 
Sergei Vladimirov:

这是什么?


这是为了没有出局,如果有的话。
 
Vasyl Nosal:
这是为了没有出局,如果有的话。
他们是谁?))
 
Sergei Vladimirov:
他们是谁?))
阵列超出范围
 
Vasyl Nosal:
阵列超出范围
为什么你需要这么大的保证金,多达20条?是靠眼睛吗?))在一般情况下,你不能超过[rates_total-1],在这段代码中--超过[rates_total-2],因为在循环的主体中调用了前一栏。因此,我们需要从[rate_total-2]条开始计算。
 
Sergei Vladimirov:
而且为什么要采取这么大的幅度--20条?是靠眼睛吗?))在一般情况下,我们不能超过[rates_total-1],在这段代码中--超过[rates_total-2],因为在循环的主体中调用了前一条。因此,我们需要从[rate_total-2]条开始计算。

我明白。接下来将是总共要计算多少条,以及要重新计算多少条。

有人会进入比酒吧更多的酒吧。这将是一个出局。

是的,靠眼睛。