我想删掉前面几个标记,这里我用变量代替回溯的数值怎么有问题,直接输入数值345等,就是正确的。这里面的回溯参数不能用变量代替吗;我希望实现的功能就是之前标记了一些数值,达到一定条件的情况下, 把前面一个区间的标记给删掉。unplot函数用的时候一样也有这个问题,但是用close【backnum】是正常的,commentary出来的backnum数值也是没有问题的,是不是变量不能在这里替代,用这个函数该如何实现呢,需要用其他的逻辑来实现吗。
你这部分完整代码有吗?
这种问题要加载了看
Params
//此处添加参数
Vars
//此处添加变量
Series<Numeric> up_count;
Series<Numeric> dw_count;
Series<bool> up;
Series<bool> dw;
plot plt3;//up:
plot plt4;//dw:
Defs
//此处添加公式函数
Events
//此处实现事件函数
//初始化事件函数,策略运行期间,首先运行且只有一次
OnInit()
{
plt1.setOption(\"stoploss_sell\",\"line-type\",Enum_Dash_Dot);
plt2.setOption(\"stoploss_buy\",\"line-type\",Enum_Dash);
plt3.setOption(\"up:\",\"color\",Red);
plt4.setOption(\"up:\",\"color\",Green);
}
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
up = close>Close[4];
dw = close<Close[4];
upp = close>Close[2];
dww = close<Close[2];
Numeric barnum_up;
Numeric barnum_dw;
if(up)
{
up_count = up_count[1]+1;
//dww_count = 0;
}
Else
{
up_count = 0;
}
if(up_count > 0 and up_count<=9)
{
Plt3.text(\"up:\",High*1.01,Text(up_count));
}
if(up_count > 9)
{
Plt3.text(\"up:\",High*1.01,Text(mod(up_count,9)));
}
if(up_count == 0 and up_count[1]>0 )
{
//Numeric i;
Numeric backnum_up;
backnum_up = up_count[1];
Commentary(\"backnum_up:\"+Text(backnum_up));
plt3.clear(\"up:\",date[backnum_up]+time[backnum_up],date+time);
}
if(dw)
{
dw_count = dw_count[1]+1;
//upp_count = 0;
}
Else
{
dw_count = 0;
}
if(dw_count > 0 and dw_count<=9)
{
Plt4.text(\"dw:\",low*0.99,Text(dw_count));
}
if(dw_count > 9)
{
Plt4.text(\"dw:\",low*0.99,Text(mod(dw_count,9)));
}
if(dw_count == 0 and dw_count[1]>0 )
{
//Numeric i;
Numeric backnum_dw;
backnum_dw = dw_count[1];
Commentary(\"backnum_dw:\"+Text(backnum_dw));
plt4.clear(\"dw:\",date[backnum_dw]+time[backnum_dw],date+time);
}
}