Strategi perdagangan breakout ketika rata-rata pergerakan jangka pendek melintasi rata-rata pergerakan jangka menengah dan panjang


Tanggal Pembuatan: 2023-11-24 13:33:21 Akhirnya memodifikasi: 2023-11-24 13:33:21
menyalin: 0 Jumlah klik: 853
1
fokus pada
1617
Pengikut

Strategi perdagangan breakout ketika rata-rata pergerakan jangka pendek melintasi rata-rata pergerakan jangka menengah dan panjang

Strategi ini menghasilkan sinyal perdagangan berdasarkan rata-rata bergerak indeks (EMA) dari tiga periode yang berbeda: jangka pendek, menengah, dan jangka panjang. Di antaranya, siklus EMA jangka pendek adalah 5 hari, siklus EMA jangka menengah adalah 8 hari, dan siklus EMA jangka panjang adalah 13 hari. Bila EMA jangka pendek melewati EMA jangka menengah dan jangka panjang, lakukan lebih banyak; Bila EMA jangka pendek melewati EMA jangka menengah dan jangka panjang, lakukan lebih sedikit.

Prinsip Strategi

Strategi ini menilai tren pasar dengan menghitung EMA dari berbagai siklus. EMA jangka pendek mencerminkan harga rata-rata dalam beberapa hari terakhir, dan EMA jangka menengah mencerminkan harga rata-rata dalam waktu yang lebih lama. EMA jangka pendek di atas EMA jangka panjang mewakili harga mulai menembus ke atas, jadi lakukan lebih banyak; EMA jangka pendek di bawah EMA jangka panjang mewakili harga mulai menembus ke bawah, jadi lakukan lebih banyak.

Secara khusus, strategi ini memperhitungkan tiga EMA pada saat yang sama, yaitu pada 5, 8, dan 13 hari. Jika EMA di atas 5 hari melewati 8 hari dan EMA di atas 13 hari, maka akan ada sinyal bullish. Jika EMA di bawah 5 hari melewati 8 hari dan EMA di bawah 5 hari melewati 13 hari, maka akan ada sinyal bullish.

Keunggulan Strategis

  1. Menggunakan EMA multi-siklus untuk menilai tren, menghindari kehilangan titik-titik perubahan tren yang penting karena siklus EMA tunggal terlalu pendek atau terlalu panjang
  2. Kombinasi dengan EMA tiga periode, sinyal perdagangan lebih dapat diandalkan dan akurat
  3. EMA dapat menyaring sebagian dari kebisingan pasar dengan meratakan harga dan mencegah penarikan yang tidak perlu.

Risiko Strategis

  1. Ketiga EMA adalah indikator tren yang tertunda, pasti ada selisih waktu sebelum harga aktual terobosan, yang dapat menyebabkan sinyal perdagangan tertunda
  2. EMA tidak dapat membedakan antara tren nyata dan koreksi jangka pendek, yang dapat menghasilkan sinyal yang salah
  3. Siklus EMA tetap tidak dapat beradaptasi dengan karakteristik pasar yang berubah di bawah siklus yang berbeda

Hal ini dapat dioptimalkan dengan:

  1. Kombinasi dengan indikator lain seperti MACD untuk menilai tren yang sebenarnya dan menghindari sinyal yang salah
  2. Parameter siklus EMA dapat disesuaikan secara fleksibel sesuai dengan varietas dan kondisi pasar
  3. Menambahkan Stop Loss untuk mengunci keuntungan dan mengendalikan risiko

Meringkaskan

Strategi ini, dengan menghitung tiga siklus EMA pendek dan panjang dan membandingkan keadaan silang mereka untuk menilai pergeseran tren pasar, termasuk dalam sistem penembusan yang khas. Kelebihannya adalah sinyal perdagangan sederhana dan jelas, mudah dioperasikan; Kelemahannya adalah indikator EMA sendiri terlambat, tidak dapat membedakan tren nyata dan penyesuaian jangka pendek.

Kode Sumber Strategi
/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-23 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// 
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gregoirejohnb
// @It is modified by ttsaadet.
// Moving average crossover systems measure drift in the market. They are great strategies for time-limited people.
// So, why don't more people use them?
// 

//
strategy(title="EMA Crossover Strategy", shorttitle="EMA-5-8-13 COS by TTS", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.TRY,commission_type=strategy.commission.percent,commission_value=0.04, process_orders_on_close = true, initial_capital = 100000)

// === GENERAL INPUTS ===
//strategy start date
start_year = input(defval=2020, title="Backtest Start Year")

// === LOGIC ===
short_period = input(type=input.integer,defval=5,minval=1,title="Length")
mid_period = input(type=input.integer,defval=8,minval=1,title="Length")
long_period = input(type=input.integer,defval=13,minval=1,title="Length")

longOnly = input(type=input.bool,defval=false,title="Long Only")
shortEma = ema(hl2,short_period)
midEma = ema(hl2,mid_period)
longEma = ema(hl2,long_period)

plot(shortEma,linewidth=2,color=color.red,title="Fast")
plot(midEma,linewidth=2,color=color.orange,title="Fast")
plot(longEma,linewidth=2,color=color.blue,title="Slow")

longEntry = ((shortEma > midEma) and crossover(shortEma,longEma)) or ((shortEma > longEma) and crossover(shortEma,midEma))
shortEntry =((shortEma < midEma) and crossunder(shortEma,longEma)) or ((shortEma < longEma) and crossunder(shortEma,midEma))

plotshape(longEntry ? close : na,style=shape.triangleup,color=color.green,location=location.belowbar,size=size.small,title="Long Triangle")
plotshape(shortEntry and not longOnly ? close : na,style=shape.triangledown,color=color.red,location=location.abovebar,size=size.small,title="Short Triangle")
plotshape(shortEntry and longOnly ? close : na,style=shape.xcross,color=color.black,location=location.abovebar,size=size.small,title="Exit Sign")

// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() =>
    longEntry 
exitLong() =>
    crossunder(shortEma,longEma)

strategy.entry(id="Long", long=strategy.long, when=enterLong())
strategy.close(id="Long", when=exitLong())


// === STRATEGY - SHORT POSITION EXECUTION ===

enterShort() =>
    not longOnly and shortEntry  
exitShort() =>
    crossover(shortEma,longEma)

strategy.entry(id="Short", long=strategy.short, when=enterShort())
strategy.close(id="Short", when=exitShort())