この戦略は,移動平均値,ハル移動平均値および相対強度指数 (RSI) をベースに取引信号を構築する.これは,市場機会を自動的に特定し,ロングとショートポジションの間に切り替えることができる典型的な機会追跡戦略に属しています.中期および短期取引に適しています.
この戦略は,中期および短期間の取引機会を把握するために,EMA,HullおよびRSIの組み合わせを使用する. 戦略は,誤った信号をフィルタリングするために,トレンド,モメンタムおよびオーバーバイト/オーバーセール寸法における基準を満たす必要があります. パラメータの最適化や安定性と取引パフォーマンスの向上のためにより多くの補助指標を導入することで戦略をさらに強化することができます.
/*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)