
この戦略は,価格偏差指数に基づいて,フィボナッチ回調領域と組み合わせて,トレンドの識別と追跡を実現します.価格が特定の方向からますます遠ざかると,トレンド形成として判断され,取引信号が生じます.
この策略は,VWAPを価格の中央軸として使用します. そして,価格の変動性に基づいて,上下1.618倍と2.618倍の標準差の価格偏差帯を計算します. 価格が下から上へと下軌を突破すると,多信号が生成されます. 価格が上から下軌を突破すると,空信号が生成されます.
多空した後のストップ EXIT信号は:多空したストップラインは下線,空したストップラインは上線である.
具体的には,以下のステップがあります.
VWAPを価格の中軸として計算する
価格変動の指標として価格の標準差sdを計算する
sdによる上下軌道計算:上線はVWAP+1.618*sd と VWAP + 2.618*sd; 下線はVWAP - 1.618である*sd と VWAP - 2.618*sd
価格が1.618倍下位を上から突破したとき,多行シグナルを生成する.価格が1.618倍上位を上から下から突破したとき,空白シグナルを生成する
多損停止 EXIT:価格が2.618倍下線を突破する;空調停止 EXIT:価格が2.618倍上線を突破する
この戦略の利点は以下の通りです.
価格偏差指標を使用することで,価格の傾向を効果的に判断し,トレンドを追跡できます.
Fibonacci 回帰領域と組み合わせて,Entrada の入場とストップ・ロスの退出を明確にします.
VWAPは,価格の中軸として,指標の基準値も向上させました.
パラメータの調整により,異なる品種と周期に対応できます
この戦略にはいくつかのリスクがあります.
トレンドが逆転すると,大きな損失が起こり得る
パラメータを正しく設定しない場合も, 策略の効果に影響します.
価格が急激に変動する時には,止損のリスクが大きい.
対策として
ポジションの周期を適切に短縮し,損失を時宜停止する
パラメータを最適化し,最適なパラメータの組み合わせを探します.
ポジション管理を強化し,単発損失を抑制する
この戦略は以下の方向から最適化できます.
トレンド指数で逆転を避ける
ポジション管理システムへの加入
パラメータの設定を最適化
複数のタイムサイクルで回測最適化
この戦略は,価格偏差思想に基づいて,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))