Strategi ini secara eksperimental menggunakan kombinasi dari beberapa indikator dinamika seperti Chande Momentum Indicator, RMI Indicator, Triple HMA RSI, Double EVW RSI, Triple EMA RSI, dan lain-lain untuk menentukan arah tren dan masuk ketika semua indikator mengirimkan sinyal secara bersamaan.
Hitung indikator momentum Chande, dan atur garis jual beli.
Perhitungan indikator RMI, Triple HMA RSI, Double EVW RSI, Triple EMA RSI dan banyak lainnya.
Tentukan garis beli dan jual untuk setiap indikator.
Ketika indikator momentum Chande terjadi di atas melintasi garis beli, periksa apakah indikator lain juga di bawah garis beli masing-masing. Jika semua indikator memenuhi persyaratan secara bersamaan, sinyal beli dihasilkan.
Sebaliknya, jika Chande bergerak di bawah garis jual, dan indikator lainnya secara bersamaan melebihi garis jual masing-masing, maka akan ada sinyal jual.
Beberapa kombinasi indikator dapat saling diverifikasi untuk menghindari kesalahan penilaian.
Indikator Chande Dynamics sangat sensitif terhadap perubahan tren dan dapat menangkap pergeseran secara efektif.
Indikator RMI dapat menunjukkan tingkat momentum untuk menilai overbought dan oversold.
HMA RSI, EVW RSI, dan lain-lain diuji dengan cara yang berbeda.
Kombinasi multi-indikator memberikan fleksibilitas untuk menguji efektivitas indikator.
Komposisi multi-indikator lebih sulit untuk dipenuhi, sinyal lebih sedikit, kemungkinan kehilangan kesempatan.
Tidak ada pengendalian risiko seperti stop loss.
Efek indikator tergantung pada periode waktu dan mungkin tidak sensitif terhadap siklus yang berbeda.
Tanpa optimasi parameter, parameter indikator mungkin tidak tepat.
Tidak ada data deteksi yang cukup untuk memverifikasi strategi sepenuhnya.
Solusi yang sesuai:
Menurunkan nilai indeks secara tepat untuk memberikan lebih banyak peluang perdagangan.
Tambahkan stop loss bergerak atau stop loss keras untuk mengendalikan kerugian tunggal.
Uji coba pada siklus dan varietas yang berbeda untuk menemukan parameter optimal.
Optimasi parameter menggunakan metode seperti pembelajaran mesin atau pencarian grid.
“Kami akan melakukan pengamatan ulang di lebih banyak pasar untuk memastikan bahwa strategi ini stabil”.
Uji berbagai parameter indikator untuk menemukan konfigurasi optimal.
Menambahkan indikator momentum yang dapat beradaptasi dengan skala waktu yang berbeda.
Menggunakan deteksi tren untuk menghindari perdagangan berlawanan arah.
Menggunakan pembelajaran mesin untuk meningkatkan penentuan berat multi-indikator.
Tergabung dengan sistem linier, perubahan waktu masuk ke lapangan dipilih.
Strategi ini mencoba menemukan titik balik tren yang lebih andal dengan menggabungkan beberapa indikator momentum. Strategi strategi yang beragam ini memiliki ruang ekspansi dan pengoptimalan yang kuat, dapat dimulai dari pilihan parameter, bobot indikator, kontrol risiko, dan lain-lain, untuk mendapatkan lebih banyak peluang perdagangan yang sesuai dengan logika sistem dengan asumsi menjamin kualitas sinyal.
/*backtest
start: 2023-08-24 00:00:00
end: 2023-09-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © burgercrisis
//@version=4
strategy("RMI + Triple HMRSI + Double EVWRSI + TERSI Strategy")
//* Backtesting Period Selector | Component *//
//* https://www.tradingview.com/script/eCC1cvxQ-Backtesting-Period-Selector-Component *//
//* https://www.tradingview.com/u/pbergden/ *//
//* Modifications made *//
testStartYear = input(2021, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(999999, "Backtest Stop Year")
testStopMonth = input(9, "Backtest Stop Month")
testStopDay = input(26, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
testPeriod() => true
/////////////// END - Backtesting Period Selector | Component ///////////////
src = input(close, "Price", type = input.source)
CMOlength = input(9, minval=1, title="Alpha Chande Momentum Length")
//CMO
momm = change(src)
f1(m) => m >= 0.0 ? m : 0.0
f2(m) => m >= 0.0 ? 0.0 : -m
m1 = f1(momm)
m2 = f2(momm)
sm1 = sum(m1, CMOlength)
sm2 = sum(m2, CMOlength)
percent(nom, div) => 100 * nom / div
chandeMO = percent(sm1-sm2, sm1+sm2)
plot(chandeMO, "Chande MO", color=color.blue)
//RMI
// Copyright (c) 2018-present, Alex Orekhov (everget)
// Relative Momentum Index script may be freely distributed under the MIT license.
length3 = input(title="RMI Length", type=input.integer, minval=1, defval=30)
momentumLength3 = input(title="RMI Momentum ", type=input.integer, minval=1, defval=25)
up3 = rma(max(change(src, momentumLength3), 0), length3)
down3 = rma(-min(change(src, momentumLength3), 0), length3)
rmi3 = (down3 == 0 ? 100 : up3 == 0 ? 0 : 100 - (100 / (1 + up3 / down3)))-50
//
//
// end RMI, end Alex Orekhov copywrite
//
//
lengthMA = input(7)
lengthRSI = input(14)
thrsi = hma(hma(hma(rsi(src, lengthRSI), lengthMA), lengthMA), lengthMA)
thrsi1 = (thrsi-50)*10
lengthMA2 = input(7)
lengthRSI2 = input(14)
devwrsi = ((ema(ema(vwma(rsi(src, lengthRSI2), lengthMA2), lengthMA2), lengthMA2))-50)*5
lengthMA3 = input(7)
lengthRSI3 = input(14)
tersi = ((ema(ema(ema(rsi(src, lengthRSI3), lengthMA3), lengthMA3), lengthMA3))-50)*10
rmirsi = ((thrsi*rmi3/25))
//Boundary Lines
obLevel1 = input(0, title="Chande Sellline")
osLevel1 = input(0, title="Chande Buyline")
hline(obLevel1, color=#0bc4d9)
hline(osLevel1, color=#0bc4d9)
obLevel2 = input(0, title="Triple HMRSI Sellline")
osLevel2 = input(0, title="Triple HMRSI Buyline")
hline(obLevel2, color=#5a0bd9)
hline(osLevel2, color=#5a0bd9)
obLevel3 = input(0, title="DEVWRSI Sellline")
osLevel3 = input(0, title="DEVWRSI Buyline")
hline(obLevel3, color=#5a0bd9)
hline(osLevel3, color=#5a0bd9)
obLevel4 = input(0, title="TERSI Sellline")
osLevel4 = input(0, title="TERSI Buyline")
hline(obLevel4, color=#5a0bd9)
hline(osLevel4, color=#5a0bd9)
obLevel5 = input(0, title="RMI Sellline")
osLevel5 = input(0, title="RMI Buyline")
hline(obLevel5, color=#5a0bd9)
hline(osLevel5, color=#5a0bd9)
obLevel6 = input(0, title="RMI*RSI Sellline")
osLevel6 = input(0, title="RMI*RSI Buyline")
hline(obLevel6, color=#5a0bd9)
hline(osLevel6, color=#5a0bd9)
plot((thrsi1), title="THRSI")
plot(devwrsi, color=color.red, title="DEVWRSI")
plot(tersi, color=color.yellow, title="TERSI")
plot(rmirsi, color=color.purple, title="RMI*HMRSI")
plot(rmi3, color=color.orange, title="RMI")
longcondition1 = crossover(chandeMO, osLevel1)
shortcondition1 = crossunder(chandeMO, obLevel1)
longcondition2 = rmirsi<osLevel6 and rmi3<osLevel5 and tersi<osLevel4 and devwrsi<osLevel3 and thrsi1<osLevel2 and longcondition1
shortcondition2 = rmirsi>obLevel6 and rmi3>obLevel5 and tersi>obLevel4 and devwrsi>obLevel3 and thrsi1>obLevel2 and shortcondition1
if testPeriod()
if longcondition2
strategy.entry("Buy", strategy.long)
if shortcondition2
strategy.entry("Sell", strategy.short)
hline(0, color=#C0C0C0, linestyle=hline.style_dashed, title="Zero Line")