Strategi Origix Ashi Berdasarkan Purata Bergerak Lesu

Penulis:ChaoZhang, Tarikh: 2024-01-25 15:26:25
Tag:

img

Ringkasan

Idea utama strategi ini adalah menggunakan purata bergerak yang halus untuk mengira Heiken Ashi yang halus untuk mengenal pasti trend harga, dan pergi panjang apabila harga mempunyai salib emas dengan Heiken Ashi yang halus, dan pergi pendek apabila terdapat salib kematian.

Logika Strategi

Strategi ini pertama-tama menentukan fungsi smoothedMovingAvg untuk mengira purata bergerak yang halus, yang menggunakan nilai purata bergerak tempoh sebelumnya dan harga terbaru untuk mengira purata bergerak yang halus tempoh semasa berdasarkan berat tertentu.

Kemudian ia mentakrifkan fungsi getHAClose untuk mengira harga penutupan Heiken Ashi berdasarkan harga terbuka, tinggi, rendah dan dekat.

Dalam logik strategi utama, ia pertama mendapat harga asal dari tempoh yang berbeza, kemudian menggunakan fungsi smoothedMovingAvg untuk mengira purata bergerak yang halus, dan kemudian mengira harga penutupan Heiken Ashi yang halus melalui fungsi getHAClose.

Akhirnya, ia pergi lama apabila harga melintasi di atas harga penutupan Heiken Ashi yang dilencangkan, dan menutup kedudukan apabila harga melintasi di bawahnya. Ia pergi pendek apabila harga melintasi di bawah harga penutupan Heiken Ashi yang dilencangkan, dan menutup kedudukan apabila harga melintasi di atasnya.

Analisis Kelebihan

Kelebihan terbesar strategi ini ialah dengan menggunakan purata bergerak yang halus untuk mengira Heiken Ashi yang halus, ia dapat menentukan trend harga dengan lebih tepat dan menapis beberapa bunyi bising untuk mengelakkan menghasilkan isyarat yang salah semasa tempoh yang bergolak.

Analisis Risiko

Risiko utama yang dihadapi oleh strategi ini adalah:

  1. Tetapan parameter yang tidak betul dari pelunturan boleh menyebabkan strategi melewatkan peluang pembalikan harga atau menghasilkan isyarat yang salah. Parameter optimum perlu dijumpai melalui pengujian dan pengoptimuman berulang.

  2. Apabila harga turun naik dengan ketara, purata bergerak yang dilancangkan mungkin tertinggal dari perubahan harga, mengakibatkan pemicu stop loss atau kehilangan peluang pembalikan.

Untuk menangani risiko di atas, kaedah seperti menyesuaikan parameter penyelarasan, memperkenalkan mekanisme stop loss, mengurangkan saiz kedudukan setiap perdagangan boleh digunakan untuk mengurangkan risiko dan meningkatkan kestabilan strategi.

Arahan pengoptimuman

Strategi ini juga boleh dioptimumkan dalam aspek berikut:

  1. Memperkenalkan parameter penyelarasan adaptif untuk menyesuaikan parameter secara automatik apabila turun naik pasaran meningkat.

  2. Gabungkan dengan penunjuk lain sebagai penapis untuk mengelakkan mengeluarkan isyarat yang salah semasa penyatuan harga.

  3. Tambah mekanisme stop loss untuk mengawal setiap kerugian perdagangan.

  4. Mengoptimumkan produk dagangan, sesi dagangan dan sebagainya untuk memberi tumpuan kepada produk dan sesi dengan kelebihan yang paling banyak.

Melalui pengoptimuman di atas, risiko pemasangan kurva strategi dapat dikurangkan lagi dan kebolehan penyesuaian dan kestabilan strategi dapat ditingkatkan.

Kesimpulan

Logik keseluruhan strategi ini jelas dan mudah difahami. Dengan mengira Heiken Ashi yang halus untuk menentukan trend harga dan membuat kedudukan panjang dan pendek dengan sewajarnya. Kelebihannya yang terbesar adalah dapat menapis beberapa bunyi bising dan meningkatkan ketepatan penghakiman isyarat. Tetapi terdapat juga kesukaran tertentu dalam pengoptimuman parameter dan risiko kehilangan pembalikan pantas. Pengoptimuman lanjut boleh dilakukan melalui pengenalan mekanisme adaptif, memperluaskan kombinasi penunjuk dan lain-lain untuk menjadikannya bernilai penyelidikan mendalam.


/*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)

Lebih lanjut