Strategi jangka panjang berdasarkan MACD


Tanggal Pembuatan: 2024-01-12 11:02:06 Akhirnya memodifikasi: 2024-01-12 11:02:06
menyalin: 0 Jumlah klik: 639
1
fokus pada
1617
Pengikut

Strategi jangka panjang berdasarkan MACD

Ringkasan

Strategi ini didasarkan pada indikator MACD dan garis posisi panjang dan damai, yang memungkinkan perdagangan garis panjang pasangan mata uang. Dibuka posisi saat MACD melintasi garis panjang dan ditutup ketika MACD melintasi garis lurus.

Prinsip Strategi

Strategi ini menggunakan garis cepat dan lambat dari indikator MACD. Parameter garis cepat adalah 12 hari EMA dan parameter garis lambat adalah 26 hari EMA. Perbedaan antara dua garis rata adalah MACD pilar. Juga menghitung 9 hari EMA sebagai sinyal.

Secara khusus, strategi pertama menghitung garis cepat, lambat, dan sinyal MACD. Kemudian, atur garis panjang menjadi -0.04 dan garis posisi kosong menjadi 0.015. Jika MACD saat ini lebih besar dari garis panjang, lakukan overtrading; Jika MACD saat ini lebih kecil dari garis kosong, lakukan overtrading. Selain itu, atur garis stop loss menjadi 95% dari harga bukaan posisi.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Menggunakan indikator MACD untuk menilai tren pasar, tingkat akurasi yang lebih tinggi
  2. Pada saat yang sama menggunakan kabel panjang dan kabel gudang ganda filter, menghindari sinyal yang salah
  3. Menetapkan strategi stop loss dan mengontrol risiko secara efektif
  4. Sederhana, logis, dan mudah dipahami dan diterapkan
  5. Hanya membutuhkan MACD, sumber daya rendah

Analisis risiko

Strategi ini juga memiliki beberapa risiko:

  1. Indeks MACD memiliki keterbelakangan dan mungkin melewatkan peluang untuk short line
  2. Pengaturan stop loss mungkin terlalu konservatif untuk terus mengikuti tren garis panjang
  3. Pengaturan parameter perlu diuji ulang dan dioptimalkan, jika tidak, mungkin terlalu cocok
  4. Hanya berlaku untuk mata uang lain, efeknya diragukan

Hal ini dapat dioptimalkan dan ditingkatkan dengan cara seperti penyesuaian parameter yang sesuai, kombinasi indikator lainnya.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Uji kombinasi parameter MACD yang berbeda untuk mencari parameter yang lebih baik

Anda dapat mencoba berbagai panjang kabel cepat, lambat, dan sinyal untuk menemukan kombinasi yang lebih cocok.

  1. Penggantian indikator lain

Indikator seperti RSI, KD, dan lain-lain dapat memberikan efek yang sangat berbeda.

  1. Optimalkan parameter garis panjang dan garis pos

Dengan mengulang-ulang data, Anda dapat mencari parameter yang lebih cocok untuk posisi long-term.

  1. Adaptasi strategi stop loss

Anda dapat mempertimbangkan cara-cara seperti trailing stop untuk membuat stop loss lebih dinamis.

  1. Uji coba beberapa pasangan mata uang

Menerapkan strategi untuk pasangan mata uang lain, dan melihat efeknya

Meringkaskan

Strategi ini overall adalah strategi perdagangan garis panjang yang sangat sederhana dan intuitif. Menggunakan indikator MACD untuk menilai situasi, dan mengatur kondisi penyaringan ganda untuk mengurangi perdagangan yang salah.

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

//@version=3
strategy(shorttitle = "GBPJPY MACD", title = "GBPJPY MACD")
fastMA = input(title="Fast moving average",  defval = 12, minval = 7)
slowMA = input(title="Slow moving average",  defval = 26, minval = 7)
lastColor = yellow
[currMacd,_,_] = macd(close[0], fastMA, slowMA, 9)
[prevMacd,_,_] = macd(close[1], fastMA, slowMA, 9)
plotColor = currMacd > 0 ? currMacd > prevMacd ? lime : green : currMacd < prevMacd ? maroon : red
plot(currMacd, style = histogram, color = plotColor, linewidth = 3)
plot(0, title = "Zero line", linewidth = 1, color = gray)

//MACD
// Getting inputs
fast_length = input(title="Fast Length",  defval=12)
slow_length = input(title="Slow Length",  defval=26)
src = input(title="Source",  defval=close)
signal_length = input(title="Signal Smoothing",  minval = 1, maxval = 50, defval =9)
sma_source = input(title="Simple MA(Oscillator)", type=bool, defval=false)
sma_signal = input(title="Simple MA(Signal Line)", type=bool, defval=false)

// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal

//plot(hist, title="Histogram", style=columns, color=(hist>=0 ? (hist[1] < hist ? col_grow_above : col_fall_above) : (hist[1] < hist ? col_grow_below : col_fall_below) ), transp=0 )
plot(macd, title="MACD", color=col_macd, transp=0)
plot(signal, title="Signal", color=col_signal, transp=0)
///END OF MACD

//Long and Close Long Lines
linebuy = input(title="Enter Long", type=float, defval=-0.04)
linesell = input(title="Close Long", type=float, defval=0.015)

//Plot Long and Close Long Lines
plot(linebuy,color=green),plot(linesell,color=red)


//Stop Loss Input
sl_inp = input(0.05, title='Stop Loss %', type=float)/100


//Order Conditions
longCond = crossover(currMacd, linebuy)
exitLong = crossover(currMacd, linesell)
stop_level = strategy.position_avg_price * (1 - sl_inp)


//Order Entries
strategy.entry("long", strategy.long,  when=longCond==true)
strategy.close("long", when=exitLong==true)
strategy.exit("Stop Loss", stop=stop_level)