Kラインローソク足吸収パターンに基づく双方向取引定量戦略

OHLC VOL ATR
作成日: 2024-12-12 11:27:27 最終変更日: 2024-12-12 11:27:27
コピー: 0 クリック数: 364
1
フォロー
1617
フォロワー

Kラインローソク足吸収パターンに基づく双方向取引定量戦略

概要

この戦略は,K線図の吸収形状に基づく二方向取引システムである.この戦略は,隣接するK線の方向性,振幅,取引量の関係を分析することによって,市場内の吸収特性の形状を識別し,条件を満たす場合,その方向の取引を行う.この戦略は,パーセントの資金管理方法を採用し,完全な開場ポジションの論理を有する.

戦略原則

この戦略の核心的な論理は,以下の3つの条件に基づいています.

  1. 隣接するK線方向の逆:開盘価格と閉盘価格を比較してK線方向を判断し,隣接する2つのK線が逆の動きを示すことを要求する.
  2. 振動関係分析: 2 つの K 線の価格振動を計算して比較する (閉盘価格と開盘価格の差の絶対値),後者の K 線の振動が前者より大きいことを要求する.
  3. 交差量特征:第1K線の交差量が第2K線より大きく,第2K線の交差量が以前の交差量より小さいことを要求する.

この3つの条件が同時に満たされると,戦略は最新のK線の方向に基づいて取引方向を決定します:陽線なら多し,陰線なら空する.戦略は全ポジションを使用して取引し,状態変数によってポジションの状況を追跡する.

戦略的優位性

  1. 多次元分析:価格形状,振幅,取引量の3次元を組み合わせて分析し,信号の信頼性を高める.
  2. 双方向取引: 市場の波動を最大限に活用する双方向取引の機会を捉える.
  3. リスク管理の改善: パーセンテージ・マネジメントを使用し, ストップ・ローズ・ストップ条件を柔軟に設定できます.
  4. ビジュアルサポート:分析と最適化に役立つ取引信号のグラフィカル表示.
  5. 状態管理の明晰さ:状態変数による精密な保有管理,重複開設を避ける.

戦略リスク

  1. 偽の突破リスク: 揺れ動いている市場では偽の吸収形態が起こり,誤った信号を引き起こす可能性があります.
  2. スライドポイントの影響:市場が激しく波動すると,実際の取引効果に影響を与える大きなスライドポイントに直面する可能性があります.
  3. 資金管理のリスク:全ポジションの取引方法は,より大きなリスクの余地をもたらす可能性があります.
  4. 信号遅延:K線が閉じるまで信号を確認しないため,最適な入場時間を逃す可能性があります.

戦略最適化の方向性

  1. トレンドフィルタを導入する. 平均線またはトレンド指標を方向フィルタとして追加して信号の質を向上させる.
  2. 資金管理の最適化:市場変動の動向に応じてポジションの大きさを調整できます.
  3. リスク管理能力の向上のために,ATR指標と組み合わせたダイナミック・ストップを推奨する.
  4. 時間をフィルタリングする: 低効率な時間を回避するために,取引時間をフィルタリングすることができます.
  5. 信号確認の最適化: 取引量指標または他の技術指標を補助確認として追加できます.

要約する

この戦略は,K線形状,振幅,取引量の多次元分析によって,完全な取引システムを構築している.一定のリスクがあるにもかかわらず,推奨された最適化の方向によって,戦略の安定性と信頼性をさらに向上させることができる.この戦略の核心的な優点は,多次元分析方法と完善した状態管理機構であり,波動性の高い市場環境での適用に適している.

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

//@version=5
strategy("Candle Absorption Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Условия индикатора
// 1. Две соседних свечи должны быть разнонаправленными
condition1 = (close[1] > open[1] and close < open) or (close[1] < open[1] and close > open)

// 2. Дельта по цене открытия/закрытия у первой свечи меньше, чем у следующей
delta1 = math.abs(close[1] - open[1])
delta2 = math.abs(close - open)
condition2 = delta1 < delta2

// 3. Объем первой свечи должен быть больше, а последней меньше
condition3 = volume[1] > volume and volume < volume[2]

// Проверяем выполнение всех условий
all_conditions = condition1 and condition2 and condition3

// Определяем направление для входа
is_bullish = close > open  // Зеленая свеча больше (бычье поглощение)
is_bearish = close < open  // Красная свеча больше (медвежье поглощение)

// Переменные для отслеживания состояния позиции
var float entryPrice = na
var bool isLong = false
var bool isShort = false

// Логика генерации сигналов
buySignal = all_conditions and is_bullish and not isLong
sellSignal = all_conditions and is_bearish and not isShort

// Обработка лонгового входа
if (buySignal)
    isLong := true
    isShort := false
    entryPrice := close
    strategy.entry("Long", strategy.long)

// Обработка шортового входа
if (sellSignal)
    isLong := false
    isShort := true
    entryPrice := close
    strategy.entry("Short", strategy.short)

// Визуализация точек поглощения
// if all_conditions
//     label.new(bar_index, high, "✔", color=is_bullish ? color.green : color.red, textcolor=color.white, style=label.style_circle, size=size.small)

// Логика сброса состояния при закрытии позиции
if (strategy.position_size == 0)
    isLong := false
    isShort := false
    entryPrice := na

// Дополнительно: можно добавить стоп-лосс и тейк-профит (пример ниже)
// strategy.exit("Exit Long", from_entry="Long", stop=low - atr(14), limit=high + atr(14))
// strategy.exit("Exit Short", from_entry="Short", stop=high + atr(14), limit=low - atr(14))