貿易戦略の動揺指標

作者: リン・ハーンチャオチャン, 日付: 2024-02-20 11:12:44
タグ:

一目均衡表震荡指标交易策略

概要

この戦略は,第一均衡表指標とブリンライン波帯指標を組み合わせた量化取引戦略である.この戦略は,第一均衡表の変換線,基線,前注線,後注線を用い,取引信号を構築し,同時にブリンライン波帯による市場の波動性を判断し,適切なタイミングで入場する.

戦略の原理

均衡表の指標

第1の均衡表指標は,回転線,基准線,前注線,後注線の4つの曲線で構成される.この回転線は近期 (9日) の収束価格平均であり,基准線はより長期 (26日) の収束価格平均である.前注線は回転線と基准線の平均であり,優位性がある.後注線はより長期 (52日) の収束価格平均であり,遅滞がある.低短期平均線が長期平均線を突破または突破すると買取・売却信号が生じる.

ブリンライン波帯

ブリンライン波帯は,中間線,上間線,下間線からなる. 中間線は,n日 (ここでは20日) の閉店価格の単純な移動平均線である. 上間線は,中間線加えてk倍 (ここでは2倍) の標準差である. 下間線は,中間線からk倍の標準差を除く. それは価格が波動範囲内にいるかどうかを判断し,市場波動の程度を判断する.

この戦略では,注線後の金と死が買取・売却信号を形成する.同時に,ブリンライン波帯と組み合わせて価格変動を判断し,波動が少ないときに入場信号を判断する.

優位性分析

この戦略は,市場動向と波動性を総合的に判断する,第一均衡表指標とブリンライン帯指標を組み合わせて,市場変化の情報を効果的に抽出し,売り先を判断することができます.第一均衡表は,市場の主要なトレンド方向を特定し,ブリンライン波帯は,特定のエントリー時刻を判断することができます.

この戦略パラメータは調節可能で,異なる品種や市場環境に応じて最適化され,適応性が強い.第一に,均衡表は,異なるパラメータの組み合わせを使用して,異なるサイクル内の取引機会を識別することができる.

リスク分析

この戦略は,市場の波動性を判断する際に主にブリーンの波帯に依存する.突発的な出来事によって大きな波動が生じるとブリーンの波帯は有効でない.このとき,第一眼均衡表に基づいて構築された取引信号は誤った信号を生む可能性があります.

さらに,第一均衡線自体は突発事件に敏感で,価格が急激に変動するときに,切り替え線と基線も誤った信号を発します.この場合,出場または停止取引は最良の選択かもしれません.

優化方向

参入時の判断を他の指標と組み合わせると考えられる.例えば,KDJは超買超売れ地域にあるかどうかを判断し,MACDは長短平均線関係を判断する.これは,市場が激しく波動しているときにまだ参入することを避ける.

また,機械学習などの方法により,平衡表のパラメータを最適化することができる. 異なるパラメータは,異なるサイクルと異なる品種に大きく影響する. 最適なパラメータの組み合わせを見つけることは,戦略の収益性を大幅に向上させる.

概要

この戦略は,平衡表指標とブリンズ帯指標を組み合わせ,市場の傾向を判断する一方で波動性を考慮する量化取引戦略です. この戦略は,パラメータを調整し,エントリールールを最適化することで改善され,実盤で良い利益を得ることができます.


/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("一目均衡表シグナル + ボリンジャーバンド", overlay=true)

conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(26, minval=1, title="Lagging Span")
bbLength = input(20, title="Bollinger Bands Length")
bbMultiplier = input(2.0, title="Bollinger Bands Multiplier")

donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

// ボリンジャーバンドの計算
basis = ta.sma(close, bbLength)
bbUpper = basis + bbMultiplier * ta.stdev(close, bbLength)
bbLower = basis - bbMultiplier * ta.stdev(close, bbLength)

// 1σ、2σ、3σのライン
bbUpper1 = basis + ta.stdev(close, bbLength)
bbLower1 = basis - ta.stdev(close, bbLength)

bbUpper2 = basis + 2 * ta.stdev(close, bbLength)
bbLower2 = basis - 2 * ta.stdev(close, bbLength)

bbUpper3 = basis + 3 * ta.stdev(close, bbLength)
bbLower3 = basis - 3 * ta.stdev(close, bbLength)

// 遅行スパンがローソクに交差した際のBuyとSellシグナル
buySignalLeadLine = ta.crossover(close, leadLine2)
sellSignalLeadLine = ta.crossunder(close, leadLine2)

// Strategy Entry and Exit Conditions for Lead Line
strategy.entry("BuyLeadLine", strategy.long, when = buySignalLeadLine)
strategy.close("BuyLeadLine", when = sellSignalLeadLine)

strategy.entry("SellLeadLine", strategy.short, when = sellSignalLeadLine)
strategy.close("SellLeadLine", when = buySignalLeadLine)

// Plotting Ichimoku Cloud
plot(conversionLine, color=color.new(color.blue, 0), title="Conversion Line")
plot(baseLine, color=color.new(color.red, 0), title="Base Line")
plot(close, offset = -displacement + 1, color=color.new(color.green, 0), title="Lagging Span")
p1 = plot(leadLine1, offset = displacement - 1, color=color.new(color.green, 0),
     title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=color.new(#cdf80d, 0),
     title="Leading Span B")

fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))



// 2σ、3σのラインをプロット

plot(bbUpper2, color=color.rgb(100, 96, 100), title="BB Upper 2σ")
plot(bbLower2, color=color.rgb(100, 96, 100), title="BB Lower 2σ")

plot(bbUpper3, color=color.rgb(67, 61, 68), title="BB Upper 3σ")
plot(bbLower3, color=color.rgb(67, 61, 68), title="BB Lower 3σ")

// Plotting Entry and Exit Signals
plotshape(series=buySignalLeadLine, title="Buy Signal (Lead Line)", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small)
plotshape(series=sellSignalLeadLine, title="Sell Signal (Lead Line)", color=color.rgb(255, 115, 0), style=shape.triangledown, location=location.abovebar, size=size.small)


もっと見る