マルボツーキャンドルレンジバランス戦略

作者: リン・ハーンチャオチャン,日付: 2024-02-23 14:23:41
タグ:

img

概要

マルボツーキャンドルレンジバランス戦略 (Marubozu candle range balance strategy) は,日中の定量的な取引戦略である.マルボツーキャンドルのパターンを特定し,キャンドルレンジバランスを調べ,市場の動向と取引機会を特定する.

戦略原則

この戦略の基本的な論理は以下の点に基づいています

  1. マルボツー (Marubozu) の白色バリーッシュと黒色ベアッシュのキャンドルを識別する.マルボツー (Marubozu) のキャンドルは,開閉価格と閉閉価格の間には影がない特別なキャンドルスタイプで,白色バリーッシュと黒色ベアッシュタイプに分かれています.

  2. 平均的なキャンドルボディ範囲を計算し,現在のキャンドルボディ範囲と比較して,範囲が長いか短いか判断します.

  3. ろうそくの範囲が均衡しているかどうか,つまり上層影と下層影の長さがほぼ等しいかどうかを判断する.

  4. 白いマルーボツの上昇したキャンドルが特定された場合,ロング;黒いマルーボツの下落したキャンドルが特定された場合,ショート.

  5. 前回の2個のキャンドルの閉値を使用して,出口信号としてトレンド逆転を決定します.

マルボツー・キャンドルの戦略は,主にマルボツー・キャンドル自体によって提供される強い一方的なトレンド・シグナルと,長期および短期間の機会を決定するためのバランスドレンジ条件に依存する.マルボツー・キャンドルが特定されると,市場は強い一方的なトレンドを持っていることを示唆する.バランスドレンジの状況はまた,このトレンドの信頼性を確認する.強いトレンドが逆転すると,トレンド利益を捕獲するために,タイミングでポジションを退場する.

利点分析

マルボツウのキャンドルレンジバランス戦略には以下の利点があります.

  1. 高い確率の強いトレンドを特定する.マルーボツーキャンドルは,非常に爆発的な一方的な価格信号を提供します.

  2. バランスの取れた範囲は,誤ったブレイクを効果的にフィルタリングし,罠を避ける.範囲が不均衡の場合,誤ったブレイクの可能性を示し,取引信号をスキップします.

  3. 前回の2つのキャンドルを使って 傾向の逆転を判断すれば 傾向から利益を得ることができます

  4. 戦略はシンプルで明快で 分かりやすく実行し 初心者にも適しています

  5. どんな製品や時間枠でも使用可能で 強力な適用性があります

リスク分析

この戦略には次のリスクもあります

  1. ワイプソー市場を効果的にフィルタリングできないため,誤った信号やレンジ・バインドトレンドの罠のリスクが高くなります.保持期間を短縮したりストップ・ロスを増加させるためにパラメータを調整することによって軽減できます.

  2. パラメータ設定に依存する.異なるパラメータは,大きく異なる結果をもたらす可能性があります.パラメータはバックテストによって最適化できます.

  3. 二次的な強い傾向を特定できないこと,判断のために極端なマルーボツーキャンドルだけに頼り,二次的な機会を逃す.バランス範囲要件を緩和することによって改善することができます.

戦略の最適化

戦略は以下の側面で最適化できます.

  1. マルボツー測定の値パーセントを最適化して識別感度を調整する.

  2. バランスの取れた値のパラメータを最適化して,よりバランスの取れたものやバランスの取れなかったものを見つけ出す.

  3. 補助判断指標として,閉じる価格と移動平均の比較を加える.

  4. 取引量の急増を判断するために指標を追加します.

  5. 均衡範囲の要求を緩和して より二次的な強いマルーボズーの機会を特定する

結論

マルボツーキャンドルレンジバランス戦略は,バランスのとれた判断と結合した特定のキャンドルパターンを認識することによって,高い確率の一方的なトレンド機会を特定します.戦略は,高い勝利率でシンプルで明確です.潜在的機会を見つけるために,初心者と高度なトレーダーの両方に適しています.信号とパラメータの最適化によってさらなる改善ができます.全体的には,非常に実践的な日中の定量戦略です.


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

//@version=4

strategy(title="Marubozu", shorttitle="Marubozu", overlay=true, initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent , commission_value=0 )

C_Len = 14 // ema depth for bodyAvg
C_ShadowPercent = 5.0 // size of shadows
C_ShadowEqualsPercent = 100.0
C_DojiBodyPercent = 5.0
C_Factor = 2.0 // shows the number of times the shadow dominates the candlestick body

C_BodyHi = max(close, open)
C_BodyLo = min(close, open)
C_Body = C_BodyHi - C_BodyLo
C_BodyAvg = ema(C_Body, C_Len)
C_SmallBody = C_Body < C_BodyAvg
C_LongBody = C_Body > C_BodyAvg
C_UpShadow = high - C_BodyHi
C_DnShadow = C_BodyLo - low
C_HasUpShadow = C_UpShadow > C_ShadowPercent / 100 * C_Body
C_HasDnShadow = C_DnShadow > C_ShadowPercent / 100 * C_Body
C_WhiteBody = open < close
C_BlackBody = open > close
C_Range = high-low
C_IsInsideBar = C_BodyHi[1] > C_BodyHi and C_BodyLo[1] < C_BodyLo
C_BodyMiddle = C_Body / 2 + C_BodyLo
C_ShadowEquals = C_UpShadow == C_DnShadow or (abs(C_UpShadow - C_DnShadow) / C_DnShadow * 100) < C_ShadowEqualsPercent and (abs(C_DnShadow - C_UpShadow) / C_UpShadow * 100) < C_ShadowEqualsPercent
C_IsDojiBody = C_Range > 0 and C_Body <= C_Range * C_DojiBodyPercent / 100
C_Doji = C_IsDojiBody and C_ShadowEquals

patternLabelPosLow = low - (atr(30) * 0.6)
patternLabelPosHigh = high + (atr(30) * 0.6)

C_MarubozuWhiteBullishNumberOfCandles = 1
C_MarubozuShadowPercentWhite = 5.0
C_MarubozuWhiteBullish = C_WhiteBody and C_LongBody and C_UpShadow <= C_MarubozuShadowPercentWhite/100*C_Body and C_DnShadow <= C_MarubozuShadowPercentWhite/100*C_Body and C_WhiteBody
alertcondition(C_MarubozuWhiteBullish, title = "Marubozu White", message = "New Marubozu White - Bullish pattern detected.")
if C_MarubozuWhiteBullish
    var ttBullishMarubozuWhite = "Marubozu White\nA Marubozu White Candle is a candlestick that does not have a shadow that extends from its candle body at either the open or the close. Marubozu is Japanese for “close-cropped” or “close-cut.” Other sources may call it a Bald or Shaven Head Candle."
    label.new(bar_index, patternLabelPosLow, text="MW", style=label.style_label_up, color = color.blue, textcolor=color.white, tooltip = ttBullishMarubozuWhite)
bgcolor(highest(C_MarubozuWhiteBullish?1:0, C_MarubozuWhiteBullishNumberOfCandles)!=0 ? color.blue : na, offset=-(C_MarubozuWhiteBullishNumberOfCandles-1))

C_MarubozuBlackBearishNumberOfCandles = 1
C_MarubozuShadowPercentBearish = 5.0
C_MarubozuBlackBearish = C_BlackBody and C_LongBody and C_UpShadow <= C_MarubozuShadowPercentBearish/100*C_Body and C_DnShadow <= C_MarubozuShadowPercentBearish/100*C_Body and C_BlackBody
alertcondition(C_MarubozuBlackBearish, title = "Marubozu Black", message = "New Marubozu Black - Bearish pattern detected.")
if C_MarubozuBlackBearish
    var ttBearishMarubozuBlack = "Marubozu Black\nThis is a candlestick that has no shadow, which extends from the red-bodied candle at the open, the close, or even at both. In Japanese, the name means “close-cropped” or “close-cut.” The candlestick can also be referred to as Bald or Shaven Head."
    label.new(bar_index, patternLabelPosHigh, text="MB", style=label.style_label_down, color = color.red, textcolor=color.white, tooltip = ttBearishMarubozuBlack)
bgcolor(highest(C_MarubozuBlackBearish?1:0, C_MarubozuBlackBearishNumberOfCandles)!=0 ? color.red : na, offset=-(C_MarubozuBlackBearishNumberOfCandles-1))

strategy.entry("short",1,when= C_MarubozuBlackBearish)

strategy.entry("long",0,when=C_MarubozuWhiteBullish)

strategy.close("long",when= close[1] < open[1]and close[2] < open[2] and close > open)
strategy.close("short",when= close[1] > open[1]and close[2] > open[2] and close < open)

もっと