double ATR_Max() { int i; 双M。 while( i < WindowBarsPerChart() - p ) { double a = iATR( NULL, 0, p, i ) 。 if ( m < a ) { m=a。 } i++; } Alert( " 可见条数的最大ATR值是- ", m )。 return(m)。 }
double ATR_Max() { int i; 双M。 while( i < WindowBarsPerChart() - p ) { double a = iATR( NULL, 0, p, i ) 。 if ( m < a ) { m=a。 } i++; } Alert( " 可见条数的最大ATR值是- ", m )。 return(m)。 }
我一定是在 while( i < WindowBarsChart() - p ) 中犯了一个错误。
最有可能的是,iATR( NULL, 0, p, i );函数计算了图表上所有条形的值,你可以,或者说应该
改为 while( i < WindowBarsChart())。我从未使用过iATR();我应该找个时间试试。
帮助我写一个函数,返回窗口中可见的条形图中的最大ATR值。我在互联网上搜索了一遍,没有找到类似的东西。
谢谢你。
帮助我写一个函数,以获得窗口中可见的条形图中的最大ATR值。我在互联网上搜索了一遍,没有找到类似的东西。
谢谢你。
/
外部int p = 4; // ATR周期
//------
int start()
{
int i;
双M。
while( i < WindowBarsPerChart() - p )
{
double a = iATR( NULL, 0, p, i ) 。
如果( m < a )
{
m=a。
}
i++;
}
警报( " 可见的条数 的最大ATR值是", m / Point ); //
/////
return(0);
}
Boeing747 谢谢你。我应该马上在这里写信。
因此,我的版本中的函数的最终变体看起来如下
double ATR_Max() {
int i;
双M。
while( i < WindowBarsPerChart() - p ) {
double a = iATR( NULL, 0, p, i ) 。
if ( m < a ) {
m=a。
}
i++;
}
Alert( " 可见条数的最大ATR值是- ", m )。
return(m)。
}
Boeing747 谢谢你。我应该马上把它写在这里。
因此,在我的版本中,函数的最终变体看起来是这样的
double ATR_Max() {
int i;
双M。
while( i < WindowBarsPerChart() - p ) {
double a = iATR( NULL, 0, p, i ) 。
if ( m < a ) {
m=a。
}
i++;
}
Alert( " 可见条数的最大ATR值是- ", m )。
return(m)。
}
我一定是在 while( i < WindowBarsChart() - p ) 中犯了一个错误。
最有可能的是,iATR( NULL, 0, p, i );函数计算了图表上所有条形的值,你可以,或者说应该
改为 while( i < WindowBarsChart())。我从未使用过iATR();我应该找个时间试试。
实际上,你可以不使用iATR()函数来编写你的函数,可以说是以纯粹的形式。
我一定是在 while( i < WindowBarsChart() - p ) 中犯了一个错误。
最有可能的是,iATR( NULL, 0, p, i );函数计算了图表上所有条形的值。
改为 while( i < WindowBarsChart())。我从来没有使用过iATR()函数,我应该找个时间试试。
基本上,我可以不使用iATR()来写你的函数,可以说是纯粹的形式。
我现在也想,这个时期和它没有关系。移除它可能会更好。
你不能通过一个数组来做吗?在一个数组中收集窗口中所有APR的值,然后用这个函数找到最大值--ArrayMaximum 我的知识恐怕不够用。
我现在一直在想,这个时期和它没有关系。移除它可能更好。
这不能通过一个数组来完成吗?在一个数组中收集窗口中所有APR的值,然后用这个函数找到最大值--ArrayMaximum 恐怕我的知识还不足以应付这个问题。
是的,可以在一个循环中滚动iATR();,用它来给数组评分,然后用ArrayMaximum来提取ATR的最大值。但同样的,它变成了特别使用循环来给数组评分,就像在第一个变体中一样。你不需要任何特殊知识。 你可以在教科书或参考书中找到关于ArrayMaximum的详细描述。
谢谢你,我明天会试着检查。还有一个问题,我怎样才能在这个函数中节省测试人员的资源,以便在一个新的条形图出现后计算最大值,而不是在每一个刻度线上 计算?
谢谢你,我明天会尝试检查操作。还有一个问题,我如何在这个函数中保存测试者的资源,以便在一个新的条形图出现后计算最大值,而不是在每一个刻度线上计算?
你可以先试试这种方式
在全球范围内宣布t
并在循环中写入
如果( t != Time[0])
{
t = 时间[0]。
//计算ATRmax的循环
}
这样一来,循环中的计算将在一个新条形 的开口处进行一次。
Boeing747, dr.Vasgenich, 伙计们,你们不能使用 "SRC "按钮吗,或者你们能接受吗?
Boeing747, dr.Vasgenich, 伙计们,你们不能使用 "SRC "按钮吗,或者你们能接受吗?