Golden Cross Death Cross Strategi Perdagangan Rata-rata Bergerak

Penulis:ChaoZhang, Tanggal: 2023-10-30 14:42:09
Tag:

img

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:

  1. Mendefinisikan tiga MA - MA jangka pendek, MA jangka panjang dan MA tren.

  2. 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.

  3. Periksa apakah kedua MA pendek dan panjang berada di atas MA tren. Jika tidak, sinyal disaring untuk menghindari perdagangan melawan tren.

  4. Atur stop loss dan ambil keuntungan sebagai persentase dari harga masuk.

  5. Gambarkan titik penyeberangan MA untuk memvisualisasikan sinyal masuk.

Keuntungan:

  1. Logika strategi yang sederhana dan intuitif, mudah dipahami dan diimplementasikan.

  2. Dapat secara efektif menangkap tren jangka menengah dan perdagangan dengan momentum.

  3. Menyaring dengan tren MA menghindari perdagangan melawan tren.

  4. Periode MA dapat disesuaikan dengan kondisi pasar yang berbeda.

  5. Stop loss yang dapat disesuaikan dan mengambil keuntungan untuk mengendalikan risiko.

Risiko:

  1. Gerakan volatile yang tajam dapat memicu stop loss.

  2. Kerugian yang lebih besar ketika tren berbalik.

  3. Penyesuaian parameter yang tidak tepat dapat menyebabkan overtrading atau kehilangan peluang.

  4. Biaya transaksi harus dipertimbangkan.

Peningkatan:

  1. Tambahkan filter volatilitas seperti ATR untuk menghindari sinyal palsu.

  2. Gunakan pembelajaran mesin untuk mengoptimalkan parameter secara dinamis.

  3. Tambahkan lebih banyak indikator seperti MACD untuk menentukan tren.

  4. Mengimplementasikan stop loss untuk mengunci keuntungan.

  5. 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)


Lebih banyak