パラボリックSARとEMAに基づくトレンドフォロー戦略


作成日: 2023-12-22 13:04:55 最終変更日: 2023-12-22 13:04:55
コピー: 1 クリック数: 1032
1
フォロー
1623
フォロワー

パラボリックSARとEMAに基づくトレンドフォロー戦略

概要

この戦略の主な考えは,パラボリックSARとEMAの2つの指標を同時に使用して,トレンドの方向と入札のタイミングを識別することです.その中で,パラボリックSARは現在のトレンドの方向を判断するために使用され,EMAは特定の入札のタイミングを決定するために使用されます.SARが価格の上部で熊市であるとき,SARが価格下部で牛市であるとき.入札は,価格の突破を要求し,EMAはトレンドが形成され始めると考え,その時点でトレンドの方向に従って入札します.

戦略原則

この戦略の核心指標は,価格を追跡し,トレンド反転を判断できる技術分析ツールであるParabolic SARである.その計算公式はより複雑だが,原理はよりシンプルで直感的なものである.SAR指標は,常に自分の位置を調整することによって,常に価格の後ろに留まり,価格が反転すると,それはすぐに価格の反対側に位置を調整する.したがって,SAR指標の価格に対する位置を観察するだけで,現在のトレンドの方向を判断できる.

この戦略を補助する別の指標はEMAである.SARとは異なり,EMAはトレンドの持続性を判断するのに適している.価格がEMAを破る必要があると要求することによって,入場するだけで,一部のノイズを効果的にフィルターすることができます.また,EMAは逆転シグナルを確認するためにも使用できます.例えば,価格が上昇傾向のEMAを破るときは,トレンドの逆転のシグナルである可能性があります.

この戦略の具体的取引ルールは以下の通りです.

  1. 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()