Gambaran umum: Strategi ini mengimplementasikan perdagangan golden cross dan death cross berdasarkan tiga moving average dengan periode yang berbeda. Ia pergi panjang ketika MA periode pendek melintasi di atas MA periode panjang, dan pergi pendek ketika MA periode pendek melintasi di bawah MA periode panjang.
Logika Strategi:
Mendefinisikan tiga MA - MA jangka pendek, MA jangka panjang dan MA tren.
Sinyal beli dihasilkan ketika MA periode pendek melintasi di atas MA periode panjang. Sinyal jual dihasilkan ketika MA periode pendek melintasi di bawah MA periode panjang.
Periksa apakah kedua MA pendek dan panjang berada di atas MA tren. Jika tidak, sinyal disaring untuk menghindari perdagangan melawan tren.
Atur stop loss dan ambil keuntungan sebagai persentase dari harga masuk.
Gambarkan titik penyeberangan MA untuk memvisualisasikan sinyal masuk.
Keuntungan:
Logika strategi yang sederhana dan intuitif, mudah dipahami dan diimplementasikan.
Dapat secara efektif menangkap tren jangka menengah dan perdagangan dengan momentum.
Menyaring dengan tren MA menghindari perdagangan melawan tren.
Periode MA dapat disesuaikan dengan kondisi pasar yang berbeda.
Stop loss yang dapat disesuaikan dan mengambil keuntungan untuk mengendalikan risiko.
Risiko:
Gerakan volatile yang tajam dapat memicu stop loss.
Kerugian yang lebih besar ketika tren berbalik.
Penyesuaian parameter yang tidak tepat dapat menyebabkan overtrading atau kehilangan peluang.
Biaya transaksi harus dipertimbangkan.
Peningkatan:
Tambahkan filter volatilitas seperti ATR untuk menghindari sinyal palsu.
Gunakan pembelajaran mesin untuk mengoptimalkan parameter secara dinamis.
Tambahkan lebih banyak indikator seperti MACD untuk menentukan tren.
Mengimplementasikan stop loss untuk mengunci keuntungan.
Backtest untuk menemukan stop loss optimal dan mengambil tingkat keuntungan.
Kesimpulan:
Strategi ini menangkap tren secara efektif dengan logika yang jelas dan pelaksanaan yang mudah. Mengontrol risiko dengan filter tren, stop loss dan take profit. Penyesuaian parameter membutuhkan optimasi untuk kondisi pasar. Lebih banyak indikator dapat meningkatkan kinerja. Cocok untuk perdagangan tren jangka menengah. Berkinerja baik dalam backtest dan demo trading. Dalam perdagangan langsung, berhati-hatilah dengan risiko whipsaws dan risiko pembalikan tren. Secara keseluruhan memiliki nilai praktis.
/*backtest start: 2022-10-23 00:00:00 end: 2023-10-29 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("XAU M15", overlay=true) // Define input parameters long_length = input.int(64, title="Long MA Length") short_length = input.int(1, title="Short MA Length") trend_length = input.int(200, title="Trend MA Length") // Calculate moving averages long_ma = ta.sma(close, long_length) short_ma = ta.sma(close, short_length) trend_ma = ta.sma(close, trend_length) // Plot moving averages on chart plot(long_ma, color=color.blue, title="Long MA") plot(short_ma, color=color.red, title="Short MA") plot(trend_ma, color=color.green, title="Trend MA") // Entry conditions enterLong = ta.crossover(long_ma, short_ma) and long_ma > trend_ma and short_ma > trend_ma enterShort = ta.crossunder(long_ma, short_ma) and long_ma < trend_ma and short_ma < trend_ma if (enterLong) strategy.entry("Long", strategy.long) if (enterShort) strategy.entry("Short", strategy.short) // Exit conditions exitLong = ta.crossunder(long_ma, short_ma) exitShort = ta.crossover(long_ma, short_ma) if (exitLong) strategy.close("Long") if (exitShort) strategy.close("Short") // Set stop loss and take profit levels long_stop_loss_percentage = input(1, title="Long Stop Loss (%)") / 100 long_take_profit_percentage = input(3, title="Long Take Profit (%)") / 100 short_stop_loss_percentage = input(1, title="Short Stop Loss (%)") / 100 short_take_profit_percentage = input(3, title="Short Take Profit (%)") / 100 strategy.exit("Take Profit/Stop Loss", "Long", stop=close * (1 - long_stop_loss_percentage), limit=close * (1 + long_take_profit_percentage)) strategy.exit("Take Profit/Stop Loss", "Short", stop=close * (1 + short_stop_loss_percentage), limit=close * (1 - short_take_profit_percentage)) plotshape(series=enterLong, title="Buy Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.tiny) plotshape(series=enterShort, title="Sell Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)