価格乖離に基づくトレンドフォロー戦略


作成日: 2024-01-22 11:51:28 最終変更日: 2024-01-22 11:51:28
コピー: 0 クリック数: 635
1
フォロー
1617
フォロワー

価格乖離に基づくトレンドフォロー戦略

概要

この戦略は,価格偏差指数に基づいて,フィボナッチ回調領域と組み合わせて,トレンドの識別と追跡を実現します.価格が特定の方向からますます遠ざかると,トレンド形成として判断され,取引信号が生じます.

戦略原則

この策略は,VWAPを価格の中央軸として使用します. そして,価格の変動性に基づいて,上下1.618倍と2.618倍の標準差の価格偏差帯を計算します. 価格が下から上へと下軌を突破すると,多信号が生成されます. 価格が上から下軌を突破すると,空信号が生成されます.

多空した後のストップ EXIT信号は:多空したストップラインは下線,空したストップラインは上線である.

具体的には,以下のステップがあります.

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

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

  3. sdによる上下軌道計算:上線はVWAP+1.618*sd と VWAP + 2.618*sd; 下線はVWAP - 1.618である*sd と VWAP - 2.618*sd

  4. 価格が1.618倍下位を上から突破したとき,多行シグナルを生成する.価格が1.618倍上位を上から下から突破したとき,空白シグナルを生成する

  5. 多損停止 EXIT:価格が2.618倍下線を突破する;空調停止 EXIT:価格が2.618倍上線を突破する

優位分析

この戦略の利点は以下の通りです.

  1. 価格偏差指標を使用することで,価格の傾向を効果的に判断し,トレンドを追跡できます.

  2. Fibonacci 回帰領域と組み合わせて,Entrada の入場とストップ・ロスの退出を明確にします.

  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))