Strategi ini mengira purata bergerak dari tempoh yang berbeza, menetapkan titik stop-loss dan mengambil keuntungan untuk melaksanakan perdagangan automatik. Ia pergi panjang apabila purata bergerak jangka pendek melintasi di atas purata bergerak jangka panjang, dan pergi pendek apabila purata bergerak jangka pendek melintasi di bawah purata bergerak jangka panjang. Sementara itu, ia menetapkan titik stop-loss dan mengambil keuntungan untuk mengawal risiko.
Strategi ini berdasarkan prinsip persilangan purata bergerak. Ia mengira kedua-dua purata bergerak mudah 9 hari dan 55 hari secara serentak. Apabila MA 9 hari melintasi di atas MA 55 hari, ia menandakan bahawa trend jangka pendek telah berbalik ke atas, jadi pergi panjang. Apabila MA 9 hari melintasi di bawah MA 55 hari, ia menandakan bahawa trend jangka pendek telah berbalik ke bawah, jadi pergi pendek.
Sementara itu, strategi ini menggunakan penunjuk ATR untuk menetapkan titik stop-loss dan mengambil keuntungan. Penunjuk ATR boleh mengukur tahap turun naik harga di pasaran. Titik stop-loss ditetapkan pada harga penutupan dikurangkan nilai ATR, jadi ia boleh menetapkan stop-loss yang munasabah berdasarkan turun naik pasaran. Titik mengambil keuntungan menggunakan nisbah risiko-balasan, yang ditetapkan pada 2 di sini - ambil keuntungan = harga penutupan + 2 * nilai ATR.
Ini adalah strategi perdagangan jangka pendek yang sangat mudah dan praktikal dengan kelebihan berikut:
Terdapat juga beberapa risiko dengan strategi ini:
Risiko ini boleh dikurangkan dengan mengoptimumkan parameter, stop-loss yang ketat, dan saiz kedudukan yang munasabah.
Strategi ini boleh dioptimumkan lagi:
Logik keseluruhan strategi ini jelas dan mudah dilaksanakan, terutama sesuai untuk pemula untuk menguasai. Sebagai strategi perdagangan jangka pendek asas, ia mempunyai kelebihan operasi yang mudah dan pengoptimuman yang mudah. Apabila digabungkan dengan COMPLETE atau kerangka kerja lain, ia boleh ditingkatkan lagi untuk menjadi sistem perdagangan kuantitatif yang praktikal.
/*backtest start: 2022-12-14 00:00:00 end: 2023-12-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("MA Crossover Strategy with Stop-Loss and Take-Profit", overlay=true) // Input for selecting the length of the moving averages maShortLength = input(9, title="Short MA Length") maLongLength = input(55, title="Long MA Length") // Input for setting the risk-reward ratio riskRewardRatio = input(2, title="Risk-Reward Ratio") // Calculate moving averages maShort = ta.sma(close, maShortLength) maLong = ta.sma(close, maLongLength) // Buy condition: 9-period MA crosses above 55-period MA buyCondition = ta.crossover(maShort, maLong) // Sell condition: 9-period MA crosses below 55-period MA sellCondition = ta.crossunder(maShort, maLong) // Set stop-loss and take-profit levels atrValue = ta.atr(14) stopLossLevel = close - atrValue // Use ATR for stop-loss (adjust as needed) takeProfitLevel = close + riskRewardRatio * atrValue // Risk-reward ratio of 1:2 // Execute buy and sell orders with stop-loss and take-profit strategy.entry("Buy", strategy.long, when = buyCondition) strategy.exit("Sell", from_entry="Buy", loss=stopLossLevel, profit=takeProfitLevel) // Plot moving averages on the chart plot(maShort, color=color.blue, title="Short MA") plot(maLong, color=color.red, title="Long MA")