
この戦略は,Parabolic SAR指標に基づいて,株価の変動を追跡し,自動ストップ・ロスを実行するシンプルで効率的な戦略を実現します.これは,株価の上昇傾向を動的に追跡し,上昇と逆転の転換点で自動的にストップ・ロスを設定し,人工の介入を必要とせず,自動取引を実現します.
この戦略は,株価の変動のトレンド方向を判断するために,パラボリックSAR指数を使用します.PSAR指数がK線の下にあるときは,上昇傾向を示し,PSAR指数がK線上にある場合は,下降傾向を示します.戦略は,PSAR値の変化をリアルタイムで追跡して,トレンドの変化を判断します.
確認上の上昇傾向の場合,戦略は次のBARのPSAR点位にストップポイントを設定します. 確認下の傾向の場合,戦略は次のBARのPSAR点位にストップポイントを設定します. これにより,株価が逆転するときに,自動的にストップポイントを停止する機能を実現します.
また,策略は,スタート値,ステップ値,最大値などのパラメータを内蔵し,PSAR指標の感度を調整して,停止停止の効果を最適化します.
この戦略の最大の利点は,株式の変動を追跡し,自動ストップ・ロスを完全に自動化することです.市場動向を人工的に判断する必要なく,利益を得ることができ,手作業の時間と労力のコストを大幅に削減します.
伝統的なストップ・ストップ・ストップ戦略と比べて,この戦略のストップ・ストップ・ストップは浮動的な変化であり,価格変化による機会をより迅速に捉えることができ,同時に誤判の可能性を低減し,利益の余地を増やすことができます.
パラメータを最適化すると,この戦略は大きなトレンドで継続的に利益を得ることができ,逆転が来るときに自動的にProtect本金を失うことができます.
この戦略の最大のリスクは,PSAR指標が誤ったトレンド方向を判断する確率である. 株価が短期的な調整振動を起こすとき,PSAR指標に誤ったシグナルが発生する可能性がある. このとき,PSARのパラメータを合理的に最適化して判断の正確性を向上させる必要がある.
もう一つのリスクポイントは,ストップ・ストップ・ロスのポイントが現在の価格にあまりにも近いことです.これは,ストップ・ロスのポイントが突破される確率が増加し,本金に大きな衝撃をもたらす可能性があります.この時点で,十分な緩衝スペースを確保するために,適切なストップ・ストップ・ロスの範囲を緩解する必要があります.
この戦略の最適化余地は,主にPSAR指数自体のパラメータ調整に焦点を当てている.異なる株をテストし,スタート値,ステップ値,最大値の設定を最適化することにより,PSAR指数を価格変動により敏感にすることができるが,判断の正確性を保証することもできる.これは,大量に反測と分析の作業を必要とする.
もう一つの最適化方向は,ストップ・ストップ・ロスの範囲を設定することです.これは,異なる株式の1日間の波動範囲を研究し,その基礎で合理的な損益比率要求を設定する必要があります.これは,本金損失の確率をさらに減らすことができます.
この戦略は,パラボリックSAR指標を利用して,株式の追跡と自動ストップ・ロスを実現する完全に自動化された取引戦略である.その最大の利点は,人間の介入を必要とせず,時間と労力のコストを減らすことです.リスクは,主に指標判断ミスから発生し,パラメータの最適化によって軽減することができます.全体的に,この戦略は,株式の量的な取引のための効率的で信頼性の高いソリューションを提供します.
/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Swing Parabolic SAR Strategy", overlay=true)
start = input(0.02)
increment = input(0.02)
maximum = input(0.2)
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
if uptrend
strategy.entry("short", strategy.short, stop=nextBarSAR, comment="short")
strategy.cancel("long")
else
strategy.entry("long", strategy.long, stop=nextBarSAR, comment="long")
strategy.cancel("short")
plot(SAR, style=plot.style_cross, linewidth=3, color=color.orange)
plot(nextBarSAR, style=plot.style_cross, linewidth=3, color=color.aqua)