
この戦略は,パラグラフ回転システムの指標に基づいて,時間窓と組み合わせて反測し,動的追跡ストップの効果を実現する. この戦略は,傾向性強い品種に主に適用され,ストップポイントを動的に調整することで,トレンド追跡ストップを実現する.
この戦略は,パラボリック SARを主要技術指標として使用している.Parabolic SARは,非常に正確な反転信号を提供できる.株価が上昇傾向にあるとき,Parabolic SARは上昇し続け,上昇を追跡するためのサポートを提供する.株価が下落し始めたとき,Parabolic SARは,迅速に下落し,ストップ・損失の信号を提供する.
戦略はまず,初期値,ステップ値,最大値を含むパラボリックSARの3つのパラメータを設定します. そして,パラボリックSARの値を計算します. 戦略は,パラボリックSARをダイナミックストップポイントとして使用します. 株価が上昇すると,パラボリックSARの上に多行をします. 株価がパラボリックSARを下回ると,多行を平ら化します. 同様に,株価が落ちると,パラボリックSARの下空になります. 株価がパラボリックSARを突破すると,空白を平ら化します.
このようにして,ストラテジーは,株価がトレンド状態にあるときにトレンドを追跡し,株価が逆転し始めると,迅速にストップして,取引サイクルを完了することができる.
この戦略は,パラボリックSAR指標が提供する高効率のストップを充分利用し,動量追跡ストップの効果を実現している.固定ストップの点と比較して,この戦略は動的に調整し,トレンドを自動的に追跡してストップを行うことで,ポジションが早めにストップされるのを防ぐことができる.同時に,戦略のリスクも無視することはできません.戦略は,さまざまな市場での安定したパフォーマンスを維持するために,多方面での最適化と充実が必要である.全体的に,この戦略は,トレンドを追跡する効果に明らかなストップを提供しており,さらなる研究と応用に値する.
/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// === by @Aldovitch ===
// PSAR Strategy
// Based on Parabolic SAR Strategy provided by TradingView
// added a Time Window for Backtests
//
strategy("Parabolic SAR Strategy w/ Time Window", shorttitle="PSAR Strategy w/ TW", overlay=true)
// === INPUT INDEXES PARAMETERS ===
start = input(0.02)
increment = input(0.02)
maximum = input(0.2)
// === INPUT BACKTEST RANGE ===
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 = 2018, title = "From Year", minval = 2016)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
// === CONTROL & APPEARENCE ===
timeStart = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
timeFinish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
// === FUNCTIONS ===
window() => true // create function "within window of time"
// === COMPUTING INDEXES ===
psar = sar(start, increment, maximum)
if (psar > high)
strategy.entry("ParLE", strategy.long, stop=psar, comment="ParLE", when=window())
else
strategy.cancel("ParLE")
if (psar < low)
strategy.entry("ParSE", strategy.short, stop=psar, comment="ParSE", when=window())
else
strategy.cancel("ParSE")
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)