Strategi Qiyuan Axu Berdasarkan Purata Pergerakan Terlicin


Tarikh penciptaan: 2024-01-25 15:26:25 Akhirnya diubah suai: 2024-01-25 15:26:25
Salin: 1 Bilangan klik: 623
1
fokus pada
1617
Pengikut

Strategi Qiyuan Axu Berdasarkan Purata Pergerakan Terlicin

Gambaran keseluruhan

Idea utama strategi ini adalah menggunakan purata bergerak yang lancar untuk mengira garis rata-rata yang lancar untuk mencari trend harga, dan melakukan lebih banyak apabila harga berhadapan dengan garis rata-rata yang lancar, dan melakukan kosong apabila berhadapan dengan garpu mati.

Prinsip Strategi

Strategi ini mula-mula menentukan fungsi untuk mengira purata bergerak yang licin, smoothedMovingAvg, yang menggunakan purata bergerak dari tempoh sebelumnya dan harga terkini untuk mengira purata bergerak yang licin untuk tempoh semasa dengan berat tertentu.

Kemudian, fungsi getHAClose didefinisikan untuk mengira harga penutupan garis rata-rata dengan menggunakan harga pembukaan, harga tertinggi, harga terendah dan harga penutupan.

Dalam logik strategi utama, harga asal untuk tempoh yang berbeza diambil terlebih dahulu, kemudian rata-rata bergerak lancar dikira menggunakan fungsi SmoothedMovingAvg, dan kemudian harga penutupan permulaan lancar dikira dengan fungsi getHAClose.

Akhirnya, apabila harga di atas meluncur lancar untuk mengetengahkan harga penutupan, lakukan lebih banyak, turun ketika meluncur lancar; apabila harga di bawah meluncur lancar untuk mengetengahkan harga penutupan, kosongkan, naik ketika meluncur lancar.

Analisis kelebihan

Kelebihan terbesar strategi ini adalah menggunakan purata bergerak yang licin untuk mengira garis rata-rata pencerahan yang licin, yang dapat menentukan trend harga dengan lebih tepat, menapis sebahagian daripada kebisingan, dan mengelakkan isyarat yang salah dalam gegaran. Selain itu, garis rata-rata pencerahan itu sendiri mempunyai kelebihan untuk menonjolkan trend, yang digunakan bersama dengan harga, dapat meningkatkan lagi ketepatan penilaian.

Analisis risiko

Strategi ini mempunyai risiko utama:

  1. Tetapan parameter kelancaran yang tidak betul boleh menyebabkan strategi kehilangan peluang untuk membalikkan harga atau menghasilkan isyarat yang salah. Parameter terbaik perlu dijumpai melalui pengukuran dan pengoptimuman berulang.
  2. Apabila harga bergolak, rata-rata rata-rata mungkin tertangguh untuk mengikuti perubahan harga, yang menyebabkan kemusnahan atau kehilangan peluang untuk berbalik. Pada masa ini, anda perlu mengurangkan risiko mengelakkan kedudukan.

Mengenai risiko di atas, kita boleh mengurangkan risiko dan meningkatkan kestabilan strategi dengan cara seperti menyesuaikan parameter kelancaran, memperkenalkan mekanisme hentikan kerugian, mengurangkan kedudukan perdagangan tunggal.

Arah pengoptimuman

Strategi ini juga boleh dioptimumkan dalam beberapa aspek:

  1. Tambah parameter pelusuran yang menyesuaikan diri, menyesuaikan parameter secara automatik apabila turun naik pasaran meningkat.
  2. Gabungan dengan penunjuk lain sebagai penapis, untuk mengelakkan isyarat yang salah apabila harga bergolak. Sebagai contoh, MACD, KD dan sebagainya.
  3. Tambah mekanisme penangguhan untuk mengawal kerugian tunggal. Peratusan penangguhan atau penangguhan getaran boleh ditetapkan.
  4. Mengoptimumkan jenis perdagangan, tempoh masa, dan lain-lain, menumpukan pada jenis dan tempoh perdagangan yang paling menguntungkan.

Dengan mengoptimumkan beberapa perkara di atas, anda dapat mengurangkan risiko penyesuaian kurva strategi dan meningkatkan adaptasi dan kestabilan strategi.

ringkaskan

Strategi ini keseluruhan idea jelas dan mudah difahami, dengan mengira garis rata-rata cahaya untuk menentukan trend harga, dan dengan itu melakukan tindakan jangka pendek. Kelebihan terbesar adalah dapat menapis sebahagian daripada bunyi bising, meningkatkan ketepatan penilaian isyarat. Tetapi ada juga kesukaran pengoptimuman parameter tertentu dan risiko kehilangan perubahan cepat.

Kod sumber strategi
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

 //@version=5
strategy("Smoothed Heiken Ashi Strategy", overlay=true)

// Inputs
g_TimeframeSettings = 'Display & Timeframe Settings'
time_frame = input.timeframe(title='Timeframe for HA candle calculation', defval='', group=g_TimeframeSettings)

g_SmoothedHASettings = 'Smoothed HA Settings'
smoothedHALength = input.int(title='HA Price Input Smoothing Length', minval=1, maxval=500, step=1, defval=10, group=g_SmoothedHASettings)

// Define a function for calculating the smoothed moving average
smoothedMovingAvg(src, len) => 
    smma = 0.0
    smma := na(smma[1]) ? ta.sma(src, len) : (smma[1] * (len - 1) + src) / len 
    smma

// Function to get Heiken Ashi close
getHAClose(o, h, l, c) =>
    ((o + h + l + c) / 4)

// Calculate smoothed HA candles
smoothedHAOpen = request.security(syminfo.tickerid, time_frame, open)
smoothedMA1close = smoothedMovingAvg(request.security(syminfo.tickerid, time_frame, close), smoothedHALength)
smoothedHAClose = getHAClose(smoothedHAOpen, smoothedHAOpen, smoothedHAOpen, smoothedMA1close)

// Plot Smoothed Heiken Ashi candles
plotcandle(open=smoothedHAOpen, high=smoothedHAOpen, low=smoothedHAOpen, close=smoothedHAClose, color=color.new(color.blue, 0), wickcolor=color.new(color.blue, 0))

// Strategy logic
longCondition = close > smoothedHAClose
shortCondition = close < smoothedHAClose

strategy.entry("Buy", strategy.long, when=longCondition)
strategy.close("Buy", when=shortCondition)

plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)