資源の読み込みに... 荷物...

2方向取引戦略 キャンドルスティック吸収パターン分析に基づく

作者: リン・ハーンチャオチャン,日付: 2024年12月12日 11:27:27
タグ:OHLCVOLATR

img

概要

この戦略は,キャンドルスタイク吸収パターンに基づいた二方向取引システムである. 隣接するキャンドルスタイクの方向,幅,およびボリューム関係を分析し,条件を満たしたときに取引を実行することによって市場吸収パターンを特定する. 戦略は完全なエントリーと出口ロジックを持つパーセントベースのマネーマネジメントを使用する.

戦略原則

基本的な論理は3つの条件に基づいています

  1. 隣接するキャンドルスタイクには反対の方向があります. 隣接するキャンドルスタイクに反対のトレンドを必要とするキャンドルスタイク方向を決定するために,オープンと閉鎖価格を比較します.
  2. 幅関係分析: 2つのキャンドルスティックの価格幅を計算し比較する (閉店価格と開店価格の絶対差),後者のキャンドルスティックの幅が大きいことを要求する.
  3. ボリューム特性:最初のキャンドルスタイクのボリュームが2つ目のボリュームより大きく,第2キャンドルスタイクのボリュームが前のボリュームより小さいことを要求する.

この3つの条件が同時に満たされた場合,戦略は最新のキャンドルスタイクに基づいて取引方向を決定します.上昇するキャンドルには長,下落するキャンドルには短. 戦略はフルポジション取引を使用し,状態変数を通じてポジションを追跡します.

戦略 の 利点

  1. 多次元分析:価格パターン,幅,音量分析を組み合わせて信号の信頼性を向上させる.
  2. 双方向取引: 市場変動を最大限に活用し,両方向の市場機会を把握する.
  3. 総合的なリスクマネジメント: 柔軟なストップ・ロストとテイク・プロフィートの設定で,パーセントベースのマネジメントを使用します.
  4. 視覚的サポート: 分析と最適化のために取引信号のグラフィック表示を提供します.
  5. 明確な状態管理: 状態変数を介して位置を正確に制御し,重複入力を避ける.

戦略リスク

  1. 誤ったブレイクリスク: 誤った吸収パターンが様々な市場で現れ,誤った信号につながる可能性があります.
  2. スリップ影響: 市場変動が激しい場合,実質取引結果に影響を与える重大なスリップが発生する可能性があります.
  3. 資金管理リスク:フルポジション取引は大きなリスクにさらされる可能性があります.
  4. シグナル遅延:シグナルはキャンドルストイクが閉ざされた後に確認できる.最適なエントリーポイントが欠けている可能性があります.

戦略の最適化方向

  1. 傾向フィルタリングを導入する:信号品質を改善するために,方向フィルタリングのための移動平均値または傾向指標を追加することを推奨する.
  2. 資金管理の最適化: ポジションサイズは市場の変動に基づいて動的に調整できます.
  3. ストップ・ロスのメカニズムの強化:リスク管理を改善するために,ATR指標を用いたダイナミックストップ・ロスの実施を推奨する.
  4. 時間フィルタを追加:非効率な期間を避けるために取引時間フィルタを追加できます.
  5. シグナル確認を改善する: 音量指標または補助確認のための他の技術指標を追加できます.

概要

この戦略は,キャンドルスタイクパターン,幅,およびボリュームの多次元分析を通じて完全な取引システムを構築する.特定のリスクが存在するが,戦略の安定性と信頼性は,提案された最適化方向によってさらに強化することができる.主な利点は,多次元分析方法と包括的な状態管理メカニズムにあるため,非常に不安定な市場環境での適用に適している.


/*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))


関連性

もっと