Strategi ini menggabungkan purata bergerak mudah (SMA) dan garis trend regresi linear bergulir. Ia menetapkan syarat masuk panjang apabila harga penutupan berada di atas kedua-dua SMA dan garis trend, dan keadaan keluar apabila harga penutupan berada di bawah mereka. Strategi ini terutamanya menggunakan SMA sebagai isyarat perdagangan dan garis trend bergulir untuk sokongan saluran. Ia memasuki perdagangan apabila pecah saluran menaik dan keluar apabila pecah saluran ke bawah.
Komponen utama strategi ini termasuk:
SMA: Purata bergerak mudah, mengira harga penutupan purata dalam tempoh (smaPeriod) sebagai garis isyarat.
Rolling Trendline: Memasang garis regresi linear terbaik di atas tetingkap (tetingkap) sebagai isyarat trend. Dihitung dengan kaedah Kuadrat Kecil Biasa.
Syarat kemasukan: Pergi panjang apabila harga tutup > SMA dan trendline.
Keadaan keluar: Penutupan kedudukan apabila harga penutupan < SMA dan trendline.
Oleh itu, strategi ini terutamanya bergantung kepada gangguan isyarat SMA untuk masuk, dan gangguan saluran untuk keluar.
Strategi ini mengintegrasikan penapis ganda MA dan trendline, yang dapat mengurangkan perdagangan pecah palsu dengan berkesan. Sementara itu, trendline bergulir memberikan sokongan saluran yang lebih tepat untuk keputusan yang boleh dipercayai. Kelebihan utama termasuk:
Terdapat juga beberapa risiko strategi ini:
Beberapa arah optimum untuk risiko ini:
Strategi ini boleh dioptimumkan dalam aspek berikut:
Tambah fungsi pelarasan dinamik untuk tempoh SMA, parameter slippage berdasarkan rejimen pasaran.
Membangunkan mekanisme stop loss yang elastik. Tetapkan stop loss apabila harga memecahkan trendline pada nisbah.
Tambah penapis dari penunjuk lain seperti Volume, RSI untuk meningkatkan ketepatan keputusan.
Berjaya untuk berdagang lama apabila harga mendekati paras terendah dan memecahkan saluran ke bawah.
Strategi ini mengintegrasikan isyarat dagangan dari purata bergerak dan sokongan saluran dari garis trend bergulir untuk melaksanakan operasi trend berikut. Penapis berganda mengurangkan kebarangkalian pecah palsu dan meningkatkan kualiti keputusan. Ia mempunyai tetapan parameter yang mudah dan logik yang jelas, yang mudah dilaksanakan dan dioptimumkan. Ringkasnya, strategi ini membentuk sistem perdagangan pecah trend yang boleh dipercayai, mudah dan intuitif.
/*backtest start: 2024-01-04 00:00:00 end: 2024-02-03 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("SMA Strategy with Rolling Trendline", overlay=true) // Input parameters smaPeriod = input(14, title="SMA Period") window = input(20, title="Trendline Window") startDate = input(timestamp("2023-01-01"), title="Start Date") endDate = input(timestamp("2023-12-31"), title="End Date") // Calculating SMA sma = sma(close, smaPeriod) // Function to calculate linear regression trendline for a window linreg_trendline(window) => sumX = 0.0 sumY = 0.0 sumXY = 0.0 sumX2 = 0.0 for i = 0 to window - 1 sumX := sumX + i sumY := sumY + close[i] sumXY := sumXY + i * close[i] sumX2 := sumX2 + i * i slope = (window * sumXY - sumX * sumY) / (window * sumX2 - sumX * sumX) intercept = (sumY - slope * sumX) / window slope * (window - 1) + intercept // Calculating the trendline trendline = linreg_trendline(window) // Entry and Exit Conditions longCondition = close > sma and close < trendline exitLongCondition = close < sma and close > trendline // Strategy logic if (true) if (longCondition) strategy.entry("Long", strategy.long) if (exitLongCondition) strategy.close("Long") // Plotting plot(sma, title="Simple Moving Average", color=color.blue) plot(trendline, title="Rolling Trendline", color=color.red) plotshape(series=longCondition, title="Enter Trade", location=location.belowbar, color=color.green, style=shape.triangleup) plotshape(series=exitLongCondition, title="Exit Trade", location=location.abovebar, color=color.red, style=shape.triangledown)