この戦略は,それぞれの利点を活用し,取引決定の精度を向上させるために,ウィリアムズ・ダブル指数関数移動平均値とイチモク・キンコウ・ヒョウを2つの技術指標と組み合わせます. ウィリアムズ・ダブル指数関数移動平均値は価格変動の傾向を完全に反映し,イチモク・キンコウ・ヒョウはトレンド逆転の早期警告を提供することができます.
ウィリアムズ倍率指数移動平均線には,速い線と遅い線が含まれます.速い線は,2* ((n/2期重量移動平均線) と,ゆっくりとした線はn期重量移動平均線で計算されます.速い線が下の方からスローラインを越えると,それは購入信号であり,上から下を通ると,それは販売信号です.
イチモク・キンコウ・ヒョウは,テンカンセン,キジュンセン,リードライン,雲層4つの構成要素で構成されている.テンカンセンとキジュンセンとの間の黄金の十字は購入信号であり,死亡十字は販売信号である.価格が雲層の上または下縁を突破すると,それぞれ購入または販売をシグナルする.
この戦略は,両方の指標の強みを組み合わせます.最初の決定因子はウィリアムズ指標からの信号であり,もう1つはイチモク・キンコウ・ヒョウからの確認であり,誤った信号を効果的にフィルタリングし,意思決定の正確性を向上させます.
この戦略は,トレンド方向を判断するウィリアムズ指標の能力と,逆転の早期警告を提供するイチモク・キンコウ・ヒョーの能力を完全に活用し,取引決定の正確性を大幅に向上させます.パラメータ調整や他の指標との組み合わせなどのさらなる最適化は,市場の変化に適応するための持続可能な強化を可能にします.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Hull MA-X + Ichimoku Kinko Hyo", shorttitle="Hi", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1000, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0) keh=input(title="Double HullMA",defval=12, minval=1) n2ma=2*wma(close,round(keh/2)) nma=wma(close,keh) diff=n2ma-nma sqn=round(sqrt(keh)) n2ma1=2*wma(close[1],round(keh/2)) nma1=wma(close[1],keh) diff1=n2ma1-nma1 sqn1=round(sqrt(keh)) n1=wma(diff,sqn) n2=wma(diff1,sqn) b=n1>n2?lime:red c=n1>n2?green:red d=n1>n2?red:green TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods") KijunSenPeriods = input(24, minval=1, title="Kijun Sen Periods") SenkouSpanBPeriods = input(51, minval=1, title="Senkou Span B Periods") displacement = input(24, minval=1, title="Displacement") donchian(len) => avg(lowest(len), highest(len)) TenkanSen = donchian(TenkanSenPeriods) KijunSen = donchian(KijunSenPeriods) SenkouSpanA = avg(TenkanSen, KijunSen) SenkouSpanB = donchian(SenkouSpanBPeriods) SenkouSpanH = max(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1]) SenkouSpanL = min(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1]) ChikouSpan = close[displacement-1] Hullfast=plot(n1,color=c) Hullslow=plot(n2,color=c) plot(cross(n1, n2) ? n1:na, style = circles, color=b, linewidth = 4) plot(cross(n1, n2) ? n1:na, style = line, color=d, linewidth = 3) plot(TenkanSen, color=blue, title="Tenkan Sen", linewidth = 2) plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3) plot(close, offset = -displacement, color=orange, title="Chikou Span", linewidth = 2) sa=plot (SenkouSpanA, offset = displacement, color=green, title="Senkou Span A", linewidth = 2) sb=plot (SenkouSpanB, offset = displacement, color=red, title="Senkou Span B", linewidth = 3) fill(sa, sb, color = SenkouSpanA > SenkouSpanB ? green : red) longCondition = n1>n2 and close>n2 and close>ChikouSpan and close>SenkouSpanH and (TenkanSen>KijunSen or close>KijunSen) if (longCondition) strategy.entry("Long",strategy.long) shortCondition = n1<n2 and close<n2 and close<ChikouSpan and close<SenkouSpanL and (TenkanSen<KijunSen or close<KijunSen) if (shortCondition) strategy.entry("Short",strategy.short) closelong = n1<n2 and close<n2 and (TenkanSen<KijunSen or close<TenkanSen or close<KijunSen or close<SenkouSpanL) if (closelong) strategy.close("Long") closeshort = n1>n2 and close>n2 and (TenkanSen>KijunSen or close>TenkanSen or close>KijunSen or close>SenkouSpanH) if (closeshort) strategy.close("Short")