Strategi perdagangan automatik panjang dan pendek berdasarkan penunjuk Supertrend


Tarikh penciptaan: 2024-01-23 15:36:27 Akhirnya diubah suai: 2024-01-23 15:36:27
Salin: 0 Bilangan klik: 647
1
fokus pada
1617
Pengikut

Strategi perdagangan automatik panjang dan pendek berdasarkan penunjuk Supertrend

Gambaran keseluruhan

Strategi ini dinamakan Strategi Pemantauan Trend Overtrend. Strategi ini membangunkan sistem perdagangan automatik berbilang ruang berdasarkan indikator overtrend, yang dapat mengenal pasti arah trend secara automatik, dan masuk dan keluar dari gabungan indikator RSI dan indikator ADX.

Prinsip Strategi

Strategi ini terutamanya berdasarkan kepada penunjuk hypertrend untuk menentukan trend harga semasa. Penunjuk hypertrend digabungkan dengan purata bergerak dan ATR, yang dapat menentukan arah trend harga dengan berkesan. Apabila arah penunjuk hypertrend bertukar, menunjukkan perubahan trend harga.

Khususnya, strategi ini mula-mula mengira arah indikator overtrend, serta indikator RSI dan ADX. Dalam keadaan indikator overtrend bertukar ke bawah, dan indikator RSI menunjukkan kemerosotan kekuatan berganda, masukkan shorting. Apabila indikator overtrend bertukar ke atas lagi, lakukan shorting.

Analisis kelebihan

Kelebihan utama strategi ini adalah bahawa ia dapat mengenal pasti trend harga secara automatik dan masuk dan keluar berdasarkan trend, tanpa penilaian manual. Selain itu, penapisan yang digabungkan dengan RSI dan ADX dapat menapis penembusan palsu dengan berkesan, meningkatkan kebarangkalian keuntungan.

Analisis risiko

Risiko terbesar dalam strategi ini adalah bahawa penunjuk hypertrend sendiri tidak tepat dalam menentukan trend harga, dan ia mungkin memberi isyarat yang salah. Selain itu, tanpa mekanisme berhenti kerugian yang ditetapkan, kerugian tunggal mungkin lebih besar.

Anda boleh mengoptimumkan dan mengurangkan risiko dengan menyesuaikan parameter penunjuk melampaui trend dan menambahkan hentian bergerak.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Optimumkan parameter penunjuk trend yang melampau untuk meningkatkan ketepatan penilaian

  2. Menyertai mekanisme hentian bergerak untuk mengawal kerugian tunggal

  3. Penapisan dengan lebih banyak penunjuk, seperti Blink, KDJ dan lain-lain, meningkatkan peluang keuntungan

  4. Membangunkan strategi masuk dan keluar yang serupa untuk menyeluruh

ringkaskan

Strategi ini secara keseluruhan adalah strategi perdagangan automatik berdasarkan indikator trend yang menilai trend. Kelebihannya adalah tahap automasi yang tinggi, yang dapat menentukan trend secara automatik. Kelemahannya adalah ketepatan indikator trend yang melampau secara umum, tanpa menetapkan stop loss. Dengan mengoptimumkan parameter dan menambah indikator lain dapat meningkatkan peluang keuntungan, meningkatkan stop loss dapat mengawal risiko, menjadikan strategi ini lebih kuat.

Kod sumber strategi
/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supertrend Strategy", overlay=true)

atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)

[_, direction] = ta.supertrend(factor, atrPeriod)

adxlen = input(7, title="ADX Smoothing")
dilen = input(7, title="DI Length")
dirmov(len) =>
    up = ta.change(high)
    down = -ta.change(low)
    plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
    minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
    truerange = ta.rma(ta.tr, len)
    plus = fixnan(100 * ta.rma(plusDM, len) / truerange)
    minus = fixnan(100 * ta.rma(minusDM, len) / truerange)
    [plus, minus]

adx(dilen, adxlen) =>
    [plus, minus] = dirmov(dilen)
    sum = plus + minus
    adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
    adx

sig = adx(dilen, adxlen)

if ta.change(direction) < 0 and ta.rsi(close, 21) < 66 and ta.rsi(close, 3) > 80 and ta.rsi(close, 28) > 49 and sig > 20
    strategy.entry("My Long Entry Id", strategy.long)

if ta.change(direction) > 0
    strategy.close("My Long Entry Id")

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)