継続的な衰退と上昇の反転戦略


作成日: 2024-03-08 17:01:33 最終変更日: 2024-03-08 17:01:33
コピー: 0 クリック数: 589
1
フォロー
1617
フォロワー

継続的な衰退と上昇の反転戦略

概要

連続的下落 - 逆転戦略は,価格の下落との連続性に基づいた量化取引戦略である.この戦略は,連続的X根のが最低を打破し,その後連続的Y根のが上昇した形状を識別することによって,短期的なトレンド逆転の機会を捕捉する.この戦略の主な考え方は,価格が連続的な下落を経験した後に空頭動力が解放されたことを示し,その後,連続的なが現れた場合,多頭力が蓄積され始め,価格が反転の波を迎える可能性があることを意味する.したがって,この戦略は,この空頭多頭の価格逆転の機会を掴み,それによって利益を得ようとする.

戦略原則

連続した陰転-陽逆転戦略の原理は,以下のステップに分けられる.

  1. パラメータ設定: 連続下落根数 ((consecutiveBarsDown) と連続陽根数 ((consecutiveBarsUp) を設定する.
  2. 市場動向を判断する:現在の価格の連続下降 ((dns) と連続升 ((ups) の根数を統計する.
  3. 入場条件:次の条件を満たす場合の多額のポジションを開設します.
    • 現在取引時間は,反測区間の ((date)) 内にあります.
    • 前2つのK線は連続して下落し,consecutiveBarsDownの設定値に達した.
    • 現在K線連続バースアップがconsecutiveBarsUpの設定値に達する
    • 現在,持っていない (not active)
  4. ストップ・ロスを設定します. ポジションを開設した後に,ストップ・ロスの価格 (stop_loss) を,最近3つのKラインの閉店価格の最低点に設定します.
  5. 出場条件:次の条件を満たす場合の平仓:
    • 現在取引時間は,反測区間の ((date)) 内にあります.
    • 現在保有している ((active))
    • 閉店価格がストップ・ロスの値以下 ((close < stop_loss) または最高値の2倍ATRを引いた値以下 ((close < high - 2 * atr ((7))
  6. 位置変更変数:平仓後に, active を false に,entry_bar_index を非常に大きな値に再置換する.

この戦略は,連続した下落との形態を利用し,空頭から多頭への転換の逆転の機会を捕捉しようとします.同時に,リスクを管理するために厳格な停止条件を設定します.

優位分析

連続した陰・陽の逆転戦略は以下の利点があります.

  1. 傾向感受性: 連続した下落との根数を統計するので,戦略は価格の傾向の変化に敏感であり,潜在的な反転の機会を迅速に識別することができる.
  2. 形式はシンプルで明快です. 戦略はシンプルで連続した陰転と陽の形式に基づいています. 規則は明確で,理解し,実行しやすいです.
  3. ストップ・ロスの厳しさ:戦略は,ポジション開設時に比較的厳格なストップ・ロスの条件を設定し,トレンドが継続できない時に,損失を制御するために,時間内に出場することができる.
  4. パラメータは調整可能: 連続した下落との根数は,市場特性と取引品種に応じて調整することができ,戦略の柔軟性を高めます.

リスク分析

継続的な反転策にはいくつかの利点があるが,以下のリスクがあります.

  1. 頻繁に取引:市場の変動が大きいとき,価格が戦略の入場・出場条件を頻繁に引き起こす可能性があり,取引回数が増加し,手数料コストが上昇する.
  2. ストップ・ロズポジション:戦略のストップ・ロズポジションは,最近3つのK線の閉店価格の最低点であり,これはストップ・ロズポジションが入場価格にあまりにも近い状態になり,通常の市場の変動の中でストップ・ロスを引き起こすことになり,不必要な損失を招く可能性があります.
  3. トレンド継続リスク:この戦略は,主に逆転の機会を捉えるが,市場傾向が強烈に続くと,逆転形態は,効果を失い,戦略が連続的な損失を招く.

これらのリスクに対処するために,以下の最適化策を考慮することができます.

  • 市場変動の特徴に応じて,動的に調整し,連続した下落との根数要求を減らし,頻繁な取引を減らす.
  • ATRやパーセンテージ・ストップなどのストップポジションの設定を最適化して,価格に波動する余裕を与えます.
  • 継続的なトレンドの強い市場環境では,取引を減らしたり,逆転取引をしたり,逆転操作を避けることを検討してください.

最適化の方向

継続的な下落と逆転の戦略には,以下の方向で最適化できます.

  1. より多くの指標を導入: 連続下落との根数に加えて,RSI,MACDなどの他の技術指標と組み合わせて,入場と出場信号の正確性を向上させることができます.複数の指標を共同で確認することで,偽信号を減らすことができ,戦略の収益性を向上させることができます.
  2. ストップとストップを最適化する:現在の戦略は,固定ストップ位置 ((最近の3つのK線の閉盘価格の最低点) を用いており,動的ストップまたはATRストップまたはトラッキングストップのような移動ストップの方法を使用することを考慮することができます.同時に,目標利益が一定比率に達したときに平仓するストップ条件を追加して,すでに有利な利益をロックすることができます.
  3. 異なる市場環境に適応する:この戦略は,波動的な市場ではよりよいパフォーマンスを発揮し,トレンド市場ではリスクにさらされる可能性があります.市場環境の変化に応じて,戦略パラメータを動的に調整するか,異なる市場状態に適応するために取引を停止することを考慮することができます.
  4. ポジション管理に加入:現在の戦略は全ポジション操作であり,ポジション管理の概念を導入し,市場リスクと個人のリスク承受能力に応じて,取引毎のポジションのサイズを調整して,全体的なリスクを制御することができる.
  5. 他の戦略と組み合わせる: 連続的下落-逆転戦略は,トレンドフォロー戦略,平均回帰戦略などの他の戦略と組み合わせて,戦略の組み合わせを形成し,全体的な収益の安定性を向上させる.

上述の最適化策により,連続的下落-逆転戦略は,市場の変化により良く適応し,リスクを制御し,収益性と安定性を向上させることができる.

要約する

連続的下落 - 逆転戦略は,価格の連続性に基づいた量化取引戦略であり,連続的下落との形状を識別することによって,市場の短期的な逆転の機会を捕捉する.この戦略の規則は単純で明快で,価格トレンドの変化に敏感であり,リスクを制御するために厳格な停止条件があります.同時に,戦略のパラメータは,市場の特徴に応じて調整することができ,柔軟性を高めます.

しかし,この戦略には,頻繁な取引,ストップポジションの設定が過度に厳格で,強いトレンドの市場で不良なパフォーマンスが起こるなど,いくつかのリスクがあります.これらのリスクに対処するために,ダイナミックな調整パラメータ,ストップポジションの最適化,異なる市場環境で異なる戦略を適用するなど,いくつかの措置を考慮することができます.

さらに,この戦略には,より多くの指標を導入し,ストップとストップを最適化し,異なる市場環境に適応し,ポジション管理を追加し,他の戦略と組み合わせるなど,いくつかの最適化方向があります. 継続的な最適化と改善により,連続した下降-逆転戦略は,より堅牢で効果的な量化取引戦略になることができます.

全体として,連続的下降-逆転戦略は,市場における短期的な逆転の機会を捉えて利益を得るために,シンプルで効果的な取引理念を提供します.しかし,実際のアプリケーションでは,特定の市場環境と個人のリスクの好みを組み合わせて,戦略を適切に最適化し,調整する必要があります.

ストラテジーソースコード
/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
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))