Strategi ini menghasilkan sinyal perdagangan dengan menggabungkan indikator 123 Reversal dan indikator RAVI. Reversal 123 termasuk dalam jenis strategi reversal, menggunakan pergerakan harga dalam dua hari terakhir untuk menentukan tren harga di masa depan. Indikator RAVI menentukan apakah harga telah memasuki zona overbought atau oversold. Strategi memutuskan untuk pergi panjang atau pendek berdasarkan sinyal gabungan dari kedua indikator.
Indikator ini didasarkan pada nilai K dari indikator Stochastic. Secara khusus, itu pergi panjang ketika harga penutupan hari ini lebih rendah dari dua hari sebelumnya dan garis stochastic lambat 9 hari lebih rendah dari 50. Ini pergi pendek ketika harga penutupan hari ini lebih tinggi dari dua hari sebelumnya dan garis stochastic cepat 9 hari lebih tinggi dari 50. Jadi masuk berdasarkan konfirmasi titik pembalikan.
Indikator ini menghasilkan sinyal dengan menghitung perbedaan antara rata-rata bergerak cepat dan lambat. Secara khusus, perbedaan antara MA 7 hari dan MA 65 hari. Ini panjang ketika perbedaan lebih besar dari ambang batas dan pendek ketika lebih rendah dari ambang batas. Jadi area overbought dan oversold dapat diidentifikasi ketika MAs cepat dan lambat bersilang.
Sinyal dihasilkan ketika 123 Reversal dan RAVI setuju pada arah. Sinyal panjang dipicu ketika kedua indikator menunjukkan 1 dan sinyal pendek dipicu ketika keduanya menunjukkan -1. Konfirmasi ganda ini menghindari sinyal yang salah dari satu indikator.
Strategi ini mempertimbangkan faktor pembalikan dan tren. Konfirmasi ganda membantu menghindari sinyal palsu. Langkah selanjutnya bisa memperkenalkan algoritma pembelajaran mesin untuk optimasi parameter adaptif. Atau menggabungkan strategi ini dengan jenis strategi lain untuk mencapai diversifikasi portofolio sambil mempertahankan keuntungan dan mengurangi penarikan maksimum.
/*backtest start: 2023-11-20 00:00:00 end: 2023-12-20 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 31/05/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 // The indicator represents the relative convergence/divergence of the moving // averages of the financial asset, increased a hundred times. It is based on // a different principle than the ADX. Chande suggests a 13-week SMA as the // basis for the indicator. It represents the quarterly (3 months = 65 working days) // sentiments of the market participants concerning prices. The short moving average // comprises 10% of the one and is rounded to seven. // // 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 RAVI(LengthMAFast, LengthMASlow, TradeLine) => pos = 0.0 xMAF = sma(close, LengthMAFast) xMAS = sma(close, LengthMASlow) xRAVI = ((xMAF - xMAS) / xMAS) * 100 pos:= iff(xRAVI > TradeLine, 1, iff(xRAVI < TradeLine, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Range Action Verification Index (RAVI)", 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, "---- Range Action Verification Index (RAVI) ----") LengthMAFast = input(title="Length MA Fast", defval=7) LengthMASlow = input(title="Length MA Slow", defval=65) TradeLine = input(0.14, step=0.01) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posRAVI = RAVI(LengthMAFast, LengthMASlow, TradeLine) pos = iff(posReversal123 == 1 and posRAVI == 1 , 1, iff(posReversal123 == -1 and posRAVI == -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 )