Parabolic SAR トレイリングストップロスの戦略は,Parabolic SAR インディケーターに基づいた取引戦略である.トレンドが逆転するときに,トレンド逆転点と出口ポジションを適時に特定することを目的としている.
パラボリック SAR インディケーターは価格動向を特定し,潜在的な逆転シグナルを与える.SARドットがキャンドルスティックの上を横切ると,それは上昇から下落への変化を表し,SARドットがキャンドルスティックの下を横切ると,それは下落から上昇への変化を表します.
パラボリックSAR指標のこの特徴に基づいて,この戦略は,SARドットがキャンドルスティックを横切ったときにトレンド逆転を特定し,対応する長または短エントリを作成します.具体的には,戦略論理は以下のとおりです.
パラボリック SAR 値を計算する.
トレンド逆転信号があるかどうかを判断する.SARドットがキャンドルスティックの上から下へと横切る場合は,下落信号を表し,ショートに行く.SARドットがキャンドルスティックの下から上へと横切る場合は,上昇信号を表し,ロングに行く.
クロスオーバーが起きたときにポジションを入力し,SARドットが再び反対方向にキャンドルスティックを横切ったときにストップ損失でポジションを終了します.
トレンド逆転点を特定するためにパラボリックSAR指標を使用し,トレンドに反する取引を避ける.
逆転信号が確認されたときに迅速にポジションに入れて,トレンドの変化を把握する.
SAR 交差点でストップ損失を設定し,迅速なストップとタイムリーな損失制御を行う.
シンプルで明快な戦略論理 実行が簡単です
パラボリックSARインジケーターは多くの誤った信号を生成し,不必要な取引を引き起こします.誤った信号を減らすためにSARパラメータを細かく調整します.
高波動期を避けるためにフィルターを追加することを検討してください.
ストップロスの距離が近すぎると,過剰なストップが起こる可能性があります.ストップロスの範囲に少しの動きの余地を与えましょう.
単一の指標に依存することで,戦略は市場特有の制限に敏感になります.信頼性を向上させるために他の指標またはフィルターと組み合わせることを検討してください.
パラボリック・SARのストップ・ロスト戦略は,トレンドが逆転するときに迅速にストップアウトし,方向を逆転させるために,パラボリック・SAR指標のトレンド識別能力を利用する.戦略の論理はシンプルで明確である.しかし,パラボリック・SAR指標のみに頼ることは制限がある.実際は,市場条件を考慮し,パラメータをそれに合わせて調整し,パフォーマンスを向上させるために他の技術指標を組み合わせなければならない.
/*backtest start: 2023-08-16 00:00:00 end: 2023-09-15 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Parabolic SAR Strategy (on close) [QuantNomad]", shorttitle="SAR Strategy [QN]", overlay=true) start = input(0.02) increment = input(0.02) maximum = input(0.2) psar = 0.0 // PSAR af = 0.0 // Acceleration Factor trend_dir = 0 // Current direction of PSAR ep = 0.0 // Extreme point sar_long_to_short = trend_dir[1] == 1 and close <= psar[1] // PSAR switches from long to short sar_short_to_long = trend_dir[1] == -1 and close >= psar[1] // PSAR switches from short to long trend_change = barstate.isfirst[1] or sar_long_to_short or sar_short_to_long // Calculate trend direction trend_dir := barstate.isfirst[1] and close[1] > open[1] ? 1 : barstate.isfirst[1] and close[1] <= open[1] ? -1 : sar_long_to_short ? -1 : sar_short_to_long ? 1 : nz(trend_dir[1]) // Calculate Acceleration Factor af := trend_change ? start : (trend_dir == 1 and high > ep[1]) or (trend_dir == -1 and low < ep[1]) ? min(maximum, af[1] + increment) : af[1] // Calculate extreme point ep := trend_change and trend_dir == 1 ? high : trend_change and trend_dir == -1 ? low : trend_dir == 1 ? max(ep[1], high) : min(ep[1], low) // Calculate PSAR psar := barstate.isfirst[1] and close[1] > open[1] ? low[1] : barstate.isfirst[1] and close[1] <= open[1] ? high[1] : trend_change ? ep[1] : trend_dir == 1 ? psar[1] + af * (ep - psar[1]) : psar[1] - af * (psar[1] - ep) plot(psar, style=plot.style_cross, color=trend_dir == 1 ? color.green : color.red, linewidth = 2) // Strategy strategy.entry("Long", true, when = sar_short_to_long) strategy.entry("Short", false, when = sar_long_to_short)