複数の移動平均とATRストップロスシステムを組み合わせた偽のブレイクスルー戦略をサポート

SMA ATR
作成日: 2024-11-27 16:17:17 最終変更日: 2024-11-27 16:17:17
コピー: 0 クリック数: 442
1
フォロー
1617
フォロワー

複数の移動平均とATRストップロスシステムを組み合わせた偽のブレイクスルー戦略をサポート

概要

この戦略は,均線トレンド判断と支柱位偽突破に基づく取引システムである.この戦略は,50周期と200周期の簡易移動平均によって市場のトレンドを判断し,支柱位の偽突破形態と組み合わせて取引信号を生成し,ATR (平均リアル波幅) 指数を用いて動的にストップロスを設定し,突破点での利益目標を設定する.この戦略は,市場のトレンド特性と価格運動の法則を充分に活用し,偽突破後の反弹の機会を捕捉して利益を得る.

戦略原則

戦略の核心的な論理には以下の重要な要素が含まれています.

  1. トレンド判断:50周期および200周期平均線の位置関係を使用して市場の傾向を判断し,短期平均線が長期平均線上にあるとき,上昇傾向を確認する.
  2. サポート位置の計算: 枢軸点公式を使用してサポート位置を計算し,前期の高値,低値,閉盤価格の重量平均を使用する.
  3. 偽突破確認: 価格が上昇傾向で一時的にサポートを下回った後,サポートの上に閉じられたとき,多信号が形成される.
  4. リスク管理:14サイクルATRを使用して動的ストップポジションを計算し,市場の変動が激化するとストップ範囲を拡大することを保証する.
  5. 収益目標: 収益目標として最初の10サイクルにおける最高価格を計算することで,十分な収益スペースを確保する.

戦略的優位性

  1. トレンドフォロー: 戦略は,均線システムによって,主動トレンドの方向に取引を確実にし,勝利率を高めます.
  2. 動的リスク制御:ATRを使用して,異なる市場環境に適応するために,ストップポジションを動的に調整する.
  3. 明確な取引シグナル: 支持位偽突破形は,明確な判断基準を持ち,主観的な判断を減らす.
  4. 合理的なリスク/利益の比率: 動的ストップ・ローと歴史的な高値に基づく利益の目標を設定することで,良質なリスク/利益の比率を確保する.
  5. システム化された操作: 策略の論理が明確で,プログラム的に実装し,反省検証が容易である.

戦略リスク

  1. 偽信号のリスク: 変動する市場では,偽の突破信号が多く発生し,取引コストが増加する可能性があります.
  2. トレンド転換リスク:均線システムはトレンド転換点において反応が遅いため,入場タイミングが遅れる可能性があります.
  3. 止損幅のリスク:ATR止損は,変動率が突然拡大すると,大きな損失を引き起こす可能性がある.
  4. 利益の目標設定のリスク: 固定周期の過去最高価格は,現在の市場状況を正確に反映しない可能性があります.

戦略最適化の方向性

  1. フィルタリング条件の追加:交付量確認指標を追加し,信号の信頼性を向上させる.
  2. 平均線パラメータの最適化:異なる市場特性に応じて平均線周期を調整し,トレンド判断の正確性を向上させる.
  3. 改善した止損方法:支位置と組み合わせた複合止損設定が可能であり,止損の効率を向上させる.
  4. ダイナミックな収益目標:市場の変化に適応するために,ダイナミックな収益目標の計算方法を導入する.
  5. タイムフィルターを追加: 取引時間の窓のフィルタリングを追加し,不利な時間に取引を避ける.

要約する

多重均線支柱位偽破策は,トレンドフォローと価格形状を組み合わせた完全な取引システムである.均線システムのトレンド判断と支柱位偽破の形状識別により,ATRダイナミックストップと連携して,リスク制御可能な取引戦略を構築する.この戦略の核心的な優点は,体系化された操作流程と明確なリスク管理方法にある.継続的な最適化と改善によって,戦略は異なる市場環境により良く適応し,取引の効果を向上させる.実地アプリケーションでは,投資家は,自身のリスク承受能力と市場の特徴に応じて,戦略のパラメータを数値的に調整することを推奨する.

ストラテジーソースコード
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-26 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("False Break Trading Strategy", overlay=true)

// Define inputs for strategy parameters
sma50Length = input.int(50, title="SMA 50 Length")
sma200Length = input.int(200, title="SMA 200 Length")
atrLength = input.int(14, title="ATR Length")
lookbackPeriod = input.int(10, title="Swing High Lookback Period")

// Calculate SMAs
sma50 = ta.sma(close, sma50Length)
sma200 = ta.sma(close, sma200Length)

// Calculate ATR
atr = ta.atr(atrLength)

// Check if we are in an uptrend
isUptrend = sma50 > sma200

// Calculate Pivot, Support, and Target Profit (Swing High)
pivot = (high[1] + low[1] + close[1]) / 3
support = (2 * pivot) - high[1]
swingHigh = ta.highest(high, lookbackPeriod)

// Create signals for entry
var float entryPrice = na
var float stopLoss = na
var float targetProfit = na
longCondition = isUptrend and low[1] < support and close > support

if (longCondition)
    entryPrice := open
    stopLoss := low - atr
    targetProfit := swingHigh

// Plot signals and lines on chart
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")

// Plot levels for entry, stop loss, and target
plot(entryPrice, title="Entry Price", color=color.blue, linewidth=2, style=plot.style_linebr)
plot(stopLoss, title="Stop Loss", color=color.red, linewidth=2, style=plot.style_linebr)
plot(targetProfit, title="Target Profit", color=color.green, linewidth=2, style=plot.style_linebr)

// Backtest: Simulate exit points for the strategy
if (longCondition)
    strategy.entry("Long", strategy.long)
    if (na(stopLoss) == false and na(targetProfit) == false)
        strategy.exit("Take Profit/Stop Loss", "Long", stop=stopLoss, limit=targetProfit)