
麻烦问下, 我这样写为什么不输出呢?
//------------------------------------------------------------------------
// 简称: test_
//------------------------------------------------------------------------
Vars
Series <Numeric> prehigh; //
Series <Numeric> prelow; //
Series <Numeric> prehigh_bar; //
Series <Numeric> prelow_bar; //
Events
//此处实现事件函数
//初始化事件函数,策略运行期间,首先运行且只有一次,应用在订阅数据等操作
OnInit()
{
Range[0:DataCount-1]
{
//=========数据源相关设置==============
//AddDataFlag(Enum_Data_RolloverBackWard()); //设置后复权
//AddDataFlag(Enum_Data_RolloverRealPrice()); //设置映射真实价格
//AddDataFlag(Enum_Data_AutoSwapPosition()); //设置自动换仓
//AddDataFlag(Enum_Data_IgnoreSwapSignalCalc()); //设置忽略换仓信号计算
}
}
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
Range[0:DataCount-1]
{
Commentary("BarInterval="+text(BarInterval)) ;
Commentary("currentbar="+text(currentbar)) ;
//求高点
//=======================================================================================================================================
//Hsto_last_lowbar=highest(high[1],currentbar-last_lowbar) ;
//第一个高点
//--------------------------------------------------------------------------------------------
if(high[2]>=high[3] && high[2]>high[1] )
{
prehigh=high[2];
prehigh_bar=CurrentBar-2;
PlotAuto("HIGHX" , "高", HIGH[currentbar-2] , red , currentbar-2); //-0.5*ATR1s
}
//第一个高点
//--------------------------------------------------------------------------------------------
//求低点
//==============================================================================================================================
//Lsto_last_highbar=lowest(low[1],currentbar-last_highbar+1) ;
//第一个低点的寻找
//-----------------------------------------------------------------------------
if( low[2]<=low[3] && low[2]<low[1])
{
prelow=low[2];
prelow_bar=CurrentBar-2;
PlotAuto("LOWX","低", LOW[currentbar-2], GREEN , currentbar-2); //-0.5*ATR1s
}
//第一个低点的寻找
//-------------------------------------------------------------------------------
Commentary("=======high========") ;
//Commentary("新低计数="+text(count_lowbreak)) ;
//Commentary("prehigh_bar="+text(prehigh_bar)) ;
Commentary("prehigh="+text(prehigh)) ;
Commentary("==================") ;
Commentary("=======low========") ;
//Commentary("新高计数="+text(count_highbreak)) ;
//Commentary("prelow_bar="+text(prelow_bar)) ;
Commentary("prelow="+text(prelow)) ;
Commentary("==================") ;
//==================================================================================================================================
//==================================================================================================================================
}//range
}//onbar
//------------------------------------------------------------------------
// 编译版本 2025/03/14 232920
//------------------------------------------------------------------------发代码,不要发截图
发了

这不是画出来了么?
可是我这图上就么有呢? 什么也不输出,我检查了公式插入没错
我还试了重启电脑
你检查一下你图表里第三根bar
你是不是不知道你写的代码是什么意思所以误会了啊?
PlotAuto("HIGHX" , "高", HIGH[currentbar-2] , red , currentbar-2);
这句代码的意思是,往前回溯currentbar-2根k线,在这根k线的最高价,用红色写一个“高”。
如果你是图表第10根k线,那就是回溯10-2根,也就是回溯8根,那就是图表第二根bar,在第二根bar最高价写一个高
如果是图表第20根k线,回溯20-2,回溯18根,也是图表第二根bar,写高
也就是无论哪根bar满足条件,都在图表第二根bar写高
有点无语
为什么只有第三根bar有呢? 后面满足条件为什么不plot了呢?
误会了
谢谢老师