チャネルと線形回帰に基づくハルMAオシレーター戦略


作成日: 2023-12-01 16:47:01 最終変更日: 2023-12-01 16:47:01
コピー: 0 クリック数: 734
1
フォロー
1621
フォロワー

チャネルと線形回帰に基づくハルMAオシレーター戦略

概要

この戦略は,Hull MA,価格チャネル,EMA信号と線形回帰を組み合わせた波動取引戦略である.この戦略は,Hull MAを使用して,市場トレンドの方向を判断し,価格チャネルと線形回帰を判断し,下部地域を判断し,EMA信号を判断し,市場への入場時間を判断し,中短線トレンドを捕捉する.

戦略原則

この戦略は以下の指標で構成されています.

  1. Hull MA
    • Hull MAは,一般的パラメータの間は337であり,中長線のトレンド方向を表しています.
    • 2倍18周期WMAが337周期WMAより高いとき,多頭市場であり,逆に空頭市場である
  2. 価格チャンネル
    • 価格チャネルは,高低価格EMAで構成され,サポートとレジスタンスが形成されやすい領域を表します.
  3. EMA信号
    • EMAシグナルの期間は通常89サイクルで,ショートラインのトレンドと入場シグナルを表します.
  4. 線形回帰
    • 速線6周期,底と突破を判断する
    • 慢線89周期,中長線傾向の方向を判断する

入力論理:

多頭入場:Hull MA 上昇し,上線より価格が高く,短時間EMAを横断して線形逆行 空頭入場:Hull MA下向きで下線より低価格,線形下向きの回帰が短期EMAを通過する

試合の論理:

多頭出場:下線より低い価格で,線形回帰を下回る 空頭出場:上線より高い価格で,線形逆行を横切る

優位分析

この戦略の利点は以下の通りです.

  1. 複数の指標を組み合わせることで
    • ハルMAは主動傾向を判断し,チャンネルは支持圧力を判断し,EMAは入場タイミングを判断した
  2. 取引の波動を捉え,中途半端なトレンドを捉える
    • 戦略は反転主体の浮動取引戦略で,中短線周期ごとにトレンドを捉えます.
  3. リスクは管理可能で,撤退は少ない.
    • 戦略は,高確率領域でのみ信号を発信し,高殺低を追いかけるのを避ける

リスク分析

この戦略にはいくつかのリスクがあります.

  1. パラメータの最適化スペースは限られています.
    • 主要パラメータは,EMA周期がより固定であり,最適化スペースが小さい.
  2. 震災による損失の可能性
    • 価格の横軸の揺れが起きたとき,ストップ・ロスは引き起こす可能性があります.
  3. 特定の技術分析の基礎が必要です
    • 戦略的思考には価格行動と指標の知識が必要で,すべての人に適しているわけではありません.

ウェブのコンテンツを最適化するには,以下のポイントを考慮する必要があります.

  1. 余震による損失の削減など,損失の削減策の調整
  2. 進出ロジックを最適化
  3. MACDなどの他の指標のフィルターを追加します.

要約する

この戦略は,Hull MA,価格チャネル,EMA,および線形回帰などの複数の指標を総合的に使用し,より完全な中短線波動貿易戦略を形成する.単一の指標と比較して,この戦略は判断の正確性を大幅に向上させ,傾向と逆転の利潤を捕捉することができる.しかし,一定のリスクも存在し,技術分析の基礎が必要である.パラメータ調整と出場論理の最適化により,戦略の安定性をさらに向上させることができる.

ストラテジーソースコード
/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-30 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Swing Hull/SonicR/EMA/Linear Regression Strategy", overlay=true)
//Hull MA
n=input(title="HullMA Period",defval=377)
//
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)
condDown = n2 >= n1
condUp = condDown != true
col =condUp ? lime : condDown ? red : yellow
plot(n1,title="Hull MA", color=col,linewidth=3)
// SonicR + Line reg
EMA = input(defval=89, title="EMA Signal")
HiLoLen     = input(34, minval=2,title="High Low channel Length")
lr     = input(89, minval=2,title="Linear Regression Length")
pacC        = ema(close,HiLoLen)
pacL        = ema(low,HiLoLen)
pacH        = ema(high,HiLoLen)
DODGERBLUE = #1E90FFFF
// Plot the Price Action Channel (PAC) base on EMA high,low and close//
L=plot(pacL, color=DODGERBLUE, linewidth=1, title="High PAC EMA",transp=90)
H=plot(pacH, color=DODGERBLUE, linewidth=1, title="Low PAC EMA",transp=90)
C=plot(pacC, color=DODGERBLUE, linewidth=2, title="Close PAC EMA",transp=80)
//Moving Average//
signalMA =ema(close,EMA)
plot(signalMA,title="EMA Signal",color=black,linewidth=3,style=line)
linereg = linreg(close, lr, 0)
lineregf = linreg(close, HiLoLen, 0)
cline=linereg>linereg[1]?green:red
cline2= lineregf>lineregf[1]?green:red
plot(linereg, color = cline, title = "Linear Regression Curve Slow", style = line, linewidth = 1)
//plot(lineregf, color = cline2, title = "Linear Regression Curve Fast", style = line, linewidth = 1)
longCondition = n1>n2
shortCondition = longCondition != true
closeLong =  lineregf-pacH>(pacH-pacL)*2 and close<lineregf and linereg>signalMA
closeShort = pacL-lineregf>(pacH-pacL)*2 and close>lineregf and linereg<signalMA
if shortCondition    
    if (close[0] < signalMA[0] and close[1] > pacL[1] and linereg>pacL and close<n1 and pacL<n1) //cross entry
        strategy.entry("SHORT", strategy.short, comment="Short")
strategy.close("SHORT", when=closeShort) //output logic
if longCondition // swing condition          
    if (close[0] > signalMA[0] and close[1] < pacH[1] and linereg<pacH and close>n1 and pacH>n1) //cross entry
        strategy.entry("LONG", strategy.long, comment="Long")
strategy.close("LONG", when=closeLong) //output logic