この戦略は,スウィング取引のためのモメンタムトラッキングとストップロスを達成するために,パラボリックSAR滑り値とキャンドルスティックとの間のクロスオーバー操作を利用する.この戦略は,価格が上昇し低下するときにロングとショートポジションを確立する.価格が逆転するときにストップロスをするためにこれらのポジションを閉鎖する.
この戦略の核心は,現在の価格が上昇傾向か下落傾向にあるかどうかを判断するためにパラボリックSAR指標に依存している.パラボリックSAR指標がキャンドルスティックを下回っているとき,価格は現在上昇していることを意味します.この場合,戦略は各キャンドルスティックの終了時に,パラボリックSAR値がキャンドルスティックの低値を越えているかどうかをチェックします.そうでなければ,上昇傾向が継続し,戦略はロングポジションを確立します.パラボリックSARが低値を越えた場合,上昇傾向が下向きに逆転することを意味し,戦略はストップ損失のためにロングポジションを閉鎖します.
対照的に,Parabolic SAR がキャンドルスティックの上にある場合,価格は現在下落していることを意味します.この場合,戦略は各キャンドルスティックの終了時に,Parabolic SAR がキャンドルスティックの高値を下回るか否かを確認します.そうでなければ,ショートポジションを確立します.Parabolic SAR が高値を越えると,下落傾向が逆転して上向きになり,ストップ損失のためにショートポジションを閉じます.
この論理を通じて,戦略は価格トレンドに沿ってポジションを確立し,トレンドが逆転する最初の時点でストップロスを実現し,利益をロックすることができます.一方,モメントインジケーターとしてのパラボリックSARは,トレンドが逆転しているかどうかをより正確に決定し,ストップロスをより正確にすることができます.
安定性を高める方法は,ストップ・ロストポイントを十分に厳格にするために最適化すること,確認のために他の指標を組み合わせること,変化する環境に適応するためにパラメータを調整すること,異なる製品のための最適なパラメータセットを選択することなどです.
一般的には,このパラボリックSARスウィング戦略は,かなり効果的な短期的取引戦略である.スウィング取引方法とともに,トレンド方向とモメンタム変化を決定するためにパラボリックSARを利用し,上下トレンドの間に長短ポジションを繰り返し確立する.厳格なストップ損失メカニズムは,この戦略に適切なリスク管理能力を与えます.しかし,単一指標戦略として,パラボリックSARの無効性は大きな影響を与えるでしょう.したがって,これはいくつかの強みと潜在力を持つ戦略ですが,いくつかのリスクもあります.ライブ取引で安定した過剰リターンを生み出すためにバックテスト,最適化,強化が必要です.
/*backtest start: 2023-12-14 00:00:00 end: 2023-12-21 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Parabolic SAR Strategy", overlay=true) start = input(0.05) increment = input(0.075) maximum = input(1) fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) fromYear = input(defval = 2000, title = "From Year", minval = 1970) //monday and session // To Date Inputs toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31) toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) toYear = input(defval = 2020, title = "To Year", minval = 1970) startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00) finishDate = timestamp(toYear, toMonth, toDay, 00, 00) time_cond = true var bool uptrend = na var float EP = na var float SAR = na var float AF = start var float nextBarSAR = na if bar_index > 0 firstTrendBar = false SAR := nextBarSAR if bar_index == 1 float prevSAR = na float prevEP = na lowPrev = low[1] highPrev = high[1] closeCur = close closePrev = close[1] if closeCur > closePrev uptrend := true EP := high prevSAR := lowPrev prevEP := high else uptrend := false EP := low prevSAR := highPrev prevEP := low firstTrendBar := true SAR := prevSAR + start * (prevEP - prevSAR) if uptrend if SAR > low firstTrendBar := true uptrend := false SAR := max(EP, high) EP := low AF := start else if SAR < high firstTrendBar := true uptrend := true SAR := min(EP, low) EP := high AF := start if not firstTrendBar if uptrend if high > EP EP := high AF := min(AF + increment, maximum) else if low < EP EP := low AF := min(AF + increment, maximum) if uptrend SAR := min(SAR, low[1]) if bar_index > 1 SAR := min(SAR, low[2]) else SAR := max(SAR, high[1]) if bar_index > 1 SAR := max(SAR, high[2]) nextBarSAR := SAR + AF * (EP - SAR) if barstate.isconfirmed and time_cond if uptrend strategy.entry("ParSE", strategy.short, stop=nextBarSAR, comment="ParSE") strategy.cancel("ParLE") else strategy.entry("ParLE", strategy.long, stop=nextBarSAR, comment="ParLE") strategy.cancel("ParSE") plot(SAR, style=plot.style_cross, linewidth=3, color=color.orange) plot(nextBarSAR, style=plot.style_cross, linewidth=3, color=color.aqua) //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)