Strategi ini adalah pendekatan perdagangan kuantitatif yang menggabungkan pelbagai purata bergerak dengan isyarat silang osilator stokastik. Ia menggunakan purata bergerak jangka pendek, jangka sederhana, dan jangka panjang, bersama dengan ciri overbought / oversold dari osilator stokastik, untuk menangkap pembalikan trend pasaran dan peluang perdagangan melalui pengesahan isyarat berbilang. kekuatan teras strategi terletak pada penggunaan pelbagai penunjuk teknikal untuk pengesahan silang untuk meningkatkan kebolehpercayaan isyarat.
Strategi ini menggunakan lima purata bergerak (3 hari, 5 hari, 6 hari, 10 hari, dan 80 hari) dan Stochastic Oscillator. Isyarat perdagangan dipicu berdasarkan keadaan berikut:
Strategi ini menubuhkan sistem perdagangan yang komprehensif melalui gabungan pelbagai purata bergerak dan osilator stokastik. Kekuatannya terletak pada kebolehpercayaan isyarat dan kestabilan sistem, walaupun perlu memberi perhatian kepada kos dagangan dan kemampuan menyesuaikan diri dengan keadaan pasaran. Melalui pengoptimuman dan penyempurnaan yang berterusan, strategi ini menunjukkan janji untuk mencapai pulangan yang stabil dalam keadaan dagangan sebenar.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-10 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Moving Average and Stochastic Crossover Strategy", overlay=true) // Calculate the moving averages ma3 = ta.sma(close, 3) ma5 = ta.sma(close, 5) ma6 = ta.sma(close, 6) ma10 = ta.sma(close, 10) ma80 = ta.sma(close, 80) // Stochastic Oscillator with settings %K(15), %D(9), and slowing 9 k = ta.stoch(close, high, low, 15) d = ta.sma(k, 9) slow_d = ta.sma(d, 9) // Buy signal confirmation: MA10 crosses above MA5, MA6, and K line crosses above D line buySignalConfirmation = ta.crossover(ma10, ma5) and ta.crossover(ma10, ma6) and ta.crossover(k, d) // Sell signal confirmation: MA5 crosses above MA10, MA6, and D line crosses above K line sellSignalConfirmation = ta.crossunder(ma5, ma10) and ta.crossunder(ma5, ma6) and ta.crossunder(d, k) // Strategy logic if (buySignalConfirmation) strategy.entry("Buy", strategy.long) if (sellSignalConfirmation) strategy.entry("Sell", strategy.short) // Plot the moving averages and Stochastic Oscillator for visualization plot(ma3, color=color.orange, title="MA3", linewidth=2) plot(ma5, color=color.blue, title="MA5", linewidth=2) plot(ma6, color=color.purple, title="MA6", linewidth=2) plot(ma10, color=color.green, title="MA10", linewidth=2) plot(ma80, color=color.red, title="MA80", linewidth=2) plot(k, color=color.blue, title="%K", linewidth=2) plot(d, color=color.red, title="%D", linewidth=2) plot(slow_d, color=color.purple, title="Slow %D", linewidth=2)