Strategi Pembalikan Ganda

Penulis:ChaoZhangTanggal: 2024-02-26 12:07:32
Tag:

img

Gambaran umum

Strategi pembalikan ganda adalah strategi kuantitatif yang menggabungkan pola pembalikan 123 dan pola pembalikan tiga bar untuk meningkatkan kualitas sinyal dan mengurangi risiko.

Prinsip Strategi

Strategi pembalikan ganda menggabungkan dua jenis strategi perdagangan yang berbeda. Yang pertama adalah strategi pembalikan 123, yang menggunakan indikator perbedaan harga dan dipicu ketika harga membalik selama dua hari berturut-turut dan indikator stokastik melintasi nilai ambang batas. Yang kedua adalah strategi pola pembalikan tiga bar, yang melihat grafik lilin tiga hari dan dipicu ketika tengah hari posting terendah dan hari terakhir ditutup di atas hari sebelumnya. Strategi memasuki posisi panjang atau pendek ketika kedua strategi secara bersamaan mengeluarkan sinyal ke arah yang sama.

Secara khusus, strategi pembalikan 123 menggunakan osilator stokastik 9 hari untuk mengidentifikasi kondisi overbought dan oversold. Ini menghasilkan sinyal beli ketika harga turun selama dua hari berturut-turut dan pembacaan stokastik turun di bawah 50, dan sinyal jual ketika harga naik selama dua hari berturut-turut dan puncak stokastik 50. Strategi pola pembalikan tiga bar mendeteksi apakah harga telah membentuk pola tinggi-rendah-tinggi selama tiga hari, menunjukkan oversold jangka pendek yang terbalik oleh momentum.

Strategi pembalikan ganda membutuhkan sinyal yang konsisten dari kedua strategi sebelum mengambil posisi apapun. Hal ini sangat mengurangi sinyal palsu, memastikan sistem hanya berdagang pada peluang probabilitas tinggi.

Analisis Keuntungan

Dibandingkan dengan sistem strategi tunggal, strategi pembalikan ganda memiliki keuntungan berikut:

  1. Kualitas sinyal yang lebih baik, lebih sedikit sinyal palsu
  2. Konfirmasi dua indikator, risiko penarikan yang lebih rendah
  3. Menangkap peluang pembalikan jangka pendek dan jangka menengah
  4. Mudah dimengerti dan diterapkan

Risiko dan Solusi

Risiko utama dari strategi pembalikan ganda adalah kehilangan beberapa peluang menguntungkan. Karena persyaratan sinyalnya yang ketat, beberapa peluang perdagangan yang diidentifikasi oleh indikator individu akan dilewatkan. Hal ini dapat dikurangi dengan menyesuaikan parameter untuk meringankan kondisi satu indikator dan meningkatkan frekuensi perdagangan.

Risiko lain adalah kedua indikator gagal secara bersamaan dalam kondisi pasar yang ekstrim, menghasilkan tingkat sinyal palsu yang lebih tinggi. Untuk kasus seperti itu, mekanisme stop-loss dapat ditambahkan untuk dengan cepat membalikkan posisi dan membatasi kerugian.

Saran Optimalisasi

Optimasi lebih lanjut untuk strategi pembalikan ganda meliputi:

  1. Sesuaikan parameter indikator stokastik untuk meningkatkan akurasi penilaian overbought/oversold
  2. Uji efektivitas di berbagai instrumen perdagangan untuk menemukan aset yang paling cocok
  3. Mengintegrasikan model pembelajaran mesin untuk membantu validasi sinyal dan meningkatkan akurasi
  4. Gabungkan lebih banyak statistik pasar seperti perubahan volume, volatilitas intraday untuk menentukan waktu masuk yang optimal.

Kesimpulan

Strategi pembalikan ganda berhasil menggabungkan prinsip-prinsip pembalikan rata-rata dengan analisis pola lilin, sepenuhnya menangkap siklus harga. Dibandingkan dengan metode mengikuti tren sederhana, strategi ini mencapai keseimbangan antara risiko dan imbalan. Dengan peningkatan terus menerus, nilai strategi akan divalidasi dari waktu ke waktu.


/*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
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 17/04/2019
// This is combo strategies for get 
// a cumulative signal. Result signal will return 1 if two strategies 
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// 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.
//
// Secon strategy
// This startegy based on 3-day pattern reversal described in "Are Three-Bar 
// Patterns Reliable For Stocks" article by Thomas Bulkowski, presented in 
// January,2000 issue of Stocks&Commodities magazine.
// That pattern conforms to the following rules:
// - It uses daily prices, not intraday or weekly prices;
// - The middle day of the three-day pattern has the lowest low of the three days, with no ties allowed;
// - The last day must have a close above the prior day's high, with no ties allowed;
// - Each day must have a nonzero trading range. 
//
// 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

BarReversalPattern() =>
    pos = 0.0
    pos := iff(open[2] > close[2] and high[1] < high[2] and low[1] < low[2] and low[0] > low[1] and high[0] > high[1], 1,
	         iff(open[2] < close[2] and high[1] > high[2] and low[1] > low[2] and high[0] < high[1] and low[0] < low[1], -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Strategies 123 Reversal and 3-Bar-Reversal-Pattern", shorttitle="Combo Backtest", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
pos3BarReversalPattern = BarReversalPattern()
pos = iff(posReversal123 == 1 and pos3BarReversalPattern == 1 , 1,
	   iff(posReversal123 == -1 and pos3BarReversalPattern == -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 ? red: possig == 1 ? green : blue ) 

Lebih banyak