Tren Mengikuti Strategi Berdasarkan Renko Moving Average

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

img

Gambaran umum

Ini adalah strategi perdagangan yang memanfaatkan rata-rata bergerak Renko untuk identifikasi dan pelacakan tren. Logika inti dari strategi ini adalah untuk pergi panjang atau pendek ketika harga menembus rata-rata bergerak HL2 22 periode pada bilah Renko. Sementara itu, strategi ini juga menetapkan mekanisme manajemen risiko seperti stop loss, take profit dan trailing stop.

Prinsip Strategi

Ketika harga penutupan bar Renko melanggar di atas rata-rata bergerak HL2 periode 22, pergi panjang. Ketika harga penutupan bar Renko melanggar di bawah rata-rata bergerak HL2 periode 22, pergi pendek. Dengan menilai hubungan antara harga dan rata-rata bergerak, ia menangkap arah tren.

Rata-rata bergerak HL2 (Highest High + Lowest Low) / 2) adalah rata-rata bergerak mengikuti tren, yang menggabungkan informasi harga tertinggi tertinggi dan terendah terendah untuk lebih akurat menentukan arah tren.

Selain itu, strategi ini juga menetapkan pembatasan hanya membuka posisi selama sesi perdagangan tertentu untuk menghindari kemungkinan perubahan pasar yang besar.

Analisis Keuntungan

Ini adalah strategi tren yang relatif sederhana dan intuitif dengan keuntungan di bawah ini:

  1. Menggunakan bar Renko sebagai sinyal perdagangan dapat secara efektif menyaring kebisingan pasar dan menangkap tren utama.

  2. Rata-rata bergerak HL2 menggabungkan informasi harga tertinggi dan terendah untuk penilaian tren yang lebih andal.

  3. Menetapkan titik stop loss dan take profit tetap dapat mengendalikan risiko perdagangan tunggal.

  4. Trailing stop dapat mengunci keuntungan sepanjang perkembangan tren untuk mewujudkan pelacakan tren.

  5. Membatasi sesi perdagangan dapat mengurangi dampak dari perubahan besar sampai batas tertentu.

Analisis Risiko

Ada juga beberapa risiko dengan strategi ini:

  1. Strategi rata-rata bergerak cenderung menghasilkan lebih banyak sinyal palsu.

  2. Hal ini tidak dapat secara efektif mengatasi risiko kesenjangan yang disebabkan oleh peristiwa mendadak.

  3. Pengaturan Renko yang tidak tepat mungkin kehilangan peluang perdagangan yang lebih baik.

  4. Stop loss dan take profit tetap tidak dapat beradaptasi dengan perubahan pasar.

Arahan Optimasi

Strategi dapat dioptimalkan dalam aspek berikut:

  1. Tambahkan indikator atau kondisi lain untuk menyaring sinyal palsu, misalnya volume, osilator dll.

  2. Uji rata-rata bergerak dengan parameter yang berbeda untuk mengetahui periode yang paling cocok.

  3. Ukuran kotak Renko juga dapat diuji dan dioptimalkan untuk parameter terbaik.

  4. Tambahkan mekanisme stop loss adaptif berdasarkan volatilitas.

  5. Uji pengaturan sesi trading yang berbeda untuk mengoptimalkan kondisi ini.

Kesimpulan

Kesimpulannya, ini adalah strategi sederhana dan praktis untuk identifikasi tren dan pelacakan menggunakan rata-rata bergerak Renko. Ini memiliki logika perdagangan yang intuitif dan mekanisme kontrol risiko, cocok untuk pedagang yang mencari pengembalian yang stabil.


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