Strategi reversal arbitrage dual adalah algoritma arbitrage yang mengintegrasikan indikator reversal dual. Ini menggabungkan sistem reversal 123 dan sub-strategi Gann swing oscillator dan menghasilkan sinyal perdagangan ketika kedua sub-strategi memberikan sinyal pada saat yang sama untuk melakukan operasi arbitrage.
Strategi ini terdiri dari dua sub-strategi:
123 Reversal System: Ini berasal dari buku
Gann Swing Oscillator: Ini diadaptasi dari buku Robert Krausz
Logika perdagangan dari strategi arbitrage ini adalah: ketika arah sinyal dari dua sub-strategi konsisten, sinyal perdagangan yang sebenarnya dihasilkan.
Keuntungan terbesar dari strategi ini adalah dengan mengintegrasikan sinyal dari dua sub-strategi, dapat secara efektif menyaring sinyal palsu dan meningkatkan akurasi sinyal perdagangan. Kedua sub-strategi masing-masing memiliki kekuatan mereka sendiri. Sistem pembalikan 123 dapat menangkap tren pembalikan tiba-tiba, sementara osilator ayunan Gann dapat menentukan kematangan pembalikan tren. Menggabungkan keduanya dapat membuat sinyal perdagangan lebih dapat diandalkan, sehingga meningkatkan stabilitas strategi.
Risiko utama dari strategi ini adalah bahwa kemungkinan arah sinyal perdagangan yang tidak konsisten dari dua sub-strategi relatif besar, yang dapat menyebabkan sinyal perdagangan yang tidak cukup. Selain itu, sub-strategi itu sendiri juga memiliki risiko tertentu dari sinyal palsu. Kombinasi dari kedua faktor ini dapat menyebabkan jumlah perdagangan yang tidak cukup untuk strategi, sehingga tidak dapat sepenuhnya menangkap peluang pasar.
Untuk mengurangi risiko, parameter sub-strategi dapat disesuaikan untuk meningkatkan frekuensi perdagangan secara moderat, atau indikator lain dapat dikombinasikan untuk membantu menyaring sinyal palsu.
Strategi dapat dioptimalkan dalam aspek berikut:
Strategi arbitrage reversal ganda membentuk sinyal perdagangan yang relatif kuat dengan mengintegrasikan dua jenis strategi reversal yang berbeda. Ini dapat secara efektif menyaring kebisingan dan meningkatkan kualitas sinyal, cocok untuk menangkap peluang reversal di pasar. Namun, probabilitas sinyal yang tidak konsisten dari sub-strategi relatif besar, yang dapat menyebabkan frekuensi perdagangan yang tidak cukup. Selain itu, pengaturan parameter strategi kombinasi itu sendiri cukup kompleks, yang membutuhkan pengujian dan pengoptimalan yang cukup untuk mencapai hasil terbaik.
/*backtest start: 2024-01-06 00:00:00 end: 2024-02-05 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 04/11/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 // The Gann Swing Oscillator has been adapted from Robert Krausz's book, // "A W.D. Gann Treasure Discovered". The Gann Swing Oscillator helps // define market swings. // // 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 GannSO(Length) => pos = 0.0 xGSO = 0.0 xHH = highest(Length) xLL = lowest(Length) xGSO:= iff(xHH[2] > xHH[1] and xHH[0] > xHH[1], 1, iff(xLL[2] < xLL[1] and xLL[0] < xLL[1], -1, nz(xGSO[1],0))) pos := iff(xGSO > 0, 1, iff(xGSO < 0, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Gann Swing 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) //------------------------- LengthGSO = input(5, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posGannSO = GannSO(LengthGSO) pos = iff(posReversal123 == 1 and posGannSO == 1 , 1, iff(posReversal123 == -1 and posGannSO == -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 )