パラボリックSARとEMAのトレンド追跡戦略

作者: リン・ハーンチャオチャン開催日:2023年12月22日 13:04:55
タグ:

img

概要

この戦略の主な考え方は,トレンド方向と市場への参入のタイミングを特定するためにパラボリックSARとEMAインジケーターの両方を使用することです.パラボリックSARは現在のトレンド方向を決定するために使用され,EMAは市場への参入の特定のタイミングを決定するのに役立ちます.SARが価格以上になると,それは熊市場です.SARが価格を下回ると,それは牛市場です.市場に参入する際に,トレンドが形成されていると考えられる前にEMAを突破する価格も必要です.この時点で,市場に入るためにトレンド方向に従ってください.

戦略原則

この戦略のコアインジケーターは,価格を追跡し,トレンド逆転を判断できる技術分析ツールであるParabolic SARです.その計算式はより複雑ですが,原理はシンプルで直感的です.SARインジケーターは常に価格の後ろに常に位置を調整します.価格が逆転すると,すぐに価格の反対側に位置を調整します.したがって,現在の方向性トレンドを判断するために価格との関係でSARインジケーターの位置を観察するだけです.

この戦略を支援するもう1つの指標はEMAである.SARとは異なり,EMAはトレンドの持続性を判断するのにより適している.市場に入る前に価格がEMAを突破することを要求することによって,いくつかのノイズが効果的にフィルタリングすることができます.またEMAは逆転信号を確認するためにも使用できます.例えば,価格が上昇傾向EMAを突破すると,それはトレンド逆転の信号である可能性が高い.

この戦略の具体的な取引規則は以下です.

  1. 傾向の方向を決定するためにSARを使用します.価格以上のSARは下落市場であり,価格の下は上昇市場です.
  2. 牛市では価格がEMAより高くなるとロング;熊市では価格がEMAより低くなるとショート
  3. リスク管理のために,ストップ・ロスをSAR値に設定する

パラボリック SAR を使って主要なトレンドを決定し,誤った信号を EMA でフィルタリングすることで,リスクを制御しながらトレンドをロックし,効果的なトレンド追跡を実現することができます.

利点分析

この戦略には以下の主な利点があります.

  1. 強いトレンド追跡能力.SARはトレンド逆転を判断するのに非常に敏感で,トレンド方向を効果的にロックすることができます.
  2. 高精度で EMAは騒音をフィルタリングし 罠を避けます
  3. 適切なリスク管理 SARでストップ・ロスを設定する 単一の損失を制御する
  4. 実行が簡単です 戦略のルールはシンプルで明快で 分かりやすく実行できます

一般的には,この戦略は複数の指標の利点を統合し,傾向を把握しながら,効果的なリスク管理を達成し,安定した傾向追跡戦略であり,習得が容易です.

リスク分析

この戦略には多くの利点がありますが,実際の運用中に注意する必要があるリスクは依然としてあります.主なリスクは次のとおりです.

  1. トレンド逆転リスク トレンド逆転が起こると,戦略は損失を時間内に止めることができず,それにより大きな損失を引き起こす可能性があります.
  2. 範囲限定の市場リスクです 範囲限定の市場では 戦略は複数の小さな損失を伴うでしょう
  3. パラメータ最適化リスク.SARとEMAのパラメータ設定は戦略のパフォーマンスに影響を与え,最適なパラメータを見つけるために繰り返しテストする必要があります.

上記のリスクを軽減するために,最適化は次の側面で行うことができます:

  1. 他の指標を組み合わせ,トレンド逆転のタイミングを決定し,より敏感なストップ・ロスを設定します.
  2. 波動性のある市場での頻繁なオープンを避けるためにフィルターを追加します.
  3. 遺伝子アルゴリズムやその他の手段を使用して パラメータの組み合わせを最適化し 最適なパラメータを見つけます

最適化方向

この戦略をさらに最適化するために,次の側面を考慮してください.

  1. パラメータ設定を最適化する.遺伝子アルゴリズムなどの方法を使用して,最適なパラメータ組み合わせを見つけるために,EMAとSARのパラメータをテストし最適化することができます.

  2. トレンド判断ツールを追加します.トレンドを確認し精度を向上させるために,MACDやボリンジャー帯などの他の指標を追加できます.

  3. 動的ストップ損失を設定します.より柔軟なストップのためにATRなどの指標に基づいて動的ストップ損失点を設定します.

  4. 取引コストを考慮し,絶対的利益よりも純利益を最適化するためにスリップと佣金パラメータを導入します.

  5. 多レベルエントリーと出口 より複雑な多レベルエントリーと出口メカニズムは,異なるトレンド段階の段階でポジションを構築またはストップ損失を設定することができます.

上記の最適化により,傾向を追跡しながら,戦略はより高い安定性,より正確な判断,より強力なリスク管理能力を得ることができ,それによってより良いパフォーマンスを達成することが期待できます.

概要

パラボリックSARとEMAのトレンド追跡戦略は,トレンド方向とエントリータイミングを判断するために複数の指標の利点を統合している.SARをストップ損失ポイントとして設定すると,リスクは制御下にある.これは比較的安定した定量戦略である.この戦略には高い判断精度と簡単なマスターなどの利点があります.しかし,特定のリスクもあります.より良いパフォーマンスを達成するために,パラメータとストップ損失方法のさらなる最適化が必要です.投資家が参照して学ぶ価値があります.


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

//@version=3
strategy("Parabolic SAR Strategy w/ EMA", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)


emalength = input(100 , "EMA Length")
emaoffset = input(0.00, "EMA Offset %")
start = input(0.015)
increment = input(0.005)
maximum = input(0.2)

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
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 = 2019, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////

psar = sar(start, increment, maximum)
ema = ema(close, emalength)
offset = (emaoffset / 100) * ema

// Signals
psar_long  = high[1] < psar[2] and high > psar[1] 
psar_short = low[1]  > psar[2] and low  < psar[1] 

// Plot PSAR
plotshape(psar, location = location.absolute, style = shape.cross, size = size.tiny, color = low < psar[1] and not psar_long ? green : red)

//Plot EMA
plot(ema)

if(psar_long)
    strategy.close("Short")
    
if(psar_short)
    strategy.close("Long")

if (psar < low and time_cond and close > ema + offset)
    strategy.entry("Long", strategy.long, comment="Long", stop = psar)
   
if (psar > high and time_cond and close < ema - offset)
    strategy.entry("Short", strategy.short, comment="Short", stop = psar)

if (not time_cond)
    strategy.close_all()


もっと