
Strategi ini didasarkan pada Moving Average, Hull Moving Average, dan Relatively Strong Index (RSI) untuk membangun sinyal perdagangan. Strategi ini merupakan strategi pelacakan peluang yang khas. Strategi ini dapat secara otomatis mengidentifikasi peluang pasar, melakukan pergeseran jangka panjang, dan berlaku untuk perdagangan jangka pendek dan menengah.
Strategi ini menggunakan kombinasi tiga indikator EMA, Hull, dan RSI untuk menangkap peluang perdagangan jangka pendek dan menengah. Produksi sinyal strategi perlu memenuhi tiga dimensi tren, momentum, dan overbought dan oversold, sehingga memfilter banyak sinyal palsu. Selain itu, stabilitas strategi dan kinerja perdagangan dapat ditingkatkan lebih lanjut dengan cara seperti pengoptimalan parameter dan pengenalan lebih banyak indikator tambahan.
/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
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/
// © Bitduke
//@version=4
strategy(shorttitle="EHR", title="Simple EMA_Hull_RSI", overlay=false,
calc_on_every_tick=false, pyramiding=0, default_qty_type=strategy.cash,
default_qty_value=1000, currency=currency.USD, initial_capital=1000,
commission_type=strategy.commission.percent, commission_value=0.075)
// EMA
len = input(minval=1, title="EMA Length", defval=50)
src = input(close, title="EMA Source")
final_ema = ema(src, len)
plot(final_ema, color=color.red, title="EMA")
overbought = input(60, title="overbought value")
oversold = input(45, title="oversold value")
overbought_signal = rsi(close, 14) > overbought
oversold_signal = rsi(close, 14) < oversold
barcolor(overbought_signal ? color.black : na)
barcolor(oversold_signal ? color.blue : na)
// Hull MA
n = input(title="Hull Length", defval=7)
n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))
n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?color.green:color.red
ma=plot(n1,color=c)
// Strategy Logic
longCondition = overbought_signal and crossover(n1,final_ema)
shortCondition = oversold_signal and crossover(final_ema,n1)
strategy.entry("EHR_Long", strategy.long, when=longCondition)
strategy.entry("EHR_Short", strategy.short, when=shortCondition)