OnBar(ArrayRef<Integer> indexs)
{
print("-----------");
for i = 0 to GetArraySize(mysymbol)-1
{
data[i].condition2=CurrentBarIndex-timerecord1[i]>coolDownPeriod;
if (data[i].condition2)
{
temp0=1;
}
Else
{
temp0=0;
}
if (data[i].condition2);
{
//print(DateTimeToString(date + time)+data[i].SymbolName+text(data[i].close));
timerecord1[i]=CurrentBarIndex;
print("好运来");
print("data[i].condition2:"+text(temp0));
}
}
}
这是怎么回事呢?运行机制我有理解的偏差吗?
我前面订阅了100个股票,明明条件语句condition2是false,怎么if条件下面的代码还是执行了呢?
求解答!请技术老师帮帮忙^_^
OnBar(ArrayRef<Integer> indexs)
{
print("-----------");
for i = 0 to GetArraySize(mysymbol)-1
{
data[i].condition2=CurrentBarIndex-timerecord1[i]>coolDownPeriod;
if (data[i].condition2)
{
temp0=1;
if (data[i].condition2);
{
timerecord1[i]=CurrentBarIndex;
print("好运来");
print("data[i].condition2:"+text(temp0));
}
}
Else
{
temp0=0;
}
if (data[i].condition2);
{
timerecord1[i]=CurrentBarIndex;
print("逻辑错误");
print("data[i].condition2:"+text(temp0));
}
}
}
这样写,会有如下输出:
同一个data[i].condition2,顺序执行,前面为false后面为ture?
if (data[i].condition2);
好像这里多了个分号,是这个原因吗
加了分号的意思就是该分支结构结束了,控制不了后面大括号的语句了
if (data[i].condition2)
{
temp0=1;
if (data[i].condition2);
{
timerecord1[i]=CurrentBarIndex;
print("好运来");
print("data[i].condition2:"+text(temp0));
}
}
Else
{
temp0=0;
}
我这样写,就没有输出,怎么回事?都是condition2?
if这一行后面加了分号,这一行等于白写