連続的なキャンドルスタイク逆転のブレイクアウト戦略

作者: リン・ハーンチャオチャン開催日:2024-03-05 16:07:40
タグ:

img

戦略の概要

連続したキャンドルスティック逆転ブレイクアウト戦略の基本理念は,株価が逆転信号を示し,連続的な減少の期間後に重要なレジスタンスレベルを突破したときの取引機会を把握することです.この戦略は,連続したダウンキャンドルの数,連続したアップキャンドルの数,ストップロスの条件などのパラメータを設定します.特定の条件が満たされると,ロングポジションに入り,ストップロスの条件がトリガーされるとポジションを閉じる.

戦略原則

  1. 入場条件を設定します. 株価がXの連続したキャンドルで下落し,Yの連続したアップキャンドルに続いて,戦略は現在ポジションがありません. 入場条件が起動され,ロングポジションが開きます.
  2. ストップ・ロスの条件を設定します. ポジションを開いた後,株価が前数カンドルの最低の閉店価格を下回り,またはエントリー時の最高価格マイナス2倍ATR (平均真要範囲) 下回りした場合,ストップ・ロスの条件が起動され,ポジションは閉鎖されます.
  3. 各エントリに対して対応するエントリー価格とストップ・ロスの価格を記録し,次の取引に備えるためにポジションを閉じた後にパラメータをリセットします.
  4. トレーディングビューのようなプラットフォームでバックテストして最適化することができます.

戦略の鍵は,逆転信号を正しく識別し,適切なパラメータを設定することにある. 連続したダウンキャンドルの数と連続したアップキャンドルの数は,バックテスト結果に基づいて最適化する必要がある2つの重要なパラメータである. さらに,ストップ・ロスの条件を設定することも重要です. リスクを制御し,ポジションを早すぎる間に閉鎖し,機会を逃さない必要があります.

戦略 の 利点

  1. 変動する市場やトレンドの初期段階に適しています. 戦略は,価格調整期間後に逆転信号が現れるときにポジションを開き,トレンドの開始時に機会を把握することを容易にする.
  2. リスクを制御するために時速ストップロスの設定: 過去の低値とATRに基づいてストップロスの条件を設定することで,株価が再び下落したとき,ポジションを時速に閉鎖し,損失を制御できます.
  3. 調整可能なパラメータと強い適応性: 連続したキャンドルの数やストップ・ロスの条件などのパラメータは,市場の特徴や個人の好みに合わせて調整され,戦略の適応性が向上します.

戦略リスク

  1. 不適切なパラメータ選択は頻繁に取引につながる. 連続したキャンドルの数が小さすぎると,戦略が頻繁にポジションを開閉し,取引コストを増加させる可能性があります.
  2. ストップ・ロスのポジションの設定が正しくない場合,損失が増加します.ストップ・ロスのポジションがあまりにも広く設定されれば,単一の取引で過度の損失を引き起こす可能性があります.ストップ・ロスのポジションがあまりにも狭く設定されていれば,収益性の高い取引が早すぎるほど閉鎖される可能性があります.
  3. 長期傾向市場における平均的業績:この戦略は,振動市場および傾向の初期段階での使用に適しています.長期安定傾向市場では,市場の上向きを完全に享受することができません.
  4. ポジション管理と資本管理の欠如:現在の戦略コードにはポジション管理と資本管理が含まれていません.実用的な応用では,戦略の安定性を向上させるために追加する必要があります.

戦略の最適化方向

  1. 連続したキャンドルの数を最適化します. 異なるパラメータの組み合わせをバックテストすることで,最も最近の連続したダウンキャンドルとアップキャンドルの最も優れたパフォーマンスを求めます.
  2. ストップ・ロスの条件を最適化する: よりダイナミックなストップ・ロスの条件,例えばATRまたはパーセントに基づいてストップ・ロスのポジションを設定することを検討し,異なる市場の変動状況に適応する.
  3. ロングとショートに双方向取引を加える: 現在,戦略はロングに行くための1つの方向しか持っていない.上下の両方の機会を掴むためにショート戦略を追加することを検討する.
  4. ポジション管理と資本管理を導入する: 取引の各取引のポジションサイズを,口座の資本状況とリスク優先順位に応じて動的に調整し,戦略の安定性を高めるため,全体的なリスク制限を設定する.
  5. 他の技術指標またはシグナルと組み合わせる: 戦略は,他の技術指標 (RSI,MACDなど) や取引信号 (ブレイクアウト,パターンなど) と組み合わせて,ポジションの開閉および閉じる精度を向上させることができます.

戦略の概要

連続したキャンドルスティックリバーサルブレイクアウト戦略は,株価の連続的な下落後に逆転信号を捕獲することによって取引決定を下す.この戦略はシンプルで理解しやすいもので,振動市場やトレンドの初期段階で使用するのに適しています.連続したキャンドルの数やストップロスの条件などのパラメータを設定することで,異なる市場状況に柔軟に適応できます.しかし,この戦略には,長期的なトレンド市場への平均的な適応性,ポジション管理や資本管理の欠如などのいくつかの制限もあります.

実用的な応用では,市場特性と個人のリスク偏見に応じて戦略を最適化し改善する必要があります.例えば,連続したキャンドル数とストップロスの条件の設定を最適化し,ロングとショートポジションの双方向取引を追加し,ポジション管理と資本管理を導入し,他の技術指標と取引信号と組み合わせることで,戦略の収益性を向上させ,リスクを制御し,安定した投資収益を達成することができます.

一般的に,連続キャンドルスタイク逆転ブレイクアウト戦略は,さらに調査し,実践で最適化する価値のあるシンプルで実践的な取引戦略です.しかし,いかなる戦略も全能ではありません.投資家は,長期的に市場で無敵に立つために,自分自身の経験と判断を組み合わせ,慎重な決定を下し,厳格に実行する必要があります.


/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Bottom Out Strategy", overlay=true)
consecutiveBarsUp = input(2)
consecutiveBarsDown = input(3)
price = close
ups = 0.0
ups := price > price[1] ? nz(ups[1]) + 1 : 0
dns = 0.0
dns := price < price[1] ? nz(dns[1]) + 1 : 0
var entry_bar_index = 1000000
var active = false
var stop_loss = 0.0

// === INPUT BACKTEST RANGE ===
i_from = input(defval = timestamp("01 Jan 2023 00:00 +0000"), title = "From")
i_thru = input(defval = timestamp("01 Mar 2024 00:00 +0000"), title = "Thru")
// === FUNCTION EXAMPLE ===
date() => true

entry_condition() => 
	date() and dns[2] >= consecutiveBarsDown and ups >= consecutiveBarsUp and not active

exit_condition() =>
	date() and active and (close < nz(stop_loss) or close < high - 2 * ta.atr(7))

if (entry_condition())
	strategy.entry("ConsDnLong", strategy.long, comment="CDLEntry")
	entry_bar_index := bar_index
	active := true
	stop_loss := math.min(close, close[1], close[2])
	// log.info("Entry at bar {0}, close={1}, stop_loss={2} ", entry_bar_index, close, stop_loss)
if (exit_condition())
	strategy.close("ConsDnLong", comment = "CDLClose")
	// log.info("Close at bar {0}", bar_index)
	entry_bar_index := 1000000
	active := false
// if (dns >= consecutiveBarsDown)
// 	strategy.entry("ConsDnSE", strategy.short, comment="ConsDnSE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
plot(high - 2* ta.atr(7))

もっと