マルチタイムフレームトレンド戦略


作成日: 2023-10-23 16:56:52 最終変更日: 2023-10-23 16:56:52
コピー: 0 クリック数: 672
1
フォロー
1617
フォロワー

マルチタイムフレームトレンド戦略

概要

この戦略は,複数の時間枠を利用して取引する戦略であり,主にトレンドの方向性を判断する長期の時間枠,動きの方向性を判断する中期の時間枠,特定の入場点を探す短期の時間枠を使用する.全体的に,戦略の主な考えは,傾向,動き,特定の入場点を3つの異なる時間帯の情報を同時に利用して意思決定を行うことである.

原則

この戦略は主に以下の部分によって実行されます.

  1. 異なる時間枠を定義する

    • 長期時間枠 ((日線):全体的なトレンドの方向性を判断する
    • 中間時間枠 ((4時間):動力の方向を判断するために
    • 短期時間枠 (カスタマイズ):特定の入学ポイントを検索する
  2. 長期的傾向を判断する

    • 長期トレンドの方向を判断するためにSMA平均線を使用する
    • マルチヘッドトレンドとして定義されます.
    • ゼロのトレンドとして定義されます.
  3. 中期動力を判断する

    • ストック指標を用いたK線とD線
    • K線がD線上にあるとき,上昇運動量として定義される.
    • K線がD線の下にあるとき,下落運動として定義される.
  4. 入り口を探す

    • 多頭入場:長期多頭,中期ストホ動量向上,短期平均線金叉
    • 空頭入場:長期空頭,中期ストホ動向下,短期均線死叉
  5. 退出する場所

    • 多頭退出:中期ストホK線下D線を突破する
    • 空頭退出:中期ストホK線をD線に突破する

全体として,この戦略は,多時間枠の情報を活用し,長短の異なる次元からトレンドとタイミングを判断し,偽の突破を効果的にフィルターし,トレンドの背景で高確率のエントリーポイントを選択します.

利点

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

  1. 多時間枠は科学的に細かく設計され,市場の動きをより正確に判断し,市場の短期的な騒音に誤って導かれないようにします.

  2. 条件は包括的で厳格で,多くの偽信号をフィルターすることができます.

  3. ストック指数は,市場が実際に逆転するタイミングを把握するために,中期動向を非常に正確に判断します.

  4. 入場条件は厳格に設定され,ほとんどのジャンプ・ハイ・バックの偽突破を回避することができる.

  5. 明確なストップ・ロズ・エクスト・ポイントを設定することで,各取引のリスクを効果的にコントロールできます.

  6. 特定の状況に限定されず,多種多様な市場環境に適用できます.

  7. 資金管理の面で最適化が可能である.例えば,固定ストップレッセンスの設定,動的にポジションの調整など.

リスク

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

  1. 震災の際には,複数のストップが発生する可能性があります.

  2. 大トレンドが変化すると,トレンドの判断が遅れてしまい,誤って操作される可能性があります.

  3. 中期的な動力については,KDJの指標のみで判断しても,見逃しやすい.

  4. 入場条件が厳格で,一部を逃す可能性もあります.

  5. 収益の余地が比較的限られているため,大局を把握するのは難しい.

リスクに対応するには,以下の方法で最適化できます.

  1. 適切なパラメータを調整し,誤差率を下げます.

  2. トレンド判断の指標を増やし,組み合わせ判断を確立する.

  3. MACDなど,より多くの指標と組み合わせて,中期動力を判断します.

  4. ストップ・ロスを追跡する代わりに ストップ・ロスを最適化する.

  5. ストップポイントとポジションをタイムリーに調整する.

最適化の方向

この戦略は以下の点で最適化できます.

  1. パラメータ最適化。例えば,MA周期パラメータ,Stochパラメータなどを調整して信号をより正確にする。

  2. MACD,Bollinger Bandなどの指標の補助判断を導入することができる.

  3. 入場条件の最適化. 入場条件を緩和し,取引頻度を適切に増加させることを考慮することができる.

  4. ストップを最適化する方法. ストップを追跡するか,ATRに基づいてストップ値を設定することができます.

  5. ポジション管理を増やす.大きなトレンドが変化したときにポジションを主動的に調整する.

  6. 機械学習の最適化 機械学習の方法を使用してパラメータと戦略の規則を自動的に最適化する.

  7. 基本的要素を考慮する. 重要な経済データと連携して,取引のさらなる確認信号を発信する.

  8. 異なる品種の組み合わせの効果をテストする. 外国貨幣,貴金属などの異なる品種の効果を評価する戦略.

要約する

この多時間枠トレンド戦略の全体的な見方からすると,核心的な考え方は,長,中,短3時間次元の情報を活用して意思決定を行うことである.戦略の優位性は,条件が厳格で,リスクは制御可能であるが,特定の市場に対してパラメータと規則の最適化が必要である.将来,より多くの指標を導入し,ストップロスを最適化し,機械学習などの方法を加えることで,この戦略をさらに完善することができる.

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

//@version=2
strategy("TUX MTF", overlay=true)

// MULTIPLE TIME FRAME STRATEGY
// LONG TERM --- TREND
// MED TERM --- MOMENTUM
// SHORT TERM --- ENTRY

// ENTRY POSITION TIMEFRAME
entry_position = input(title="Entry timeframe (minutes)",  defval=5, minval=1, maxval=1440)
med_term = entry_position * 4
long_term = med_term * 4

// GLOBAL VARIABLES
ma_trend = input(title="Moving Average Period (Trend)",  defval=50, minval=5, maxval=200)

// RSI
length = input(title="Stoch Length",  defval=18, minval=5, maxval=200)
OverBought = input(title="Stoch OB",  defval=80, minval=60, maxval=100)
OverSold = input(title="Stoch OS",  defval=20, minval=5, maxval=40)
smoothK = input(title="Stoch SmoothK",  defval=14, minval=1, maxval=40)
smoothD = input(title="Stoch SmoothD",  defval=14, minval=1, maxval=40)
maSm = input(title="Moving Avg SM",  defval=7, minval=5, maxval=50)
maMed = input(title="Moving Avg MD",  defval=21, minval=13, maxval=200)

// LONG TERM TREND
long_term_trend = request.security(syminfo.ticker, tostring(long_term), sma(close,ma_trend)) > request.security(syminfo.ticker, tostring(long_term), close)
plot(request.security(syminfo.ticker, tostring(long_term), sma(close,ma_trend)), title="Long Term MA", linewidth=2)
// FALSE = BEAR
// TRUE = BULL

// MED TERM MOMENTUM

k = request.security(syminfo.ticker, tostring(med_term), sma(stoch(close, high, low, length), smoothK))
d = request.security(syminfo.ticker, tostring(med_term), sma(k, smoothD))

os = k >= OverBought or d >= OverBought
ob = k <= OverSold or d <= OverSold


// SHORT TERM MA X OVER
bull_entry = long_term_trend == false and os == false and ob == false and k > d and request.security(syminfo.ticker, tostring(entry_position), crossover(sma(close, maSm), sma(close, maMed)))
bear_entry = long_term_trend == true and os == false and ob == false and k < d and request.security(syminfo.ticker, tostring(entry_position), crossunder(sma(close, maSm), sma(close, maMed)))



bull_exit = crossunder(k,d)
bear_exit = crossover(k,d)



if (bull_entry)
    strategy.entry("Long", strategy.long)
    

if (bear_entry)
    strategy.entry("Short", strategy.short)
  
strategy.close("Long", when = bull_exit == true)
strategy.close("Short", when = bear_exit == true)