SAR 交代期間の取引戦略

作者: リン・ハーンチャオチャン,日付: 2024-01-16 14:18:20
タグ:

img

概要

この戦略は,SAR指標が異なるタイムフレームで交互に動作することをベースにしている.この戦略は,SAR指標を15分,日,週,月間タイムフレームで計算し,週間のタイムフレームで取引する.週間のSARが最高価格を超えるとロングになり,最低価格を下回るとショートになる.

原則

SAR指標の計算

パラボリックSAR (Parabolic SAR) インディケーターは,現在の価格と過去価格の関係を計算してトレンド方向を判断するパラボリックSARを表します.価格がSARポイントを突破すると,トレンド逆転を示します.

この戦略は,それぞれ15分,日,週,月間時間枠でSAR値を計算します.公式は:

SAR = Previous SAR + Acceleration Factor * (Highest Price - Previous SAR) # Uptrend 
SAR = Previous SAR + Acceleration Factor * (Lowest Price - Previous SAR) # Downtrend

初期加速因子は0.02で,傾向が拡大するにつれて徐々に最大0.2まで増加します.

取引戦略

この戦略は,週間のタイムフレームで取引シグナルを生成する.週間のSARが最高価格を超えると,SAR値がストップ・ロスのように長い.SARが最低価格を下回ると,SARがストップ・ロスのように短い.

より長い時間枠で傾向を特定し,より正確なストップ損失レベルを設定することで,戦略はより効率的に利益を得ることを目指します.

利点

  • SAR インディケーターは,市場への参入のトレンド逆転点を正確に位置付けます.
  • 長期間の取引は主要な傾向をたどる
  • SAR に固執するストップ損失は,リスクを効果的に制御します

リスク と 解決策

  • SAR遅延は,ストップ・ロスを打った後にトレンドが逆転する可能性があります. 解決策は,より広いストップ・ロスト距離を許可することです.
  • 加速因子は巨大なトレンドで劇的に拡大し,ストップ損失を突破させる可能性があります. 解決策は最大因子サイズを制限することです.
  • 長期サイクルの長期引き下げ期間が長い時間枠で 解決策はポジションサイズを減らすことです

改善 の 分野

  • 導入条件を最適化,例えば他の指標と組み合わせる
  • ストップ・ロスのメカニズムを強化する.例えば,ストップ・ロスの遅れ,ゾーンのストップ・ロスの改善.
  • 位置のサイズを調整するルールを洗練し,例えば固定分数,動的調整
  • 更に長い時間枠で,例えば四半期ごとに,毎年
  • 機械学習を通じてパラメータを動的に最適化

結論

この戦略は,逆転を特定し,ストップロスを設定するためにSAR指標を使用して,より高いタイムフレームでトレンドを走る明確な論理を持っています.エントリーシグナルとリスク管理はさらに改善される可能性があります.エントリー,ストップ,ポジションサイズなどの分野での最適化により,より安定して利益を得ることができます.


/*backtest
start: 2023-01-09 00:00:00
end: 2024-01-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy ("SAR alternating timeframe", overlay=true)

//resolution
res1=input("15", title="Resolution")
res2=input("D", title="Resolution")
res3=input("W", title="Resolution")
res4=input("M", title="Resolution")

//output functions
out = sar(0.02,0.02,0.2)

// request.security
SAR1 = request.security(syminfo.tickerid, res1, out)
SAR2 = request.security(syminfo.tickerid, res2, out)
SAR3 = request.security(syminfo.tickerid, res3, out)
SAR4 = request.security(syminfo.tickerid, res4, out)

//Plots
//plot(SAR1 , title="SAR 15", color = red, linewidth = 2)
//plot(SAR2 , title="SAR D", color = green, linewidth = 3)
plot(SAR3 , title="SAR W", color =blue, linewidth = 4)
//plot(SAR4 , title="SAR W", color =purple, linewidth = 5))


/////////////////////////////////////////////////////////////////////
//trade
if (SAR3 >= high)
    strategy.entry("ParLE", strategy.long, stop=SAR3, comment="ParLE")
else
    strategy.cancel("ParLE")

if (SAR3 <= low)
    strategy.entry("ParSE", strategy.short, stop=SAR3, comment="ParSE")
else
    strategy.cancel("ParSE")



もっと