EMA,Hull,RSIの機会追跡戦略

作者: リン・ハーンチャオチャン開催日:2024年1月18日 15:46:35
タグ:

img

概要

この戦略は,移動平均値,ハル移動平均値および相対強度指数 (RSI) をベースに取引信号を構築する.これは,市場機会を自動的に特定し,ロングとショートポジションの間に切り替えることができる典型的な機会追跡戦略に属しています.中期および短期取引に適しています.

戦略の論理

  1. 傾向を判断するための指標として50期指数関数移動平均 (EMA) を計算する.
  2. 7日間のハル移動平均をより敏感で主要な平均指標として計算し,EMAを横切って黄金十字と死十字を形成します.
  3. RSIのオーバーカップラインとオーバーセールラインをそれぞれ60と45に設定します.60を超えるRSIはオーバーカップ信号で,45以下のRSIはオーバーセールエリアです.
  4. EMAの上向きの突入と同時に過買いが起こると,それはショート信号です.
  5. EMAが下向きに突入すると同時に 過売りが起こると,それは長い信号です.

戦略 の 利点

  1. EMA,Hull,RSIの組み合わせを使用して,市場の動向,勢い,過買い/過売り地域を包括的に判断し,信号の精度を向上させます.
  2. EMAは中期から長期間の動向を判断し,Hullは短期間の動向をリードし,RSIは過買い/過売りレベルを特定する.異なる期間の指標が協力して時間枠を超えて取引機会を捉える.
  3. 入力信号は,トレンド,インパルス,超買/超売ゾーンが同時に起動する基準を満たし,誤った信号を効果的にフィルタリングする必要があります.

戦略 の リスク

  1. 3つの指標のみを使用すると,いくつかの取引機会を逃す可能性があります.
  2. EMA と Hull 期間には継続的なテストと最適化が必要であり,不適切なパラメータ選択は信号品質に影響を与える可能性があります.
  3. RSI パラメータは,異なる株や通貨に対して調整されなければなりません.

強化 分野

  1. 多重共鳴による意思決定を可能にするため,さらに多くの補助指標を導入することができる.例えばボリンジャー帯,KC線など.
  2. パラメータは異なる製品に最適化できます.
  3. 短期的な偽造によって誤導されないように,より長い時間枠の分析を組み込むことができます.
  4. リスク管理のためにストップ・ロスの戦略を導入できます

概要

この戦略は,中期および短期間の取引機会を把握するために,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)


もっと