MACD Golden Cross Breakout dengan 200 Hari Moving Average Trend Mengikuti Strategi

Penulis:ChaoZhang, Tanggal: 2023-12-13 16:13:33
Tag:

img

Gambaran umum

Strategi ini menggabungkan indikator MACD untuk mengidentifikasi tren jangka pendek dan rata-rata bergerak 200 hari untuk menentukan tren jangka panjang. Ketika MACD golden cross terjadi dan berjalan pada tingkat rendah, jika harga menembus rata-rata bergerak 200 hari, posisi panjang didirikan dengan stop loss. Strategi ini terutama memanfaatkan hubungan antara indikator MACD's golden cross dan death cross dan rata-rata bergerak 200 hari untuk mengidentifikasi peluang potensial.

Logika Strategi

Strategi ini terutama didasarkan pada indikator MACD dan rata-rata bergerak 200 hari untuk penilaian, logika spesifiknya adalah:

  1. Hitung garis cepat, garis lambat dan garis MACD dari indikator MACD. Parameter garis cepat adalah 12 hari, parameter garis lambat adalah 26 hari, dan parameter garis sinyal adalah 9 hari.

  2. Menghitung 200 hari Exponential Moving Average (EMA).

  3. Ketika garis cepat MACD melintasi garis lambat (salib emas), garis MACD negatif (berjalan pada tingkat rendah), dan harga penutupan berada di atas garis 200 hari, pergi panjang.

  4. Setelah masuk ke posisi, atur harga stop loss menjadi 0,5% dari harga masuk, dan harga target menjadi 1% dari harga masuk.

  5. Jika harga menyentuh harga stop loss atau target, keluar dari posisi dengan stop loss atau mengambil keuntungan.

  6. Kewajiban rata sebelum penutupan setiap hari pukul 15:15.

  7. Jam perdagangan ditetapkan antara jam 9:00 dan 15:15 setiap hari.

Dengan menilai arah tren jangka pendek dan momentum dengan indikator MACD dan menentukan arah tren jangka panjang dengan rata-rata bergerak 200 hari, tren setelah operasi dapat direalisasikan. Stop loss diatur lebih kecil dan harga target lebih besar untuk memaksimalkan keuntungan.

Keuntungan dari Strategi

Strategi ini memiliki keuntungan berikut:

  1. Menggabungkan beberapa indikator membuat penilaian sinyal lebih akurat. MACD menilai tren jangka pendek dan momentum, sementara MA 200 hari menilai arah tren utama.

  2. Jangkauan stop loss kecil dapat menahan penarikan tertentu. stop loss hanya 0,5%, yang kondusif untuk melacak tren jangka menengah.

  3. Target keuntungan yang lebih tinggi memungkinkan ruang keuntungan yang lebih besar. Targetnya adalah 1% dari harga masuk, memenuhi maksimalisasi keuntungan strategi tren.

  4. Pemberhentian harian yang wajib membantu menghindari risiko turun naik harga yang besar dalam semalam.

  5. Logika strategi sederhana dan jelas, mudah dimengerti dan direplikasi, cocok untuk pemula untuk belajar.

Risiko dari Strategi

Strategi ini juga memiliki beberapa risiko:

  1. Risiko kelelahan. Harga dapat berbalik ke bawah setelah kenaikan tajam, tidak dapat menghentikan kerugian tepat waktu dan menyebabkan kerugian besar. Stop loss trailer dapat digunakan untuk menyesuaikan harga stop loss secara real time.

  2. Risiko kegagalan penentuan tren. MACD dan moving average dapat memberikan sinyal yang salah, mengakibatkan kerugian di pasar non-trend. Pertimbangkan untuk menggabungkan indikator volume perdagangan untuk penyaringan, untuk memastikan masuk hanya selama tahap akselerasi tren.

  3. Risiko fluktuasi overnight masih ada meskipun mekanisme unwind harian. Hal ini mengharuskan pedagang untuk menahan tingkat risiko tertentu sambil mengendalikan ukuran posisi secara keseluruhan.

Arahan Optimasi

Strategi ini juga dapat dioptimalkan dalam aspek berikut:

  1. Gabungkan indikator volume perdagangan untuk menentukan tren nyata, hindari masuk secara salah selama konsolidasi yang berbelit-belit.

  2. Tetapkan mekanisme stop loss yang dinamis. Terus-menerus menyesuaikan harga stop loss setelah masuk berdasarkan pergerakan harga, untuk mengejar lebih banyak keuntungan.

  3. Mengoptimalkan kombinasi parameter MACD dan efektivitas tes di berbagai pasar.

  4. Uji rata-rata bergerak lainnya, seperti garis 100 hari dan 150 hari, untuk melihat mana yang lebih sesuai dengan tren.

  5. Menambahkan mekanisme re-entry. setiap hari keluar paksa mungkin melewatkan tren berikutnya, sehingga sinyal re-entry dapat memungkinkan posisi menahan hari berikutnya.

Kesimpulan

Singkatnya, strategi ini mengintegrasikan MACD dan MA 200 hari untuk penilaian sinyal. Ini memasuki tren secara bersyarat ketika indikator jangka pendek memberikan sinyal berkelanjutan, dengan mekanisme stop loss dan take profit. Pemberhentian harian wajib juga mengontrol risiko semalam. Logika sederhana untuk pemula untuk beroperasi dan mengintegrasikan ke dalam strategi lain. Tetapi ada juga risiko kegagalan penentuan tren dan risiko kelelahan. Langkah selanjutnya dapat mengoptimalkan aspek seperti metode stop loss, parameter, filter volume perdagangan dll untuk meningkatkan faktor keuntungan secara keseluruhan.


/*backtest
start: 2023-11-12 00:00:00
end: 2023-12-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("MACD and 200 EMA Long Strategy", shorttitle="MACD200EMALong", overlay=true)

// Input parameters
fastLength = input(12, title="Fast Length")
slowLength = input(26, title="Slow Length")
signalLength = input(9, title="Signal Length")
ema200Length = input(200, title="200 EMA Length")
stopLossPercentage = input(0.5, title="Stop Loss Percentage")
targetPercentage = input(1, title="Target Percentage")

// Trading session
startHour = input(09, title="Start Hour", minval=0, maxval=23)
startMinute = input(00, title="Start Minute", minval=0, maxval=59)
endHour = input(15, title="End Hour", minval=0, maxval=23)
endMinute = input(15, title="End Minute", minval=0, maxval=59)

// Calculate MACD
[macdLine, signalLine, _] = macd(close, fastLength, slowLength, signalLength)

// Calculate 200-period EMA
ema200 = ema(close, ema200Length)

// Conditions for entering a long position
longCondition = crossover(macdLine, signalLine) and macdLine < 0 and close > ema200 and hour < 13

// Calculate stop loss and target levels only once at the entry
var float stopLossLevel = na
var float targetLevel = na

if (longCondition)
    stopLossLevel := close * (1 + stopLossPercentage / 100)


    targetLevel := close * (1 + targetPercentage / 100)

// Trading session condition
intradayCondition = true

// Strategy logic
strategy.entry("Long", strategy.long, when=longCondition and intradayCondition)
strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=stopLossLevel, profit=targetLevel)

// Force exit if the current close is below the stop loss level
if (not na(stopLossLevel) and close < stopLossLevel)
    strategy.close("Long")

// Exit the trade if the current close is greater than or equal to the target level
if (not na(targetLevel) and close >= targetLevel)
    strategy.close("Long")

// Manually force exit at 3:15 PM
if (hour == 15 and minute == 15)
    strategy.close("Long")

// Plotting the EMA, target, and stop loss on the chart
plot(ema200, color=color.blue, title="200 EMA")
plot(stopLossLevel, color=color.red, title="Stop Loss", linewidth=2)
plot(targetLevel, color=color.green, title="Target", linewidth=2)

// Plot entry arrow
plotshape(series=longCondition and intradayCondition, title="Long Entry", color=color.green, style=shape.triangleup, location=location.belowbar)


Lebih banyak