ダブルターントラッキング戦略


作成日: 2023-12-01 15:36:34 最終変更日: 2023-12-01 15:36:34
コピー: 0 クリック数: 566
1
フォロー
1619
フォロワー

ダブルターントラッキング戦略

概要

ダブル・ターニング・トラッキング戦略は,価格のダブル・ターニング・ポイントを追跡することで取引信号の生成を実現する.価格が新しい高点を形成すると,この戦略は空位に入ります.価格が新しい低点を形成すると,この戦略は多ポジションに入ります.この価格のターニング・ポイントのリアルタイム・トラッキングは,市場のモメンタムの逆転をタイムリーに捉えることができます.

戦略原則

二重回転トラッキング戦略は,高買い回転形式 ((HHS) と低売り回転形式 ((LLB) を含む2つの形状判断を使用して取引シグナルを生成する.その判断式は次のとおりである.

  1. HHS: 閉じる[0] < close[1] と high[0] > high[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)