//--- Проверка и расчёт количества просчитываемых баровint limit=rates_total-prev_calculated;
if(limit>1)
{
// Присваиваем limit значение количества доступных баров-1
limit=rates_total-1;
// Вот тут нужно инициализировать все буферы пустыми значениямиArrayInitialize(Buffer0,EMPTY_VALUE);
ArrayInitialize(Buffer1,0);
ArrayInitialize(Buffer2,clrNONE);
// ... и т.д.
}
//--- Экономный просчёт индикатораfor(int i=limit;i>=0;i--)
{
Buffer0[i]=(/*что-то там*/);
}
//--- Проверка и расчёт количества просчитываемых баровint limit=rates_total-prev_calculated;
if(limit>1)
{
// Присваиваем limit значение количества доступных баров-1
limit=rates_total-1;
// Вот тут нужно инициализировать все буферы пустыми значениямиArrayInitialize(Buffer0,EMPTY_VALUE);
ArrayInitialize(Buffer1,0);
ArrayInitialize(Buffer2,clrNONE);
// ... и т.д.
}
//--- Экономный просчёт индикатораfor(int i=limit;i>=0;i--)
{
Buffer0[i]=(/*что-то там*/);
}
我不明白rates_total 和 prev_calculated 到底是什么意思。
文档中说:第一个参数 rates_total 包含指标可用于计算的条数,与图表上 可用的条数相对应。
例如 MA5,5 条平均线,设置为显示 100 条。 那么指标将从第 104 个条形图计算到第 100 个条形图,并从第 100 个条形图开始画线。那么rates_total=5,还是 100,还是 104?
例如 MA5,5 条平均线,设置为显示 100 条。 那么指标将从第 104 个条形图计算到第 100 个条形图,并从第 100 个条形图开始画线。那么rates_total=5,还是 100,还是 104?
Rates_total 是可供计算的图表条数。换句话说,就是Bars()。
prev_calculated 是指标在上一次调用 OnCalculate() 时计算过的条数。这是组织经济计算所必需的。
如果 prev_calculated 等于 rates_total,则表示尚未计算任何内容,需要初始化指标缓冲区并对整个历史记录进行完整计算。
一般来说,我们可以使用以下结构:
rates_total 是可供计算的图表条数。换句话说,就是Bars()。
prev_calculated 是指标在上一次调用 OnCalculate() 时计算过的条数。有必要组织经济计算。
如果 prev_calculated 等于 rates_total,则表示尚未计算任何内容,需要初始化指标缓冲区并对整个历史记录进行完整计算。
一般来说,我们可以使用以下结构:
为什么不写rates_total -Bars() 呢?
为什么不写 Bars() 而要写rates_total?
您也可以使用这种结构。但为什么呢?因为处理程序的参数中已经有了预定义变量...
Bars() 应在真正需要时使用--通过另一个符号/时间戳获取可用条数时。
您也可以使用这种设计。但为什么呢?当处理程序的参数中已经有预定义变量时...
Bars()应在真正需要时使用,即通过另一个符号/时间框架获取可用条数时。
Artyom,有时候任何人都会累,都会犯错。不要认为这是批评,但rates_total - Bars() 总是零...
一般来说,很难向这个角色解释清楚。USE 的受害者...
Artyom,有时候每个人都会累,都会犯错。不要认为这是批评,但rates_total - Bars() 总是零...
一般来说,很难向这个角色解释清楚。USE 的受害者...
是的,你说得对。我没想到有人会这样计算。我眼角余光看到计算中的 Bars,还以为是代替 rates_total。
是这样的,谢谢。
我知道你想帮助这个人,但显然你的错误只会让他们感到困惑。
在这种情况下,经济上的误判看起来有些不同。
我明白你想帮助这个人,但显然只是误解了他。
这种情况下的经济误判看起来有些不同。
你认为我写错了什么?请说明理由。
在我和你的例子中,极限是什么?
为什么不写 Bars() 而要写rates_total?
本质上rates_total 和Bars() 是 一样的,只是Bars() 是一个函数,所以调用它比读取rates_total 变量的值花费更多的执行时间。
你认为我写错了什么?请说明理由。
在我和你的例子中,循环的极限是什么?
哎呀))))))
我没看清楚
我完全没看清你写的是什么。
我向您道歉。