Strategi Pembalikan Siklus Mengikuti Tren Setelah Pullback

Penulis:ChaoZhang, Tanggal: 2023-11-15 17:13:18
Tag:

img

Gambaran umum

Strategi ini menggabungkan dua indikator: pembalikan rata-rata bergerak dan osilator harga detrend untuk menghasilkan sinyal perdagangan dan menangkap tren rebound setelah pembalikan siklus.

Prinsip-prinsip

Strategi ini terutama menggunakan dua indikator teknis berikut untuk penilaian sinyal perdagangan:

  1. Pembalikan Rata-rata Gerak

    Ini menghitung harga uptrend atau downtrend dalam dua hari terakhir dikombinasikan dengan nilai garis cepat K untuk menentukan apakah sinyal pembalikan terjadi. Ketika harga terus meningkat dalam dua hari terakhir dan nilai garis cepat K lebih rendah dari nilai garis lambat K, sinyal beli dihasilkan. Ketika harga terus turun dalam dua hari terakhir dan nilai garis cepat K lebih tinggi dari nilai garis lambat K, sinyal jual dihasilkan.

  2. Harga Detrend Oscillator

    Detrend Price Oscillator menggambar garis rata-rata bergerak horizontal dan mengidentifikasi siklus harga berdasarkan hubungan antara harga dan garis. Ini menyaring tren yang lebih lama dari periode perhitungan, sehingga mengungkapkan fluktuasi jangka pendek yang tersembunyi. Ketika harga berada di atas garis rata-rata bergerak, itu adalah sinyal beli. Ketika harga berada di bawah garis, itu adalah sinyal jual.

Strategi ini menggabungkan sinyal dari kedua indikator. yaitu, ketika sinyal pembalikan rata-rata bergerak muncul dan osilator detrend harga juga memberikan sinyal pembalikan konfirmasi, pesanan perdagangan dihasilkan. Ini dapat menyaring beberapa sinyal pembalikan yang tidak valid dan menangkap tren rebound setelah pembalikan.

Keuntungan

Keuntungan terbesar dari strategi ini adalah bahwa ia memanfaatkan kekuatan dari dua indikator untuk konfirmasi pelengkap, yang dapat secara efektif menyaring sinyal yang tidak valid dan meningkatkan keandalan sinyal.

Indikator pembalikan rata-rata bergerak sendiri cenderung menghasilkan sinyal palsu. Bergantung hanya pada itu untuk penilaian cenderung mengejar puncak dan memukul dasar. Pengenalan osilator detrend harga untuk kombinasi dapat menghindari operasi pembalikan di zona osilasi yang tidak ideal.

Pengaturan parameter dari osilator detrend harga juga menentukan bahwa ia hanya mengidentifikasi fluktuasi jangka pendek, yang sangat cocok dengan penilaian pembalikan rata-rata bergerak dan dapat mengidentifikasi waktu pembalikan yang wajar.

Risiko

Risiko utama dari strategi ini meliputi:

  1. Momentum rebound yang tidak cukup, cenderung terjebak

Pembalikan rata-rata bergerak cenderung terjadi di kisaran sisi. Jika momentum rebound tidak cukup, kemungkinan akan callback dan menyentuh stop loss lagi, gagal untuk mendapatkan keuntungan.

  1. Pengaturan parameter yang tidak benar

Jika parameter osilator harga detrend diatur terlalu besar, hal ini akan mengidentifikasi tren jangka menengah dan panjang; jika terlalu kecil, hal ini akan meningkatkan risiko penilaian yang salah.

  1. Kegagalan pembalikan karena kejadian mendadak

Peristiwa berita utama dapat mengganggu penilaian tren yang ada, sehingga gagal sinyal pembalikan.

Arahan Optimasi

Strategi ini dapat dioptimalkan lebih lanjut dalam aspek berikut:

  1. Tambahkan mekanisme stop loss

Tentukan stop loss atau time stop loss yang wajar untuk mengendalikan single loss.

  1. Gabungkan dengan indikator volume

Tambahkan konfirmasi volume, seperti mengeluarkan sinyal hanya ketika memecahkan volume rata-rata, untuk menghindari terobosan yang tidak efektif karena momentum yang tidak cukup.

  1. Optimasi parameter dinamis

Dinamis mengoptimalkan parameter sesuai dengan kondisi pasar, meredakan parameter dengan tepat selama tren yang jelas, dan memperketat parameter selama konsolidasi.

  1. Menggunakan metode pembelajaran mesin untuk optimasi dinamis

Menggunakan metode pembelajaran mesin seperti hutan acak untuk mengevaluasi dan memilih kombinasi parameter untuk mencapai optimasi cerdas dinamis.

Ringkasan

Strategi ini menggabungkan kekuatan dua indikator secara wajar untuk menangkap tren rebound pada titik pembalikan. Meskipun masalah seperti terjebak dan optimasi parameter tetap ada, gagasan keseluruhan jelas dan logis.


/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 30/12/2019
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The Detrend Price Osc indicator is similar to a moving average, 
// in that it filters out trends in prices to more easily identify 
// cycles. The indicator is an attempt to define cycles in a trend 
// by drawing a moving average as a horizontal straight line and 
// placing prices along the line according to their relation to a 
// moving average. It provides a means of identifying underlying 
// cycles not apparent when the moving average is viewed within a 
// price chart. Cycles of a longer duration than the Length (number 
// of bars used to calculate the Detrend Price Osc) are effectively 
// filtered or removed by the oscillator.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

DPO(Length) =>
    pos = 0.0
    xPrice = close
    xsma = sma(xPrice, Length)
    nRes = xPrice - xsma
    pos := iff(nRes > 0, 1,
    	     iff(nRes < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Detrended Price Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthDPO = input(14, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDPO = DPO(LengthDPO)
pos = iff(posReversal123 == 1 and posDPO == 1 , 1,
	   iff(posReversal123 == -1 and posDPO == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Lebih banyak