偏差に基づくトレンド追跡戦略

作者: リン・ハーンチャオチャン,日付: 2024-01-22 11:51:28
タグ:

img

概要

この戦略は,フィボナッチ回転領域と組み合わせた価格偏差指標に基づいてトレンドを特定し,追跡します.価格が1つの方向からますます偏移すると取引信号が生成されます.

戦略の論理

この戦略は,価格の中点線としてVWAPを使用する.その後,価格変動の1.618および2.618標準偏差の上下帯を計算する.価格が下帯を上向きに突破すると長い信号が生成される.価格が上向きに上向きに上向きに突破すると短い信号が生成される.

ロング・ショート・ポジションを開いた後に表示されるストップ・ロスのEXIT信号は,ロング・ポジションのストップ・ロスの線が下部帯であり,ショート・ポジションのストップ・ロスの線が上部帯である.

具体的には,次のステップを含みます.

  1. VWAP を価格の中点線として計算する.

  2. 価格の標準偏差 sd を価格変動の指標として計算する

  3. 上部帯はVWAP+1.618で,下部帯はSdで計算する.sd と VWAP + 2.618下の帯はVWAP - 1.618sd と VWAP - 2.618スコットランド

  4. 長信号は価格が1.618下帯を上向きに突破したとき生成される.短信号は価格が1.618上帯を下向きに突破したとき生成される.

  5. ロングストップ損失 EXIT:価格が2.618の下帯を突破する.ショートストップ損失 EXIT:価格が2.618上帯を突破する.

利点分析

この戦略には以下の利点があります.

  1. 価格偏差指標は,価格動向を効果的に決定し,動向を追跡することができます.

  2. フィボナッチリトラセイメント領域は,エントリーとストップロスの出口をより明確にする

  3. VWAPは,価格の中間線として指標の基準値を向上させる.

  4. パラメータは,異なる製品と時間枠に合わせて調整できます.

リスク分析

この戦略にはいくつかのリスクもあります:

  1. 傾向の逆転時により大きな損失を負う可能性があります

  2. 間違ったパラメータ設定も戦略のパフォーマンスに影響を与える

  3. 激烈な価格変動の際にストップロスのリスクが高くなります

対策:

  1. 保持期間を適切に短縮し,損失を間に合うように停止する

  2. 最適なパラメータ組み合わせを見つけるためにパラメータを最適化

  3. 単一の損失を制御するためにポジションサイズ管理を増やす

オプティマイゼーションの方向性

この戦略は,次の分野でも最適化できます.

  1. 逆トレンド取引を避けるためにトレンド指標を組み込む

  2. 位置サイズ管理メカニズムを追加する

  3. パラメータ設定を最適化

  4. バックテストと複数のタイムフレームで最適化

概要

この戦略は,VWAPとフィボナッチ標準偏差帯と組み合わせた価格偏差概念に基づいてトレンドを特定し,追跡する.移動平均値のような単一の指標を使用すると比較して,この戦略はより明確な判断とリスク管理を有する.パラメータ調整と最適化によって,戦略はより良いパフォーマンスを達成するために異なる製品とタイムフレームに適応することができます.


/*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Mysteriown

//@version=4
strategy(title="VWAP + Fibo Dev Extensions Strategy", overlay=true, pyramiding=5, commission_value=0.08)

// -------------------------------------
// ------- Inputs Fibos Values ---------
// -------------------------------------

fib1 = input(title="Fibo extension 1", type=input.float, defval=1.618)
fib2 = input(title="Fibo extension 2", type=input.float, defval=2.618)
reso = input(title="Resolution VWAP", type=input.resolution, defval="W")
dev = input(title="Deviation value min.", type=input.integer, defval=150)


// -------------------------------------
// -------- VWAP Calculations ----------
// -------------------------------------

t = time(reso)
debut = na(t[1]) or t > t[1]

addsource = hlc3 * volume
addvol = volume
addsource := debut ? addsource : addsource + addsource[1]
addvol := debut ? addvol : addvol + addvol[1]
VWAP = addsource / addvol

sn = 0.0
sn := debut ? sn : sn[1] + volume * (hlc3 - VWAP[1]) * (hlc3 - VWAP)
sd = sqrt(sn / addvol)

Fibp2 = VWAP + fib2 * sd
Fibp1 = VWAP + fib1 * sd
Fibm1 = VWAP - fib1 * sd
Fibm2 = VWAP - fib2 * sd


// -------------------------------------
// -------------- Plots ----------------
// -------------------------------------

plot(VWAP, title="VWAP", color=color.orange)
pFibp2 = plot(Fibp2, color=color.red)
pFibp1 = plot(Fibp1, color=color.red)
pFibm1 = plot(Fibm1, color=color.lime)
pFibm2 = plot(Fibm2, color=color.lime)

fill(pFibp2,pFibp1, color.red)
fill(pFibm2,pFibm1, color.lime)


// -------------------------------------
// ------------ Positions --------------
// -------------------------------------

bull = crossunder(low[1],Fibm1[1]) and low[1]>=Fibm2[1] and low>Fibm2 and low<Fibm1 and sd>dev
bear = crossover(high[1],Fibp1[1]) and high[1]<=Fibp2[1] and high<Fibp2 and high>Fibp1 and sd>dev

//plotshape(bear, title='Bear', style=shape.triangledown, location=location.abovebar, color=color.red, offset=0)
//plotshape(bull, title='Bull', style=shape.triangleup, location=location.belowbar, color=color.green, offset=0)


// -------------------------------------
// --------- Strategy Orders -----------
// -------------------------------------

strategy.entry("Long", true, when = bull)
strategy.close("Long", when = crossover(high,VWAP) or crossunder(low,Fibm2))

strategy.entry("Short", false, when = bear)
strategy.close("Short", when = crossunder(low,VWAP) or crossover(high,Fibp2))

もっと