Strategi arbitraj pembalikan berganda adalah algoritma arbitraj yang mengintegrasikan penunjuk pembalikan berganda. Ia menggabungkan sistem pembalikan 123 dan sub-strategi osilator ayunan Gann dan menghasilkan isyarat perdagangan apabila kedua-dua sub-strategi memberikan isyarat pada masa yang sama untuk menjalankan operasi arbitraj.
Strategi ini terdiri daripada dua sub-strategi:
123 Sistem Pembalikan: Ia adalah dari buku
Gann Swing Oscillator: Ia diadaptasi dari buku Robert Krausz
Logik perdagangan strategi arbitraj ini ialah: apabila arah isyarat kedua-dua sub-strategi konsisten, isyarat perdagangan sebenar dihasilkan. Isyarat panjang adalah apabila kedua-dua sub-strategi memberikan isyarat panjang pada masa yang sama; isyarat pendek adalah apabila kedua-dua sub-strategi memberikan isyarat pendek pada masa yang sama.
Kelebihan terbesar strategi ini ialah dengan mengintegrasikan isyarat kedua-dua sub-strategi, ia dapat menapis isyarat palsu dengan berkesan dan meningkatkan ketepatan isyarat perdagangan. Kedua-dua sub-strategi masing-masing mempunyai kekuatan mereka sendiri. Sistem pembalikan 123 dapat menangkap trend pembalikan tiba-tiba, sementara osilator ayunan Gann dapat menentukan kematangan pembalikan trend. Menggabungkan keduanya dapat menjadikan isyarat perdagangan lebih boleh dipercayai, dengan itu meningkatkan kestabilan strategi.
Risiko utama strategi ini adalah bahawa kebarangkalian arah isyarat perdagangan yang tidak konsisten dari kedua-dua sub-strategi agak besar, yang boleh menyebabkan isyarat perdagangan yang tidak mencukupi. Di samping itu, sub-strategi itu sendiri juga mempunyai risiko isyarat palsu tertentu. Gabungan kedua-dua faktor ini boleh menyebabkan jumlah perdagangan yang tidak mencukupi untuk strategi, sehingga tidak dapat sepenuhnya menangkap peluang pasaran.
Untuk mengurangkan risiko, parameter sub-strategi boleh diselaraskan untuk meningkatkan kekerapan perdagangan secara sederhana, atau penunjuk lain boleh digabungkan untuk membantu menapis isyarat palsu.
Strategi ini boleh dioptimumkan dalam aspek berikut:
Strategi arbitraj pembalikan berganda membentuk isyarat perdagangan yang agak kuat dengan mengintegrasikan dua jenis strategi pembalikan yang berbeza. Ia dapat menapis bunyi bising dengan berkesan dan meningkatkan kualiti isyarat, yang sesuai untuk menangkap peluang pembalikan di pasaran. Walau bagaimanapun, kebarangkalian isyarat yang tidak konsisten dari sub-strategi agak besar, yang boleh menyebabkan kekerapan perdagangan yang tidak mencukupi. Di samping itu, tetapan parameter strategi gabungan itu sendiri agak kompleks, yang memerlukan ujian dan pengoptimuman yang mencukupi untuk mencapai hasil yang 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 )