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

双重逆転追跡戦略

作者: リン・ハーンチャオチャン, 日付: 2023-12-01 15:36:34
タグ:

img

概要

ダブルリバーサル・トラッキング戦略は,価格のダブルリバーサル・ポイントを追跡することによって取引信号を生成する.価格が新しい高点を形成するときにショートポジションを開く.価格が新しい低点を形成するときにロングポジションを開く.価格のリバーサルのリアルタイムトラッキングは,市場の勢力の変化をタイムリーに把握することができます.

戦略の論理

ダブル・リバース・トラッキング戦略は,高い購入逆転パターン (HHS) と低い販売逆転パターン (LLB) を含む,2つのパターン判断を使用して取引信号を生成します.判断式は以下のとおりです.

  1. HHSパターン:近[0] <近[1] そして高[0] >高[1]
  2. LLBパターン: Close[0] > Close[1]および Low[0] < Low[1]

上記の条件を満たすと,HHSとLLBのバーインデックスと価格がそれぞれ記録されます.その後,戦略は,価格が記録された逆転価格を突破するかどうかをリアルタイムで監視します.価格がHHS逆転高点を突破すると,価格パターンが下向きに逆転し,戦略がショートポジションを開くことを示します.逆に,価格がLLB逆転低点を突破すると,価格パターンが上向きに逆転し,戦略がロングポジションを開くことを示します.この方法で,ダブル逆転トラッキング戦略は,価格逆転の機会を動的に捉えることができます.

戦略が実行されているとき,標識と背景色を通じてHHS,LLBパターンおよびブレイクアウト状況を視覚的に表示します.これは,市場の条件を直感的に判断し,戦略を検証するのに非常に役立ちます.要約すると,ダブルリバルストラッキング戦略は,価格逆転点を動的に追跡することによって取引を実現し,価格逆転機会を効果的に捉えることができます.

利点分析

ダブル リバーサル トラッキング 戦略には以下の利点があります.

  1. 価格逆転のリアルタイムトラッキングにより,市場の逆転の機会を迅速に把握できます.移動平均と他の技術指標を追跡する他の戦略と比較して,この戦略はより柔軟な応答を持っています.

  2. 価格逆転機能から直接取引シグナルを生成し,最適化するパラメータが多くない.実装は単純で直接的です.

  3. パターンとブレークアウトのマークは戦略操作の可視化が可能になり,戦略のパフォーマンスの検証が非常に簡単になります.

  4. 戦略のコードベースは小さく,理解し,カスタマイズするのが簡単です.学習のための導入量的な取引戦略として使用できます.

簡単に言うと,ダブル・リバース・トラッキング戦略は,価格の逆転を効果的に把握できるので,迅速な逆転戦略として使う価値があります.

リスク分析

ダブル・リバース・トラッキング戦略には,いくつかのリスクもあります. 主に:

  1. 価格逆転判断は単点情報に基づいており,誤判の確率が高い.誤判の確率は,価格ブレイク後に有効な追跡しきい値を設定することによって軽減することができます.

  2. 主なトレンドを考慮しないため,主要な上昇トレンド中に誤ったショートシグナルを生成することがあります.そのようなリスクを避けるためにトレンドフィルタリングを導入することができます.

  3. 単一の取引損失を制御するストップ損失メカニズムは存在しない. 損失を受け入れられるレベルまで制御するために,ライブ取引のために合理的なストップ損失戦略を設定する必要があります.

  4. バックテストデータには最適化バイアスがあり,ライブパフォーマンスはバックテストに劣る可能性があります.ライブ検証は重要です.

一般的に,迅速な逆転戦略として,この戦略はシンプルな実装がありますが,誤判の確率があります.トレンドフィルタリング,ストップ損失および他のモジュールを導入することにより,リスクを効果的に軽減し,安定かつ信頼性の高いライブ取引戦略になります.

強化 分野

誤った判断の確率を軽減し,安定性を向上させるために,戦略は以下の側面から強化できます.

  1. 効果的なブレイクアウト検証を加える.例えば,ポジションを開く前に価格が逆転点を一定パーセントで破るよう要求する.

  2. メジャー・トレンド判断モジュールを追加して,メジャー・アップ・トレンド中に誤ったショート・シグナルを避ける.移動平均指標を使用してトレンドを決定することができる.

  3. ストップ・ロスのストラテジーを実行する. ストップ・ロスの後退やゾーンストップ・ロスのように,特定の制限の下で単一の取引損失を制御する.

  4. ポジションサイズを調整するアルゴリズムを最適化し,市場の変動に基づいてポジションサイズを調整し,高い変動環境下で単一のポジションサイズを削減する.

  5. パラメータの安定性を評価し,複数のラウンドの最適化繰り返しを行うために,ライブデータの長いタイムフレームをテストします.

上記の側面による調整により,この戦略の実況パフォーマンスと安定性を大幅に改善することができます.

結論

ダブルリバーサル・トラッキング戦略は,価格逆転点のリアルタイムモニタリングによって逆転機会を捉える. シンプルな論理,直接的な実行があり,逆転傾向に沿って迅速にポジションを開くことができます. しかし,誤判の可能性もあります. 傾向フィルタリング,ストップ損失戦略,パラメータ最適化導入により,誤判リスクは効果的に軽減され,ライブ取引の安定的かつ効率的な戦略になります. これは特に高速追跡逆転戦略として適しています.


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Rev. FO", shorttitle="Rev. FO", overlay=true, pyramiding=0,calc_on_order_fills=true,calc_on_every_tick=true,default_qty_type=strategy.percent_of_equity,default_qty_value=50,initial_capital=1000,currency="USD",commission_type=strategy.commission.percent,commission_value=0.2,process_orders_on_close=false)

HHS = close[0] < close[1] and high[0] > high[1]
LLB = close[0] > close[1] and low[0] < low[1]

var trade_long = false
var text_status = "Awaiting Trade..."
var index_hhs = 0
var index_llb = 0
var price_hhs = 0.0
var price_llb = 0.0

if (HHS)
    trade_long := false
    text_status := "Trade in Short"
    index_hhs := bar_index
    price_hhs := high
if (LLB)
    trade_long := true
    text_status := "Trade in Long"
    index_llb := bar_index
    price_llb := low

plotshape(HHS, style=shape.labeldown, title="HHS", location=location.abovebar, color=color.red, text="HHS", textcolor=color.white,size=size.tiny)
plotshape(LLB, style=shape.labelup, title="LLB", location=location.belowbar, color=color.white, text="LLB", textcolor=color.white,size=size.tiny)

// HHS_top = line.new(index_hhs-1,price_hhs,bar_index,price_hhs,extend=extend.right,style=line.style_solid,width=1,color=color.red)
// LLB_bot = line.new(index_llb-1,price_llb,bar_index,price_llb,extend=extend.right,style=line.style_solid,width=1,color=color.white)
// line.delete(HHS_top[1])
// line.delete(LLB_bot[1])

//Calculates how far the signal is painted to right. 
hours = 5
lapos_x = timenow+1000*60*60*hours
lapos_y = highest(20)

// lb = label.new(lapos_x, lapos_y, text=text_status,color=trade_long?color.white:color.red,xloc = xloc.bar_time,style=label.style_diamond,textcolor=trade_long?color.white:color.red,size=size.small)
// label.delete(lb[1])

breakout_hhs = crossover(high,price_hhs)
breakout_llb = crossunder(low,price_llb)

bgcolor(breakout_hhs?color.lime:na,transp=50,title="BO HHS")
bgcolor(breakout_llb?color.maroon:na,transp=50,title="BO LLB")

long_condition = breakout_hhs
long_close = close < price_hhs or breakout_llb
short_condition = breakout_llb
short_close = close > price_llb or breakout_hhs

strategy.entry(id="long",long=true,comment="L",when=long_condition)
strategy.close(id="long",when=long_close)
strategy.entry(id="short",long=false,comment="S",when=short_condition)
strategy.close(id="short",when=short_close)



もっと