Strategi pembalikan tabrakan multi-indikator

Penulis:ChaoZhang, Tanggal: 2024-01-04 18:02:12
Tag:

img

Gambaran umum

Strategi ini dirancang sebagai strategi pembalikan yang efisien dengan menggabungkan sinyal dua indikator. Ini mengintegrasikan sinyal pembalikan berdasarkan indikator stokastik dan sistem yang melacak jumlah hari naik berturut-turut. Strategi ini hanya akan menempatkan pesanan ketika kedua sinyal memicu beli atau jual secara bersamaan. Mekanisme tabrakan multi-indikator ini dapat secara efektif menyaring beberapa sinyal yang tidak valid dan meningkatkan tingkat kemenangan.

Prinsip

Strategi ini terdiri dari dua bagian. Bagian pertama adalah sistem pembalikan 123, yang mengamati perubahan harga penutupan selama dua hari terakhir, serta nilai indikator stokastik lambat 3 periode. Secara khusus, ketika penutupan kemarin lebih rendah dari 2 hari sebelumnya dan penutupan hari ini lebih tinggi dari kemarin, dan stokastik lambat 9 periode di bawah 50, pergi panjang; sebaliknya, ketika penutupan hari ini di bawah kemarin dan stokastik cepat di atas 50, pergi pendek.

Indikator kedua melacak jumlah hari naik berturut-turut baru-baru ini selama n hari. Jika n hari terakhir semuanya naik, outputnya 1, jika tidak 0, indikator ini digunakan untuk mengidentifikasi pembentukan tren.

Akhirnya, strategi hanya akan mengeksekusi perdagangan ketika sinyal pembalikan 123 dan jumlah hari naik berturut-turut menunjukkan status beli atau jual secara bersamaan.

Analisis Keuntungan

Keuntungan terbesar dari strategi kombinasi multi-indikator ini adalah dapat meningkatkan keandalan sinyal dengan menyaring beberapa yang tidak valid.

  1. Pembalikan 123 sendiri memiliki beberapa kemampuan skrining untuk menghindari gangguan kebisingan.

  2. Parameter stokastik perbandingan garis cepat dan lambat 9 hari dan 3 hari dapat meluruskan perubahan parameter dan menghindari fluktuasi jangka pendek dan meningkatkan stabilitas.

  3. Parameter yang dapat disesuaikan termasuk stok, jumlah parameter hari naik memungkinkan penyesuaian dengan pasar yang berbeda.

  4. Berdagang kedua arah memberikan lebih banyak peluang shorting.

Analisis Risiko

Ada juga beberapa risiko untuk strategi ini:

  1. Kombinasi multi-indikator, sementara meningkatkan akurasi sinyal, juga dapat kehilangan beberapa peluang dan membatasi keuntungan.

  2. Sinyal pembalikan memiliki risiko yang melekat untuk terjebak, yang membutuhkan stop loss untuk mengendalikan risiko.

  3. Pengaturan parameter yang tidak benar dapat mempengaruhi kinerja yang membutuhkan penyesuaian antara pasar.

  4. Memegang posisi jangka panjang tanpa stop loss yang tepat waktu atau mengejar pembalikan saham juga membawa risiko.

Oleh karena itu, langkah-langkah berikut dapat diambil untuk mengurangi risiko:

  1. Meredakan kondisi parameter dengan tepat untuk mempertahankan lebih banyak peluang perdagangan.

  2. Tetapkan titik stop loss untuk membatasi kerugian per perdagangan.

  3. Mengoptimalkan parameter dan menetapkan aturan parameter untuk pasar yang berbeda.

  4. Hindari menyimpan saham tunggal untuk jangka panjang dan menjaga likuiditas.

Arahan Optimasi

Masih ada potensi besar untuk mengoptimalkan strategi pembalikan multi-indikator ini, terutama dari aspek berikut:

  1. Uji lebih banyak kombinasi indikator untuk menemukan pertandingan yang lebih baik.

  2. Gunakan algoritma pembelajaran mesin untuk mengoptimalkan parameter secara otomatis.

  3. Tambahkan kondisi stop loss dan take profit untuk lebih kuat.

  4. Uji jangka waktu yang berbeda dalam bagian indikator tren.

  5. Evaluasi penerapan di indeks saham, forex, komoditas, cryptocurrency.

  6. Merancang strategi penggabungan yang secara dinamis menyesuaikan alokasi di beberapa pasar secara bersamaan.

Ringkasan

Strategi ini dengan terampil menggabungkan beberapa indikator untuk merancang strategi perdagangan pembalikan yang efisien namun stabil. Dibandingkan dengan indikator tunggal, mekanisme tabrakan multi-indikator secara efektif menyaring sinyal palsu. Sementara itu, strategi ini juga memperbarui metode pembalikan tradisional dengan menambahkan indikator tren baru untuk konfirmasi sinyal. Dengan optimasi parameter, stop loss, adaptasi di seluruh pasar, dan banyak lagi, ini menjadi alat perdagangan kuantitatif yang kuat.


/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 26/03/2021
// 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
// Evaluates for n number of consecutive higher closes. Returns a value 
// of 1 when the condition is true or 0 when false.
//
// 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


NBU(nLength) =>
    pos = 0.0
    nCounter = 0
    nCounter :=  iff(close[1] >= open[1], nz(nCounter[1],0)+1,
                  iff(close[1] < open[1], 0, nCounter))
    C1 = iff(nCounter >= nLength, 1, 0)
    posprice = 0.0
    posprice := iff(C1== 1, close, nz(posprice[1], 0)) 
    pos := iff(posprice > 0, 1, 0)
    pos

strategy(title="Combo Backtest 123 Reversal & N Bars Up", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- N Bars Up ----")
nLength = input(4, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posNBU = NBU(nLength)
pos = iff(posReversal123 == 1 and posNBU == 1 , 1,
	   iff(posReversal123 == -1 and posNBU == -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