双 EMA を ベース に する 戦略 を フォロー する 傾向

作者: リン・ハーンチャオチャン,日付: 2024-01-24 14:52:59
タグ:

img

概要

この戦略は,価格動向を認識し,動向を追跡するために二重EMA指標に基づいて構築されています.まず中長期EMAと短期EMAを計算し,その後,両EMAの間に黄金クロスがあり,死クロスがある場合,ロングポジションとショートポジションを実装します.一方,誤った信号をさらに排除するために,最高/最低フィルタリングも導入されています.

戦略の原則

この戦略の主な指標は,二重EMAであり,その一つは短期的,もう一つは長期的である.具体的には,次の変数が戦略で定義されている.

ema1: 中期から長期間のEMA期間,デフォルトで34日
ema2: 短期EMA期間,デフォルトで13日

ema_sr: 閉じる価格に基づく中長期EMA
最低EMA: 最低EMAはEMA2である.
lowest_ema: ema_sr の最低EMA,期間がema2である

ema_ysl: 取引シグナルを生成するために使用されるEMA,EMA_srと最高/最低_emaの関係に基づいて計算される

ema_sl と ema_ysl の間の黄金と死亡の交差を検知し,したがってトレンドフォローを達成します.

双 EMA の組み合わせにより,価格動向をより正確に判断することができる.中期から長期間の EMA は短期間のノイズをフィルタリングし,短期間の EMA は中期間の動向の回転をタイムリーに追跡することができる.最高/最低の EMA の導入により,誤った信号をさらに排除し,不必要な取引を減らすことができる.

利点分析

この戦略の最大の利点は,正確なトレンド識別にあります.ダブルEMA自体は,トレンド変化を把握するために単一のEMA,SMAおよび他の指標に優れています.そして,最高/最低_emaの適用は,短期的な引き下げによって引き起こされる偽信号を効果的にフィルタリングすることができます.これはトレンドフォロー戦略にとって重要です.

この戦略のパラメータはシンプルで,調整・最適化も簡単です.ユーザーは2つのEMAパラメータに集中するだけで,非常に直感的です.これは戦略を理解し,使用も簡単になります.

リスク分析

この戦略の主なリスクは,トレンド逆転を特定できないことにある.価格が長期的調整または主要な転換を形成するとき,ダブルEMAの遅れは,最良のエントリーポイントを逃す可能性があります.この時点で,オーバーサイズのポジションは,より大きな損失につながる可能性があります.

さらに,EMA自身は緊急事態に対応する能力がない.ブラック・スワン事件が発生すると戦略は損失を被る可能性があります.

上記のリスクを軽減するために,中長期EMAの長さを適切に短縮するか,緊急事態に対処するためにMACDのような指標を導入することを推奨します.同時に,最大損失を制御するためにストップロスを設定することもできます.

オプティマイゼーションの方向性

この戦略のさらなる最適化には余地があります.具体的には,主な方向は以下の通りです.

  1. 最適なパラメータを見つけるために EMA パラメータの複数の組み合わせをテストする.

  2. 価格の振動時に間違った信号を発しないように,ボリューム判断を追加します.

  3. トレンドライン,チャネル,その他のツールを組み合わせることで トレンドのターニングポイントをより正確に判断できます

パラメータ最適化,フィルター条件の追加,その他の手段を通じて,戦略の安定性と収益性をさらに向上させるという約束です.これには定量分析者が継続的にバックテストと最適化を行う必要があります.

概要

一般的に,この戦略は,ダブルEMAによるノイズをフィルタリングし,価格曲線を効果的にスムーズ化することで,傾向を特定する比較的強い能力を備えています.最高/最低EMAの導入はまた,シグナルの信頼性を向上させます.バックテストの結果を判断すると,この戦略は良好な安定したリターンを得ることができます.

しかし,戦略自体には,トレンド逆転をタイミングで特定する点では,一定の遅れがあります.これは,それが直面する主なリスクであり,将来の最適化のための重要な方向性でもあります.我々は,パラメータチューニング,シグナルフィルタリング,および他の手段を通じて戦略の堅牢性をさらに強化することを楽しみにしています. より多くの市場環境下で安定したリターンを達成できるように.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
// Modified from kivancfr3762's A2MK script

strategy("EMA STRATEGY", overlay=true)

ema2=input(13, "EMA2 Length")
ema1=input(34, "EMA1 Length")

ema_sr = ema((max(close[1], high) + min(close[1], low)) / 2, ema1)

highest_ema = ema(highest(ema_sr, 3), ema2)
lowest_ema = ema(lowest(ema_sr, 3), ema2)
k1 = ema_sr > highest_ema
k2 = ema_sr < lowest_ema

ema_ysl = iff(k1, lowest_ema, highest_ema)


longCondition = crossover(ema_ysl, ema_sr)
if (longCondition)
    strategy.entry("Short", strategy.short)

shortCondition = crossunder(ema_ysl, ema_sr)
if (shortCondition)
    strategy.entry("Long", strategy.long)
    

もっと