Idea utama strategi ini adalah untuk menilai trend harga dan menjana isyarat dagangan menggunakan purata bergerak dan Bollinger Bands. Secara khusus, ia mula-mula mengira julat sebenar purata (ATR) dalam tempoh tertentu untuk mendapatkan julat turun naik, kemudian menggabungkan harga tertinggi dan terendah untuk membentuk saluran terhad. Jika harga menembusi saluran ini, harga penutupan ditetapkan sebagai harga saluran. Selepas itu, ia mengira purata bergerak harga penutupan terhad, yang dipanggil purata bergerak Trend Trader (AVR). Akhirnya, lukis Bollinger Bands di atas dan di bawah purata bergerak Trend Trader untuk membentuk isyarat dagangan.
Strategi ini mula-mula mengira julat ATR dan membentuk saluran yang mengehadkan digabungkan dengan harga tertinggi dan terendah. Harga penutupan akan terhad kepada harga saluran hanya apabila ia memecahkan saluran. Selepas itu, ia mengira trend trader moving average dari harga penutupan terhad, yang mencerminkan arah trend pertengahan jangka panjang. Akhirnya, lukis band atas dan band bawah sejajar dengan trend trader moving average sebagai band Bollinger. Menembusi band atas menghasilkan isyarat panjang dan menembusi band bawah menghasilkan isyarat pendek.
Inti menilai trend terletak pada trend trader moving average, yang mewujudkan arah trend jangka menengah dan panjang. peranan Bollinger band adalah untuk menapis beberapa breakout palsu dan membuat isyarat perdagangan lebih boleh dipercayai. keseluruhan strategi menggabungkan trend berikut dan breakout, membentuk sistem trend yang kuat.
Penyelesaian:
Strategi ini secara keseluruhan adalah sistem trend berikut yang kuat. Ia boleh menilai trend jangka menengah dan panjang dan menghasilkan isyarat perdagangan yang digabungkan dengan Bollinger band. Melalui pengoptimuman parameter, ia boleh mendapatkan alpha yang stabil. Tetapi kawalan risiko juga penting untuk mengelakkan kerugian besar akibat beberapa peristiwa mendadak apabila memegang untuk jangka panjang. Secara umum, strategi layak penyelidikan lanjut dan pengoptimuman untuk alpha yang mampan jangka panjang.
/*backtest start: 2022-12-04 00:00:00 end: 2023-12-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 16/10/2018 // This is plots the indicator developed by Andrew Abraham // in the Trading the Trend article of TASC September 1998 // It was modified, result values wass averages. // And draw two bands above and below TT line. //////////////////////////////////////////////////////////// strategy(title="Trend Trader Bands Backtest", overlay = true) Length = input(21, minval=1), LengthMA = input(21, minval=1), BandStep = input(20), Multiplier = input(3, minval=1) reverse = input(false, title="Trade reverse") avgTR = wma(atr(1), Length) highestC = highest(Length) lowestC = lowest(Length) hiLimit = highestC[1]-(avgTR[1] * Multiplier) loLimit = lowestC[1]+(avgTR[1] * Multiplier) ret = 0.0 ret := iff(close > hiLimit and close > loLimit, hiLimit, iff(close < loLimit and close < hiLimit, loLimit, nz(ret[1], 0))) nResMA = ema(ret, LengthMA) pos = 0.0 pos := iff(close < nResMA - BandStep , -1, iff(close > nResMA + BandStep, 1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) barcolor(pos == -1 ? red: pos == 1 ? green : blue ) plot(nResMA, color= blue , title="Trend Trader AVR") plot(nResMA+BandStep, color= red , title="Trend Trader UpBand") plot(nResMA-BandStep, color= green, title="Trend Trader DnBand")