SAR 交互時間枠取引戦略


作成日: 2024-01-16 14:18:20 最終変更日: 2024-01-16 14:18:20
コピー: 0 クリック数: 656
1
フォロー
1617
フォロワー

SAR 交互時間枠取引戦略

概要

この戦略は,SAR指標を異なる時間周期で交互に操作する取引戦略に基づいています.戦略は,15分,日線,周線,月線の時間枠でそれぞれSAR指標を計算し,周線時間枠で取引操作を行います.周線SAR指標の最高値を通過するときに多し,最低値を通過するときに空しを行います.

戦略原則

SAR指標の計算

SAR指数は,パラボリック SARを表し,現在の価格と歴史的な価格の関係を計算して市場のトレンド方向を判断し,価格がSARポイントを突破すると,トレンドが逆転することを示す.

この戦略は,15分,日線,周線,月線の時間枠でSAR値を計算する.計算式は以下のとおりです.

SAR = SAR前值 + 加速因子(最高价 - SAR前值) # 多头趋势
SAR = SAR前值 + 加速因子(最低价 - SAR前值) # 空头趋势

このうち,加速因子の初期値は0.02と設定され,トレンドの継続に伴い,最大0.2まで徐々に増加します.

取引戦略

策略は周回線時間枠で取引信号を発する.周回線SAR上での最高値の穿越時に多做し,SAR値にストップロスを設定する.SAR下での最低値の穿越時に空きし,SAR値にストップロスを設定する.

この戦略は,より高いレベルの時間枠でトレンドを判断し,より正確なストップ・ロスを設定することで,より効率的に利益を得ます.

優位分析

  • SARを使ってトレンドの逆転点と入場点の位置を判断する
  • 高いタイムフレームで動作し,大きなトレンドに合わせて動作します.
  • ストップポイントはSARに貼り付けられ,リスクを効果的に制御する.

リスクと解決策

  • SAR指標が滞り,止損点を越えた後に逆転する可能性がある. 解決方法は,適切な止損距離を緩めることである.
  • トレンドが大きいとき,SARの加速FACTORは徐々に大きくなり,放量突破が発生する可能性があります. 解決策はFACTORの最大値を制限することです.
  • 高級時間枠では,周期が長すぎ,引き下げ時間が長い.ポジションを下げることでリスクを回避できる.

思考を最適化する

  • 入場条件の最適化,例えば他の指標と組み合わせたフィルター信号
  • 移動ストップ,区間ストップなどの最適化ストップ戦略
  • ポジション管理の最適化,例えば固定シェア,動的調整など
  • より高度な時間枠で操作する.例えば,四半期,年表
  • 機械学習アルゴリズムと組み合わせた動的最適化パラメータ

要約する

この戦略の全体的な考え方は明確で,高い時間枠でトレンドを判断することによって,大方向に効果的に従うことができる.また,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")