Strategi ini menggabungkan dua strategi perdagangan kuantitatif untuk menjana isyarat perdagangan yang lebih tepat dan boleh dipercayai. Strategi pertama adalah berdasarkan pembalikan harga dan yang kedua adalah berdasarkan analisis jumlah. Isyarat gabungan dapat meningkatkan keuntungan dengan berkesan.
Strategi ini terdiri daripada dua bahagian:
Menggunakan penunjuk STO untuk isyarat pembalikan. Pergi panjang apabila dekat naik selama 2 hari dan garis perlahan STO di bawah 50. Pergi pendek apabila dekat jatuh selama 2 hari dan garis cepat STO di atas 50.
Menganalisis hubungan harga-volume dalam tempoh untuk menentukan arah, dengan rata-rata bergerak.
Ia pergi lama apabila kedua-dua strategi isyarat panjang, dan pergi pendek apabila kedua-dua isyarat pendek.
Kombo meningkatkan kualiti isyarat dengan mengurangkan isyarat palsu dari kedua-dua strategi.
Risiko boleh dikurangkan dengan:
Strategi ini boleh ditingkatkan dengan:
Mengoptimumkan parameter STO
Nilai K, D yang disesuaikan untuk kombinasi terbaik
Pengesahan sekunder pemisahan jumlah
Dengan penunjuk seperti MACD, BOLL dll.
Mengoptimumkan tempoh purata bergerak
Ujian tempoh yang berbeza untuk isyarat yang lebih stabil
Menambah corak carta
Memasuki corak selain isyarat combo
Ujian parameter khusus produk
Parameter boleh berbeza di antara produk yang berbeza
Strategi ini menggabungkan strategi pembalikan dan jumlah untuk meningkatkan kualiti isyarat dan ketepatan. Tetapi pengoptimuman parameter, penunjuk teknikal tambahan dan lain-lain boleh memperbaiki prestasi. Kita boleh menyesuaikan secara berterusan berdasarkan hasil backtest, mengesahkan dalam perdagangan langsung, untuk mendapatkan strategi combo yang benar-benar kukuh. Ini memerlukan masa dan usaha yang besar, tetapi ganjaran akan menjadi signifikan juga.
/*backtest start: 2023-09-13 00:00:00 end: 2023-09-20 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 21/10/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 // This is another version of FVE indicator that we have posted earlier // in this forum. // This version has an important enhancement to the previous one that`s // especially useful with intraday minute charts. // Due to the volatility had not been taken into account to avoid the extra // complication in the formula, the previous formula has some drawbacks: // The main drawback is that the constant cutoff coefficient will overestimate // price changes in minute charts and underestimate corresponding changes in // weekly or monthly charts. // And now the indicator uses adaptive cutoff coefficient which will adjust to // all time frames automatically. // // 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 FVI(Samples,Perma,Cintra,Cinter) => pos = 0 xhl2 = hl2 xhlc3 = hlc3 xClose = close xIntra = log(high) - log(low) xInter = log(xhlc3) - log(xhlc3[1]) xStDevIntra = stdev(sma(xIntra, Samples) , Samples) xStDevInter = stdev(sma(xInter, Samples) , Samples) xVolume = volume TP = xhlc3 TP1 = xhlc3[1] Intra = xIntra Vintra = xStDevIntra Inter = xInter Vinter = xStDevInter CutOff = Cintra * Vintra + Cinter * Vinter MF = xClose - xhl2 + TP - TP1 FveFactor = iff(MF > CutOff * xClose, 1, iff(MF < -1 * CutOff * xClose, -1, 0)) xVolumePlusMinus = xVolume * FveFactor Fvesum = sum(xVolumePlusMinus, Samples) VolSum = sum(xVolume, Samples) xFVE = (Fvesum / VolSum) * 100 xEMAFVE = ema(xFVE, Perma) pos :=iff(xFVE > xEMAFVE, 1, iff(xFVE < xEMAFVE, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Volatility Finite Volume Elements", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- Samples = input(22, minval=1) Perma = input(40, minval=1) Cintra = input(0.1) Cinter = input(0.1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posFVI = FVI(Samples,Perma,Cintra,Cinter) pos = iff(posReversal123 == 1 and posFVI == 1 , 1, iff(posReversal123 == -1 and posFVI == -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 )