Trend Mengikut Strategi Berdasarkan Purata Bergerak Renko

Penulis:ChaoZhang, Tarikh: 2024-02-21 16:36:00
Tag:

img

Ringkasan

Ini adalah strategi dagangan yang menggunakan purata bergerak Renko untuk pengenalan trend dan penjejakan. Logik teras strategi ini adalah untuk pergi lama atau pendek apabila harga memecahkan purata bergerak HL2 22 tempoh pada bar Renko. Sementara itu, strategi ini juga menetapkan mekanisme pengurusan risiko seperti stop loss, mengambil keuntungan dan trailing stop.

Prinsip Strategi

Apabila harga penutupan bar Renko melanggar di atas purata bergerak HL2 22 tempoh, pergi panjang. Apabila harga penutupan bar Renko melanggar di bawah purata bergerak HL2 22 tempoh, pergi pendek. Dengan menilai hubungan antara harga dan purata bergerak, ia menangkap arah trend.

Purata bergerak HL2 (Paling Tinggi + Paling Rendah) / 2) adalah purata bergerak yang mengikuti trend, yang menggabungkan maklumat harga tertinggi dan terendah untuk menentukan arah trend dengan lebih tepat.

Di samping itu, strategi ini juga menetapkan sekatan hanya membuka kedudukan semasa sesi dagangan tertentu untuk mengelakkan kemungkinan turun naik pasaran yang besar.

Analisis Kelebihan

Ini adalah strategi trend yang agak mudah dan intuitif dengan kelebihan di bawah:

  1. Menggunakan bar Renko sebagai isyarat perdagangan dapat menapis bunyi pasaran dengan berkesan dan menangkap trend utama.

  2. Purata bergerak HL2 menggabungkan maklumat harga tertinggi dan terendah untuk penilaian trend yang lebih boleh dipercayai.

  3. Menetapkan titik stop loss dan mengambil keuntungan tetap boleh mengawal risiko perdagangan tunggal.

  4. Hentian pengangkutan boleh mengunci keuntungan sepanjang perkembangan trend untuk merealisasikan penjejakan trend.

  5. Mengehadkan sesi dagangan boleh mengurangkan kesan perubahan besar.

Analisis Risiko

Terdapat juga beberapa risiko dengan strategi ini:

  1. Strategi purata bergerak cenderung menghasilkan lebih banyak isyarat palsu.

  2. Ia tidak dapat mengatasi risiko jurang yang disebabkan oleh peristiwa tiba-tiba.

  3. Tetapan Renko yang tidak betul mungkin kehilangan peluang perdagangan yang lebih baik.

  4. Stop loss tetap dan mengambil keuntungan tidak dapat menyesuaikan diri dengan perubahan pasaran.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Tambah penunjuk atau keadaan lain untuk menapis isyarat palsu, contohnya, jumlah, osilator dll.

  2. Uji purata bergerak dengan parameter yang berbeza untuk mengetahui tempoh yang paling sesuai.

  3. Saiz kotak Renko juga boleh diuji dan dioptimumkan untuk parameter terbaik.

  4. Tambahkan mekanisme stop loss adaptif berdasarkan turun naik.

  5. Uji tetapan sesi dagangan yang berbeza untuk mengoptimumkan keadaan ini.

Kesimpulan

Kesimpulannya, ini adalah strategi mudah dan praktikal untuk mengenal pasti trend dan mengesan menggunakan purata bergerak Renko. Ia mempunyai logik perdagangan yang intuitif dan mekanisme kawalan risiko, sesuai untuk peniaga yang mencari pulangan yang stabil. Tetapi masih ada ruang untuk peningkatan dengan pengoptimuman parameter, menambah keadaan penapis, stop loss adaptif dan lain-lain untuk mendapatkan prestasi strategi yang lebih baik.


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

//@version=3
strategy("HL2 - 22 Cross", overlay=true)

// Stops and Profit inputs
inpTakeProfit   = input(defval = 300, title = "Take Profit", minval = 0)
inpStopLoss     = input(defval = 200, title = "Stop Loss", minval = 0)
inpTrailStop    = input(defval = 200, title = "Trailing Stop", minval = 0)
inpTrailOffset  = input(defval = 0, title = "Trailing Stop Offset", minval = 0)

// Stops and Profit Targets
useTakeProfit   = inpTakeProfit  >= 1 ? inpTakeProfit  : na
useStopLoss     = inpStopLoss    >= 1 ? inpStopLoss    : na
useTrailStop    = inpTrailStop   >= 1 ? inpTrailStop   : na
useTrailOffset  = inpTrailOffset >= 1 ? inpTrailOffset : na

//Specific Time to Trade
myspecifictradingtimes = input('0500-1600',  title="My Defined Hours")

longCondition1 = crossover(close, ema(hl2, 22))
longCondition2 = time(timeframe.period, myspecifictradingtimes) != 0
if longCondition1 and longCondition2
    strategy.entry("Long", strategy.long, comment="LongEntry")

shortCondition1 = crossunder(close, ema(hl2, 22))
shortCondition2 = time(timeframe.period, myspecifictradingtimes) != 0
if shortCondition1 and shortCondition2
    strategy.entry("Short", strategy.short, comment="ShortEntry")

strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)

Lebih lanjut