マルチタイムフレームゴールデンリバーサルフォロー戦略


作成日: 2024-01-31 15:01:39 最終変更日: 2024-01-31 15:01:39
コピー: 0 クリック数: 592
1
フォロー
1617
フォロワー

マルチタイムフレームゴールデンリバーサルフォロー戦略

概要

この戦略は,異なる技術指標と取引方法を組み合わせて使用することで,金市場のトレンドを自動的に認識し,反転の機会を発見し,高効率な取引を追跡します. この戦略は,複数の時間枠に適用され,日中の短線と中間の長線の両方で優れた効果を得ることができます.

戦略原則

戦略は,主に均線交差,ブリン帯,サポートレジスタンスレベル,価格形状などの複数の技術指標に基づいて取引信号の判断を行う.大きなトレンドを判断する際には,急速な移動平均線,遅い移動平均線,RSIおよびMACD指標などの複数の角度による確認を組み合わせて,トレンドの逆転を正確に捕捉します.具体的には,ブリン帯,重要な価格水準の突破や,形状などの価格形状が形成されるシグナルを観察して操作します.同時に,戦略は,停止と停止のメカニズムを利用してリスクを制御します.

戦略のプロセス全体は以下のステップに分けられます.

  1. 傾向を判断する計算: 急速MA,緩慢MA, 急速MAの上で緩慢MAを突破すると看板,下落すると下落. RSIとMACDの指標を組み合わせて確認する.

  2. 特定の市場への入場地点を探します.: ブリン帯,キーサポートのレジスタンス位の突破,価格形状のシグナルの観察などによる.

  3. ストップ・ストップを設定します.:ATR指標によるストップ損失幅の計算,合理的なストップ位置の設定.

  4. フィルター偽突破: 部分指標は誤り信号が出る可能性があり,複数の指標を組み合わせてフィルターします.

優位分析

この戦略には以下の利点があります.

  1. 複数の視点から判断: 異なる指標の組み合わせを使用することで,市場をより多くの次元から判断することができ,単一の指標の誤判の可能性を回避します.

  2. 適応力があるこの戦略は,日内または中長期間の取引でも,よりよい結果が得られます.

  3. 柔軟に変化する戦略は,市場のさまざまな段階に適応する多種多様な取引方法を含んでいます.

  4. リスクはコントロールできます: ストップ・ロズとストップ・ストップによって各株のリスク口をコントロールし,全体的にコントロールする戦略の最大撤退.

リスク分析

この戦略には以下のリスクがあります.

  1. 誤差の確率: 複数の指標の組み合わせによって誤判の確率を減らすが,極端な状況では誤判の可能性はある.これは技術指標取引が完全に回避できないリスクである.

  2. 逆の不確実性: 策略判断の逆転基盤の重要なポイントは,真のトレンドの転換点には不十分であり,将来のトレンドを完璧に予測することはできません.これは,ストップを介してリスクを制御する必要があります.

  3. 偽の突破の危険性突破事件:突破事件は,突然発生し,短期間の偽突破である可能性があります.これは,より大きなレベルの時間枠と価格パターンを観察することによって判断する必要があります.

  4. パラメータ最適化の難しさ: 戦略には複数のパラメータが含まれ,異なるパラメータが結果に重要な影響を与えるが,最適のパラメータを見つけるには,無限に調整することが困難である.これは,複数の指標をバランスしてパラメータを安定させることで軽減する必要がある.

最適化の方向

この戦略は以下の方向から最適化できます.

  1. モデル統合: 機械学習などのモデルを導入し,指標信号の重みと市場確率を判断する.

  2. 適応パラメータの最適化: 適当にいくつかの動的指標を導入するか,価格実体による変化に基づく自律的適応機構を導入することによってパラメータを最適化する.

  3. イベント主導の取引黄金市場における取引シグナル源として,イベントやニュース面などの駆動要素を導入する.

  4. モデル・ヘッジポートフォリオ: 長期・短期ポジションのポートフォリオを構築し,異なるモデルの間の相互ヘッジをすることで,市場におけるシステミックリスクを低減することができる.

要約する

全体として,金反転追跡戦略は,複数の取引方法を統合して,トレンド反転を検出しながらリスクをコントロールし,高周波取引に適した効果的な戦略である.信号源をさらに拡張し,自適應機構とリスク管理モデルを導入することにより,この戦略は,より長期的かつ安定した余剰利益を得ることを期待する大きな最適化余地がある.

ストラテジーソースコード
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("PratikMoney_Gold_Swing_v2.0", overlay=true)

// Trend Following
fastMA = ta.sma(close, 50)
slowMA = ta.sma(close, 200)
rsiValue = ta.rsi(close, 14)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
macdDivergence = macdLine - signalLine
trendUp = ta.crossover(fastMA, slowMA) and rsiValue > 50 and macdLine > 0 and macdDivergence > 0
trendDown = ta.crossunder(fastMA, slowMA) and rsiValue < 50 and macdLine < 0 and macdDivergence < 0

// Breakout Trading
resistanceLevel = input(1500, title="Resistance Level")
supportLevel = input(1400, title="Support Level")

breakoutUp = close > resistanceLevel and close[1] <= resistanceLevel
breakoutDown = close < supportLevel and close[1] >= supportLevel

// Moving Average Crossovers
shortTermMA = ta.sma(close, 9)
longTermMA = ta.sma(close, 21)

maCrossUp = ta.crossover(shortTermMA, longTermMA)
maCrossDown = ta.crossunder(shortTermMA, longTermMA)

// Bollinger Bands
bbUpper = ta.sma(close, 20) + 2 * ta.stdev(close, 20)
bbLower = ta.sma(close, 20) - 2 * ta.stdev(close, 20)

bbBreakoutUp = close > bbUpper and close[1] <= bbUpper
bbBreakoutDown = close < bbLower and close[1] >= bbLower

// Support and Resistance
bounceFromSupport = close < supportLevel and close[1] >= supportLevel
reversalFromResistance = close > resistanceLevel and close[1] <= resistanceLevel

// Fibonacci Retracement
fibonacciLevel = input(0.618, title="Fibonacci Level")

fibRetraceUp = ta.lowest(low, 50) >= ta.highest(high, 50) * (1 - fibonacciLevel)
fibRetraceDown = ta.highest(high, 50) <= ta.lowest(low, 50) * (1 + fibonacciLevel)

// Price Action Trading
pinBar = close < open and low < close[1] and close > open[1]
engulfing = close < open and close[1] > open and close[2] > open[1] and close > open[2]

priceActionLong = pinBar or engulfing and close > open
priceActionShort = pinBar or engulfing and close < open

// Scalping
scalpLong = ta.change(close) > 0.1
scalpShort = ta.change(close) < -0.1

// Volatility Breakout
atrLevel = input(1.5, title="ATR Multiplier")

volatilityBreakoutUp = close > ta.sma(close, 20) + atrLevel * ta.atr(20)
volatilityBreakoutDown = close < ta.sma(close, 20) - atrLevel * ta.atr(20)

// Strategy Execution
strategy.entry("TrendLong", strategy.long, when=trendUp)
strategy.entry("TrendShort", strategy.short, when=trendDown)

strategy.entry("BreakoutLong", strategy.long, when=breakoutUp)
strategy.entry("BreakoutShort", strategy.short, when=breakoutDown)

strategy.entry("VolatilityLong", strategy.long, when=volatilityBreakoutUp)
strategy.entry("VolatilityShort", strategy.short, when=volatilityBreakoutDown)

strategy.entry("PriceActionLong", strategy.long, when=priceActionLong)
strategy.entry("PriceActionShort", strategy.short, when=priceActionShort)

strategy.entry("ScalpLong", strategy.long, when=scalpLong)
strategy.entry("ScalpShort", strategy.short, when=scalpShort)

// Plotting
plot(supportLevel, color=color.green, title="Support Level")
plot(resistanceLevel, color=color.red, title="Resistance Level")

plot(bbUpper, color=color.blue, title="Upper Bollinger Band")
plot(bbLower, color=color.blue, title="Lower Bollinger Band")

// Plotting Price Action Signals
plotshape(series=priceActionLong, title="Price Action Long", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=priceActionShort, title="Price Action Short", color=color.red, style=shape.triangledown, location=location.abovebar)

// Plotting Scalping Signals
plotshape(series=scalpLong, title="Scalp Long", color=color.green, style=shape.triangleup, location=location.abovebar)
plotshape(series=scalpShort, title="Scalp Short", color=color.red, style=shape.triangledown, location=location.belowbar)