Strategi Jangka Panjang Double EMA Golden Cross


Tanggal Pembuatan: 2024-02-23 12:17:40 Akhirnya memodifikasi: 2024-02-23 12:17:40
menyalin: 0 Jumlah klik: 656
1
fokus pada
1617
Pengikut

Strategi Jangka Panjang Double EMA Golden Cross

Ringkasan

Strategi long line dengan dua EMA emas adalah strategi pelacakan tren yang hanya membuka beberapa posisi. Strategi ini menggunakan tiga rata-rata bergerak sekaligus, yaitu EMA jangka pendek, EMA jangka menengah, dan EMA jangka panjang. Aturan masuknya adalah: harga lebih tinggi dari EMA jangka panjang, sementara EMA jangka pendek dari bawah, membuka posisi lebih banyak ketika EMA jangka menengah melintasi EMA dari bawah untuk membentuk persilangan emas.

Prinsip Strategi

  1. Ada tiga siklus EMA yang dapat dikonfigurasi untuk menghitung EMA jangka pendek, EMA jangka menengah, dan EMA jangka panjang.

  2. Jika harga lebih tinggi dari EMA jangka panjang, itu menunjukkan bahwa harga saat ini berada dalam tren multihead.

  3. Jika EMA jangka pendek melintasi EMA jangka menengah dari bawah, membentuk persilangan emas, itu lebih lanjut mengkonfirmasi penguatan tren multihead.

  4. Ketika kedua kondisi di atas terpenuhi, maka posisi terbuka akan lebih banyak.

Analisis Keunggulan

Keuntungan terbesar dari strategi ini adalah kemampuan untuk mengidentifikasi tren secara efektif, menggunakan penilaian yang digabungkan dengan EMA multi-siklus, dan menghindari kebohongan oleh kebisingan pasar jangka pendek. Pada saat yang sama, konfigurasi stop loss sebagai alat pengendalian risiko memungkinkan untuk mengendalikan kerugian dalam kisaran tertentu.

Analisis risiko

Risiko utama dari strategi ini adalah posisi berlebih. Tidak dapat menutup posisi tepat waktu ketika pasar berbalik, menyebabkan risiko peningkatan kerugian. Selain itu, pengaturan siklus EMAS yang tidak tepat juga dapat menyebabkan perdagangan yang sering terjadi, meningkatkan biaya perdagangan.

Arah optimasi

  1. Meningkatkan manajemen jumlah posisi dan menurunkan posisi ketika penarikan mencapai proporsi tertentu.

  2. Menambahkan pengaturan Stop Loss Tinggi yang baru.

  3. Mengoptimalkan parameter siklus EMAS, mengurangi frekuensi transaksi.

Meringkaskan

Strategi ini secara keseluruhan adalah strategi memegang posisi panjang yang stabil dan berkualitas. Memiliki kemampuan yang kuat untuk mengidentifikasi tren dan mengendalikan risiko. Dengan pengoptimalan lebih lanjut, diharapkan untuk mendapatkan keuntungan yang lebih stabil.

Kode Sumber Strategi
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Strategia EMA Long con Opzioni di Uscita Avanzate e Periodi EMA Personalizzabili", overlay=true)

// Parametri di input generali
useVolatilityFilter = input.bool(true, title="Usa Filtro di Volatilità")
atrPeriods = input.int(14, title="Periodi ATR", minval=1)
atrMultiplier = input.float(1.5, title="Moltiplicatore ATR", step=0.1)
useTrailingStop = input.bool(true, title="Usa Trailing Stop")
trailingStopPercent = input.float(15.0, title="Percentuale Trailing Stop", minval=0.1, step=0.1) / 100.0
useEMAExit = input.bool(true, title="Usa Uscita EMA Corta incrocia EMA Media al Ribasso")

// Parametri di input per periodi EMA personalizzabili
emaLongTermPeriod = input.int(200, title="Periodo EMA Lungo Termine", minval=1)
emaShortTermPeriod = input.int(5, title="Periodo EMA Breve Termine", minval=1)
emaMidTermPeriod = input.int(10, title="Periodo EMA Medio Termine", minval=1)

// Calcolo delle EMA con periodi personalizzabili
longTermEMA = ta.ema(close, emaLongTermPeriod)
shortTermEMA = ta.ema(close, emaShortTermPeriod)
midTermEMA = ta.ema(close, emaMidTermPeriod)

// Calcolo ATR e soglia di volatilità
atr = ta.atr(atrPeriods)
atrThreshold = ta.sma(atr, atrPeriods) * atrMultiplier

// Condizione di entrata
enterLongCondition = close > longTermEMA and shortTermEMA > midTermEMA
enterLong = useVolatilityFilter ? (enterLongCondition and atr > atrThreshold) : enterLongCondition

if (enterLong)
    strategy.entry("Enter Long", strategy.long)

// Tracking del prezzo di entrata e del massimo prezzo raggiunto per il trailing stop
var float entryPrice = na
var float maxPriceSinceEntry = na
if (strategy.position_size > 0)
    maxPriceSinceEntry := math.max(na(maxPriceSinceEntry) ? high : maxPriceSinceEntry, high)
    entryPrice := na(entryPrice) ? strategy.position_avg_price : entryPrice
else
    maxPriceSinceEntry := na
    entryPrice := na

// Calcolo del valore del trailing stop
trailStopPrice = maxPriceSinceEntry * (1 - trailingStopPercent)

// Implementazione delle condizioni di uscita
exitCrossUnder = close < longTermEMA
emaCross = ta.crossunder(shortTermEMA, midTermEMA)

if (useEMAExit and emaCross)
    strategy.close("Enter Long", comment="EMA Cross Exit")

if (useTrailingStop)
    strategy.exit("Trailing Stop", from_entry="Enter Long", stop=trailStopPrice)

// Visualizzazioni
plot(longTermEMA, color=color.yellow, title="EMA Lungo Termine")
plot(shortTermEMA, color=color.blue, title="EMA Breve Termine")
plot(midTermEMA, color=color.green, title="EMA Medio Termine")
plot(useVolatilityFilter ? atrThreshold : na, color=color.purple, title="ATR Threshold")
plot(strategy.position_size > 0 ? trailStopPrice : na, color=color.orange, title="Trailing Stop Value", style=plot.style_linebr)