Sumber daya yang dimuat... Pemuatan...

Tren Crossover Multi-EMA Mengikuti Strategi

Penulis:ChaoZhang, Tanggal: 2024-01-04 16:22:07
Tag:

img

Gambaran umum

Multi-EMA Crossover Trend Following Strategy menggabungkan beberapa garis EMA dengan parameter yang berbeda untuk mengidentifikasi arah tren berdasarkan sinyal crossover, yang bertujuan untuk mengikuti tren di pasar.

Logika Strategi

Logika inti dari strategi ini didasarkan pada prinsip silang garis EMA. Di antara EMA, EMA jangka pendek lebih sensitif terhadap perubahan harga baru-baru ini dan dapat mencerminkan tren jangka pendek, sementara EMA jangka panjang kurang sensitif dan mewakili tren jangka panjang. Ketika EMA jangka pendek melintasi di atas EMA jangka panjang dari bawah, sebuah golden cross terbentuk, yang menunjukkan tren jangka pendek berubah menjadi bullish.

Strategi ini memantau 7 kelompok EMA crossover secara bersamaan, termasuk 12&26, 12&50, 12&100, 12&200, 12&89 dan 12&144 periode. Misalnya, ketika EMA 12 hari melintasi di atas EMA 26 hari, strategi akan membuka posisi panjang. Ini akan menutup posisi panjang ketika crossing kematian terjadi. Logika yang sama berlaku untuk pasangan EMA lainnya.

Analisis Keuntungan

Keuntungan terbesar dari strategi ini adalah kemampuan untuk menangkap tren di beberapa kerangka waktu. Dengan menggabungkan beberapa EMA, ia dapat mengidentifikasi tren jangka pendek dan jangka panjang, mewujudkan tren multi-kerangka waktu berikut. Selain itu, kinerja strategi dapat dioptimalkan dengan menyesuaikan parameter EMA.

Analisis Risiko

Risiko utama dari strategi ini adalah sinyal crossover yang terlalu sering ketika menggunakan beberapa EMA bersama-sama. Misalnya, crossover antara EMA 12 hari dan 26 hari terjadi lebih sering daripada antara garis 12 hari dan 200 hari. Masuk dan keluar yang sering dapat meningkatkan biaya perdagangan dan slippage. Juga, EMA memiliki sifat tertinggal, yang dapat menyebabkan sinyal perdagangan yang tidak tepat waktu.

Untuk mengurangi risiko, periode EMA dapat dioptimalkan untuk mengontrol frekuensi crossover pada tingkat yang tepat.

Arah Peningkatan

Ruang pengoptimalan utama terletak pada penyesuaian parameter EMA, seperti bereksperimen dengan lebih banyak kombinasi periode atau mencoba rata-rata bergerak lainnya seperti SMA. Filter tambahan juga dapat ditambahkan untuk meningkatkan kualitas sinyal, misalnya, indikator volume atau volatilitas. Selain itu, strategi stop loss dapat digunakan untuk mengurangi dampak turbulensi pasar.

Kesimpulan

Multi-EMA Crossover Trend Following Strategy mengidentifikasi arah tren dengan membandingkan situasi crossover di antara beberapa EMA, menangkap tren di seluruh kerangka waktu. Keuntungannya adalah fleksibilitas untuk menyesuaikan parameter dan menangkap tren di tingkat yang berbeda. Kekurangannya adalah sinyal yang berpotensi terlalu sering dan peningkatan biaya perdagangan. Peningkatan lebih lanjut dapat dicapai melalui optimasi parameter dan menambahkan kondisi tambahan.


/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("EMA Trades", overlay=true, pyramiding=4)

src = input(close, title="Source")

shortestLine = input(12, minval=1, title="Shortest Line")
shorterLine = input(26, minval=1, title="Shorter Line")
shortLine = input(50, minval=1, title="Short Line")
middleLine = input(100, minval=1, title="Middle Line")
longLine = input(200, minval=1, title="Long Line")
longerLine = input(89, minval=1, title="Longer Line")
longestLine = input(144, minval=1, title="Longest Line")

shortestLineOutput = ema(src, shortestLine)
shorterLineOutput = ema(src, shorterLine)
shortLineOutput = ema(src, shortLine)
middleLineOutput = ema(src, middleLine)
longLineOutput = ema(src, longLine)
longerLineOutput = ema(src, longerLine)
longestLineOutput = ema(src, longestLine)

//plot(shortestLineOutput, title="Shortest EMA", color=#ffffff)
//plot(shorterLineOutput, title="Shorter EMA", color=#e54fe6)
//plot(shortLineOutput, title="Short EMA", color=#4e6bc3)
//plot(middleLineOutput, title="Middle EMA", color=#1dd6d8)
//plot(longLineOutput, title="Long EMA", color=#d0de10)
//plot(longerLineOutput, title="Longer EMA", color=#ef6a1a)
//plot(longestLineOutput, title="Longest EMA", color=#ff0e0e)

longEnrtyCondition_1 = crossover(shortestLineOutput[1], shorterLineOutput[1]) and shortestLineOutput > shorterLineOutput
longEntryCondition_2 = crossover(shortestLineOutput[1], shortLineOutput[1]) and shortestLineOutput > shortLineOutput
longEnrtyCondition_3 = crossover(shortestLineOutput[1], middleLineOutput[1]) and shortestLineOutput > middleLineOutput
longEntryCondition_4 = crossover(shortestLineOutput[1], longLineOutput[1]) and shortestLineOutput > longLineOutput

shortEnrtyCondition_1 = crossunder(shortestLineOutput[1], shorterLineOutput[1]) and shortestLineOutput < shorterLineOutput
shortEntryCondition_2 = crossunder(shortestLineOutput[1], shortLineOutput[1]) and shortestLineOutput < shortLineOutput
shortEnrtyCondition_3 = crossunder(shortestLineOutput[1], middleLineOutput[1]) and shortestLineOutput < middleLineOutput
shortEntryCondition_4 = crossunder(shortestLineOutput[1], longLineOutput[1]) and shortestLineOutput < longLineOutput

if (longEnrtyCondition_1)
    strategy.entry("Buy1", strategy.long)
    strategy.exit("Sell1")

if (longEntryCondition_2)
    strategy.entry("Buy2", strategy.long)
    strategy.exit("Sell2")

if (longEnrtyCondition_3)
    strategy.entry("Buy3", strategy.long)
    strategy.exit("Sell3")

if (longEntryCondition_4)
    strategy.entry("Buy4", strategy.long)
    strategy.exit("Sell4")

if (shortEnrtyCondition_1)
    strategy.entry("Sell1", strategy.short)
    strategy.exit("Buy1")

if (shortEntryCondition_2)
    strategy.entry("Sell2", strategy.short)
    strategy.exit("Buy2")

if (shortEnrtyCondition_3)
    strategy.entry("Sell3", strategy.short)
    strategy.exit("Buy3")

if (shortEntryCondition_4)
    strategy.entry("Sell4", strategy.short)
    strategy.exit("Buy4")

Lebih banyak