Strategi ini adalah strategi trend-mengikuti berdasarkan rata-rata bergerak. Ini menggunakan crossover dan crossunder rata-rata bergerak cepat dan lambat untuk menentukan arah tren untuk perdagangan tren berisiko rendah.
Strategi ini menggunakan rata-rata bergerak cepat periode 9 dan rata-rata bergerak lambat periode 21. Ketika MA cepat melintasi di atas MA lambat, itu menandakan tren naik di pasar dan posisi panjang diambil. Ketika MA cepat melintasi di bawah MA lambat, itu menandakan tren menurun dan posisi panjang ditutup.
Secara khusus, strategi menghitung nilai MA cepat dan lambat dan membandingkan hubungan mereka untuk menentukan arah tren. Dalam tren naik, jika MA cepat melintasi di atas MA lambat, sinyal masuk panjang dipicu. Dalam tren menurun, jika MA cepat melintasi di bawah MA lambat, sinyal keluar dipicu untuk menutup posisi panjang yang ada.
Dengan cara ini, crossover dan crossunder dari MAs cepat dan lambat menangkap transisi tren untuk tren berisiko rendah setelah perdagangan.
Risiko dapat dikelola dengan menyesuaikan parameter, menambahkan filter, stop loss/take profit.
Sebagai strategi tren yang sederhana, ide utamanya adalah menggunakan MA cepat dan lambat untuk menentukan arah tren. Keuntungannya adalah kesederhanaan, aturan yang jelas, dan pelacakan tren yang efektif. Kelemahannya adalah lag, sinyal palsu, dan perdagangan yang berlebihan. Kita dapat mengoptimalkannya dengan menyesuaikan parameter dan menambahkan indikator lain untuk lebih beradaptasi dengan kondisi pasar. Secara keseluruhan, strategi MA ganda memberikan pendekatan yang sederhana dan andal untuk perdagangan kuantitatif. Dengan perbaikan berkelanjutan, kinerjanya dapat menjadi lebih baik lagi.
/*backtest start: 2023-09-01 00:00:00 end: 2023-09-20 23:59:59 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Profitable Crypto Strategy", shorttitle="Profit Strategy", overlay=true) // Define strategy parameters fastLength = input.int(9, title="Fast MA Length", minval=1) slowLength = input.int(21, title="Slow MA Length", minval=1) stopLossPercent = input.float(1.0, title="Stop Loss %", step=0.1) takeProfitPercent = input.float(1.0, title="Take Profit %", step=0.1) // Calculate moving averages fastMA = ta.sma(close, fastLength) slowMA = ta.sma(close, slowLength) // Entry condition: Buy when fast MA crosses above slow MA longCondition = ta.crossover(fastMA, slowMA) // Exit condition: Sell when fast MA crosses below slow MA shortCondition = ta.crossunder(fastMA, slowMA) // Plot moving averages on the chart plot(fastMA, color=color.blue, title="Fast MA") plot(slowMA, color=color.orange, title="Slow MA") // Strategy entry and exit logic var stopLossPrice = 0.0 var takeProfitPrice = 0.0 if (longCondition) stopLossPrice := close * (1.0 - stopLossPercent / 100) takeProfitPrice := close * (1.0 + takeProfitPercent / 100) strategy.entry("Long", strategy.long) if (shortCondition) strategy.close("Long") // Set stop loss and take profit for open positions strategy.exit("Stop Loss/Profit", stop=stopLossPrice, limit=takeProfitPrice)