[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 389

 

下午好,我正试图计算 一小时内看涨和看跌的分钟蜡烛的数量

如果(iTime(NULL,60,1)!=TS)
{
int TotalBars = 59; // 要搜索的烛台总数
int Vupbars;
int Vdnbars;
int V=iVolume(NULL,IndPeriod,1);
for(int p=0; p<TotalBars; p++)
{
if(Close[1]>Open[1]) Vupbars=Vupbars+iVolume(NULL,0,1); else
if(Close[1]<Open[1]) Vdnbars=Vdnbars+iVolume(NULL, 0, 1);
}
}
TS=iTime(NULL,60,1)。

怎么了,为什么不工作了?

 
Stells:

下午,试图计算一小时内看涨和看跌的分钟蜡烛的数量。

如果(iTime(NULL,60,1)!=TS)
{
int TotalBars = 59; // 要搜索的烛台总数
int Vupbars;
int Vdnbars;
int V=iVolume(NULL,IndPeriod,1)。
for(int p=0; p<TotalBars; p++)
{
if(Close[1]>Open[1]) Vupbars=Vupbars+iVolume(NULL,0,1); else
if(Close[1]<Open[1]) Vdnbars=Vdnbars+iVolume(NULL,0,1);
}
}
TS=iTime(NULL,60,1)。

什么是错的,为什么它不工作?

一直在检查第一支蜡烛
 

如果(iTime(NULL,60,1)!=TS)
{
int TotalBars = 59; // 要搜索的烛台总数
int Vupbars;
int Vdnbars;
int V=iVolume(NULL,60,1);
for(int p=0; p<TotalBars; p++)
{
if(Close[p]>Open[p]) Vupbars=Vupbars+iVolume(NULL,0,p); else
if(Close[p]<Open[p]) Vdnbars=Vdnbars+iVolume(NULL,0,p);
}
}
TS=iTime(NULL,60,1)。

这可以工作,但Vupbars和Vdnbars的值会闪烁和重置 -- 这个我已经删除了,第二个还没有?

而且它们的总和也不等于V,为什么?

 
Stells:

而且它们的总和也不等于V,为什么?

因为你在比较59根最后一分钟的蜡烛(包括刚刚开始的那根)和最后收盘的一小时蜡烛的成交量。

 

不,这些数字在数量级上并不匹配。

例如,手表的体积为40。

分数之和为320

 
dkfl.zrjdktdbx:

在我看来,是这样的


不,不是这样的,他们从来都是平等的。而事实上,由于某些原因,我有一个视觉信号一明显低于主信号,比如说,但数值却说不是。我不明白,有什么诀窍?
 
Stells:

不,这些数字与我们不在一个数量级上。

例如,手表的体积为40。

分钟的总和是320

你是把指示器扔在M1上吗?

在插入时给出完整的代码并使用SRC按钮

 
ilunga:

你在M1上扔了一个指示器吗?

给出完整的代码,并在插入时使用SRC按钮


它是一个顾问

关于M1

 
Stells:


这是个EA

关于M1

在任何情况下,请给出更多的代码--例如,在Vupbars和VDNbars被使用的地方,你发现它们被归零了

而且最好是在循环之前将其归零。

int Vupbars = 0;
int Vdnbars = 0;

 

我已经这么做了。

int Vupbars; - 这将被放入体积变量
int Vdnbars; - 这将被放入体积变量。

int V=iVolume(NULL,60,1)。

如果(iTime(NULL,60,1)!=TS)
{
int TotalBars = 61; // 要搜索的烛台总数
Vupbars=0;
Vdnbars=0;

for(int p=1; p<TotalBars; p++)
{
if(Close[p]>Open[p]) Vupbars=Vupbars+iVolume(NULL,0,p); else
if(Close[p]<Open[p]) Vdnbars=Vdnbars+iVolume(NULL,0,p);
}
}
TS=iTime(NULL,60,1)。