Strategi perdagangan berdasarkan indikator ADX dan MACD

Penulis:ChaoZhang, Tanggal: 2023-12-13 15:45:24
Tag:

img

Gambaran umum

Strategi ini disebut Trend Following Strategy Based on ADX and MACD Indicators. Ini menggunakan Average Directional Movement Index (ADX) untuk menentukan arah dan kekuatan tren, dikombinasikan dengan sinyal perdagangan dari Moving Average Convergence Divergence (MACD), untuk menerapkan tren mengikuti perdagangan. Ini akan membangun posisi panjang atau pendek hanya ketika ADX menunjukkan tren yang kuat dan MACD memberikan sinyal perdagangan.

Logika Strategi

Strategi ini menghitung garis ADX dan +DI, -DI untuk menilai arah tren pasar dan intensitasnya. Ketika garis +DI melintasi di atas -DI, itu adalah tren naik; ketika -DI turun di bawah +DI, itu adalah tren turun. Selain itu, ketika pembacaan ADX di atas 20, itu menunjukkan tren cukup kuat. Strategi kemudian mengambil nilai perbedaan indikator MACD (macdline) dan penyeberangan garis sinyal (sinyal) sebagai sinyal beli dan jual, untuk melakukan perdagangan mengikuti tren.

Secara khusus, logika sinyal perdagangan adalah:

Sinyal panjang: +DI > -DI dan garis perbedaan MACD melintasi di atas garis sinyal
Sinyal pendek: -DI > +DI dan garis selisih MACD melintasi di bawah garis sinyal

Dengan logika ini, strategi dapat menangkap waktu masuk yang optimal dalam tren yang kuat.

Keuntungan

Keuntungan terbesar dari strategi ini adalah bahwa ia mempertimbangkan penilaian tren dan pemilihan waktu masuk, memungkinkan pedagang untuk menemukan titik masuk yang relatif baik ketika ada pasar arah yang kuat.

Selain itu, logika stop loss juga diimplementasikan. Ini akan memotong kerugian secara aktif jika kerugian posisi melebihi harga stop loss yang ditentukan pengguna. Ini juga merupakan sorotan dari strategi.

Risiko

Meskipun strategi ini memiliki beberapa manfaat, masih ada risiko yang harus diketahui:

  1. Sinyal perdagangan yang terdiri dari ADX dan MACD dapat gagal atau memberikan sinyal palsu dalam situasi pasar tertentu, menyebabkan kerugian yang tidak perlu.

  2. Harga stop loss yang ditentukan pengguna dapat ditembus, menyebabkan kerugian di luar harapan.

  3. Terlalu banyak perdagangan yang tidak efektif dapat terjadi di berbagai pasar, mengkonsumsi biaya transaksi.

Untuk mengurangi risiko ini, optimasi parameter ADX dan MACD dianjurkan, serta menerapkan aturan manajemen uang yang ketat.

Arah Peningkatan

Strategi ini masih bisa ditingkatkan:

  1. Lebih banyak indikator dapat diperkenalkan untuk membentuk sinyal perdagangan yang lebih kuat, misalnya menggabungkan indeks volatilitas untuk membatasi perdagangan.

  2. Parameter ADX dan MACD dapat dioptimalkan secara otomatis melalui pembelajaran mesin.

  3. Mekanisme stop loss adaptif dapat dibuat untuk melacak fluktuasi pasar secara dinamis.

Metode-metode ini dapat membantu meningkatkan stabilitas dan profitabilitas strategi.

Kesimpulan

Kesimpulannya, Strategi Mengikuti Tren Berdasarkan Indikator ADX dan MACD memiliki kelebihan dalam menentukan arah tren, menemukan waktu masuk yang optimal, mengatur logika stop loss dll, menjadikannya sistem perdagangan yang cukup besar. Mengingat penyesuaian parameter yang tepat dan pengendalian risiko, itu mampu menuai pengembalian investasi yang layak. Tetapi pedagang masih harus berhati-hati terhadap risiko potensial, dan memantau dengan cermat perubahan lingkungan pasar. Dengan pemantauan dan peningkatan sistemik, strategi memiliki potensi untuk mencapai alpha berkelanjutan.


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

//@version=5
strategy("TUE ADX/MACD Confluence V1.0", overlay=true)

showsignals = input(true, title="Show BUY/SELL Signals")
showcandlecolors = input(true, title="Show Candle Colors")
length = input(14, title="ADX Length")
smoothing = input(10, title="ADX Smoothing")
macdsource = input(close, title="MACD Source")
macdfast = input(12, title="MACD Fast Length")
macdslow = input(26, title="MACD Slow Length")
macdsignal = input(9, title="MACD Signal Length")
colorup = input(color.green, title="Up Candle Color")
colordown = input(color.red, title="Down Candle Color")

/////////////////////////////////////////////////////////////////////////////////////////////// ADX AND MACD CALC
[diplus, diminus, adx] = ta.dmi(length, smoothing)

[macdline, signalline, histline] = ta.macd(macdsource, macdfast, macdslow, macdsignal)

//////////////////////////////////////////////////////////////////////////////////////////////TRADE CALC

longcheck = diplus > diminus and macdline > signalline
shortcheck = diminus > diplus and signalline > macdline

int trade = 0

//Open from nothing

if trade == 0 and longcheck
    trade := 1

else if trade == 0 and shortcheck
    trade := -1
    
//Reversal

else if trade == 1 and shortcheck
    trade := -1
    
else if trade == -1 and longcheck
    trade := 1
    
//Keep status quo until crossover

else
    trade := trade[1]

//////////////////////////////////////////////////////////////////////////////////////////////PLOT 

colors = longcheck ? colorup : shortcheck ? colordown : color.white

plotcandle(open, high, low, close, color = showcandlecolors ? colors : na)

plotshape(trade[1] != 1 and trade == 1 and showsignals, style=shape.labelup, text='BUY', textcolor=color.white, color=color.green, size=size.small, location=location.belowbar)
plotshape(trade[1] != -1 and trade == -1 and showsignals, style=shape.labeldown, text='SELL', textcolor=color.white, color=color.red, size=size.small, location=location.abovebar)

///////////////////////////////////////////////////////////////////////////////////////////// ALERTS

// Add Stop Loss
stopLossPrice = input(100, title="Stop Loss Price")

if trade == 1
    strategy.entry("Long", strategy.long)

if trade == -1
    strategy.entry("Short", strategy.short)

if trade == 1 and close < close[1] - stopLossPrice
    strategy.close("LongExit")

if trade == -1 and close > close[1] + stopLossPrice
    strategy.close("ShortExit")


Lebih banyak