VARIABLE: OO:=0, HH:=0, LL:=0;
// 趋势过滤器
TREND_UP := CLOSE > EMA(CLOSE, 50);
TREND_DOWN := CLOSE < EMA(CLOSE, 50);
TR : =MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));//求最高价减去最低价,一个周期前的收盘价减去最高价的绝对值,一个周期前的收盘价减去最低价的绝对值,这三个值中的最大值
ATR := MA(TR,14);//求N个周期内的TR的简单移动平均
// 波动率过滤器
HIGH_VOLATILITY := ATR > 10;
IF TIME = 90000 THEN BEGIN
OO := O;
HH := O + 2;
LL := O - 2;
END
IF H > HH AND TIME > 90000 AND TREND_UP AND HIGH_VOLATILITY THEN BEGIN
LL := LL + (H - HH);
HH := H;
1,BPK; // 买入信号
END
IF L < LL AND TIME > 90000 AND TREND_DOWN AND HIGH_VOLATILITY THEN BEGIN
HH := HH - (LL - L);
LL := L;
1,SPK; // 卖出信号
END
// 止损和止盈
STOPLOSS := 2 * ATR;
TAKEPROFIT := 4 * ATR;
// 绘制
HH, COLORRED;
LL, COLORGREEN;
VERTLINE(TIME = 90000, COLORYELLOW);
AUTOFILTER;