Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Numeric KVOL(0);
Vars
//此处添加变量
Series<Numeric> MACDDiff;
Series<Numeric> MACDDEA;
Series<Numeric> MACDValue;
Series<Numeric> ATR;
Series<Numeric> HH;
Series<Numeric> LL;
Series<Numeric> WHH;
Series<Numeric> WHHH;
Series<Numeric> AHH;
Series<Numeric> BHH;
Series<Numeric> WLL;
Series<Numeric> WLLL;
Defs
//此处添加公式函数
Events
//此处实现事件函数
//初始化事件函数,策略运行期间,首先运行且只有一次
OnInit()
{
}
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
ATR=AvgTrueRange(26); //真实波幅ATR
MACDDiff = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ; //快线 DIFF
MACDDEA = XAverage(MACDDiff,MACDLength); //慢线 DEA
MACDValue = MACDDiff - MACDDEA; // MACD
if(CrossOver(MACDDiff,MACDDEA)) //条件:当MACD快线上穿慢线
{
WHH=High; //取最高值
LL=WLL[1];
//
}Else
{
WHH=Max(WHH,High); //
}
if(CrossUnder(MACDDiff,MACDDEA))
{
WLL=Low;
HH=WHH[1];
WHHH = WHH;
}Else
{
WLL=Min(WLL,Low);
}
PlotNumeric("WHHH",WHHH);
if(CrossOver(Close,WHHH))
{
AHH = WHHH+30;
}
if(CrossOver(Close,AHH))
{
BHH = AHH+30;
}
PlotNumeric("WHHH",WHHH);
PlotNumeric("AHH",AHH);
PlotNumeric("BHH",BHH);
}
请教:当close上穿BHH时 又增加一条线:BHH+30,如此类推无限循环应该怎么写?????????
设置好上限
for i=0 to B
B就是循环结束的条件
while同理