Dual Reversal Overlap Selektif Strategi

Penulis:ChaoZhang, Tanggal: 2023-10-26 16:56:56
Tag:

img

Gambaran umum

Strategi Selektif Overlap Reversal Dual menggabungkan strategi trading reversal dengan filter overbought-oversold untuk mencapai alokasi aset dan trading timing.

Logika Strategi

Strategi ini terdiri dari dua sub-strategi yang tumpang tindih:

  1. 123 Strategi Pembalikan

Strategi ini menggunakan sinyal pembalikan berdasarkan dua hari berturut-turut pembalikan harga penutupan. Secara khusus, itu pergi panjang jika harga penutupan naik selama dua hari terakhir dan stokastik lambat 9 hari di bawah 50, dan pergi pendek jika harga penutupan jatuh selama dua hari terakhir dan stokastik cepat 9 hari di atas 50. Strategi pembalikan ini bertujuan untuk menangkap pembalikan tren jangka pendek.

  1. Strategi osilator DSS

Strategi ini menggunakan osilator DSS untuk analisis overbought-oversold. Ini akan panjang jika MA 5 hari berada di bawah MA 10 hari dan level oversold 20, dan akan pendek jika MA 5 hari berada di atas MA 10 hari dan level overbought 80. Strategi overbought-oversold ini membantu menghindari perdagangan yang tidak perlu di zona irasional.

Sinyal akhir hanya dihasilkan ketika kedua strategi setuju. hal ini meningkatkan profitabilitas dengan menggabungkan kekuatan kedua jenis strategi.

Analisis Keuntungan

  1. Menggabungkan keuntungan dari strategi pembalikan dan overbought-oversold - menangkap pembalikan jangka pendek sambil menghindari perdagangan zona irasional.

  2. Logika sederhana dan beberapa parameter membuat pembalikan 123 mudah diterapkan.

  3. Kombinasi meningkatkan keandalan sinyal dengan mengurangi sinyal palsu.

  4. Penyesuaian parameter yang fleksibel menyesuaikan strategi dengan pasar yang berbeda.

Analisis Risiko

  1. Strategi pembalikan memiliki picking up pennies risiko dan whipsaw di berbagai pasar.

  2. Optimasi DSS sulit dan sensitif terhadap parameter.

  3. Sinyal yang berbeda mungkin kehilangan peluang perdagangan.

  4. Indikator harga sederhana membatasi profitabilitas.

Solusi:

  1. Memperpendek periode penyimpanan untuk mengurangi risiko whipsaw.

  2. Pengaturan parameter yang cermat berdasarkan contoh yang berhasil.

  3. Tambahkan filter untuk meningkatkan strategi.

  4. Mengoptimalkan waktu masuk atau ukuran posisi.

Arah Peningkatan

  1. Uji indikator pembalikan lainnya untuk meningkatkan akurasi sinyal.

  2. Jelajahi indikator overbought-oversold alternatif seperti RSI.

  3. Tambahkan stop loss untuk mengunci keuntungan dan membatasi kerugian.

  4. Mengoptimalkan parameter untuk pasar yang berbeda.

  5. Pertimbangkan pengaturan parameter dinamis.

  6. Membangun model pembelajaran mesin untuk menghasilkan sinyal.

Kesimpulan

Strategi Selektif Overlap Reversal Dual menyediakan fungsi alokasi aset dan waktu perdagangan melalui kombinasi strategi reversal dan overbought-oversold. Strategi ini memiliki keuntungan seperti parameter yang fleksibel, logika sederhana, dan penerapan yang mudah, secara efektif menyaring perdagangan bising di zona irasional. Namun ada keterbatasan seperti risiko reversal dan kesulitan pengoptimalan parameter. Peningkatan masa depan dapat berasal dari penambahan stop loss, optimasi parameter, penggabungan pembelajaran mesin, dll. Secara keseluruhan, strategi ini menyediakan solusi perdagangan kuantitatif yang kuat.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 12/03/2020
// 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
// Double Smoothed Stochastics (DSS) is designed by William Blaw. 
// It attempts to combine moving average methods with oscillator principles. 
//
// 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

DSSB(PDS, EMAlen,TriggerLen,Overbought,Oversold) =>
    pos = 0
    xPreCalc = ema(stoch(close, high, low, PDS), EMAlen)
    xDSS = ema(stoch(xPreCalc, xPreCalc, xPreCalc, PDS), EMAlen)
    xTrigger = ema(xDSS, TriggerLen)
    pos := iff(xTrigger < xDSS and xTrigger < Oversold, -1,
	         iff(xTrigger > xDSS and xTrigger > Overbought, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & DSS Bressert", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
PDS = input(10, minval=1)
EMAlen = input(9, minval=1)
TriggerLen = input(5, minval=1)
Overbought = input(80, minval=1)
Oversold = input(20, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posDSS = DSSB(PDS, EMAlen,TriggerLen,Overbought,Oversold)
pos = iff(posReversal123 == 1 and posDSS == 1 , 1,
	   iff(posReversal123 == -1 and posDSS == -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