超トレンド確認を用いた5〜10〜20日間のEMAクロスオーバーに基づく戦略

作者: リン・ハーンチャオチャン,日付: 2023-12-19 10:39:36
タグ:

img

概要

この戦略は,5日,10日,20日指数関数移動平均線 (EMA) を計算し,スーパートレンド指標を使用して購入・販売シグナルを生成する. 5日 EMA が10日 EMA を越え,5日 EMA と 10日 EMA が20日 EMA を越えるときに購入シグナルを生成する. 10日 EMA が5日 EMA を越え,5日 EMA と 10日 EMA が20日 EMA を越えるときに販売シグナルを生成する.

戦略の論理

  1. 計算する EMAは 5 日間, 10 日間,および 20 日間です.
  2. スーパートレンド指標を計算する
  3. 5日間のEMAが10日間のEMAより大きく,5日間のEMAも10日間のEMAも20日間のEMAより大きく,つまり5日間のEMAと10日間のEMAが20日間のEMAを超えると,買い信号を生成する.
  4. 10日間のEMAが5日間のEMAよりも小さいとき,5日間のEMAと10日間のEMAが20日間のEMAよりも小さいとき,5日間のEMAと10日間のEMAが20日間のEMAを下回るという意味で,セールシグナルを生成します.
  5. また,スーパートレンドインジケーターを使用して市場傾向を決定します.スーパートレンドが下向きを示したときにのみ購入信号を生成し,スーパートレンドが上向きを示したときにのみ販売信号を生成します.

戦略 の 利点

  1. シンプルで効果的で 分かりやすく実行できます
  2. 3つのEMA線とスーパートレンドインジケーターを組み合わせることで より正確で信頼性の高いシグナルです
  3. 短期,中期,長期の動向を包括的に判断する 5日,10日,20日EMA
  4. テクニカル・インパクト・インディケーターを組み合わせることで操作されるのを避ける.
  5. 柔軟な調整可能なパラメータは,異なる製品と市場条件に対応します.
  6. 高リスク・リターン比の取引機会を正確に検出する
  7. 簡単に理解し 拡張し カスタマイズできます

戦略 の リスク

  1. 市場が激しく波動する時 より多くの誤った信号が発生するかもしれません タイミングが合わないかもしれません
  2. EMAシステムはパラメータに敏感だ 不適切な設定は損失につながるかもしれない
  3. スーパートレンドの傾向判断は遅延効果がある.他の指標からの確認が必要です.
  4. フレッシュクラッシュのような 極端な市場イベントに対処できない.

主要なリスクに対する解決策

  1. さらに技術指標や 基本分析を追加して 信号を確認します
  2. 損失を制限するためにストップ損失戦略を追加します.
  3. 短期指標と長期指標を組み合わせてパラメータを最適化する
  4. インデックス・ボラティリティと スーパー・トレンドのパフォーマンスを監視し 必要に応じて手動で介入する

戦略の最適化のための方向性

  1. MACD,KDなどの EMA システムや技術指標を追加します
  2. 自動ストップ損失を追加し,利益を取ります.
  3. スーパートレンドとEMAのパラメータを 異なる製品と市場状況に基づいて最適化します
  4. 過去データに基づいてパラメータと戦略を最適化するためにバックテストを追加します
  5. 価格動向と潜在的な取引機会を予測するための機械学習予測モデルを追加します

概要

この戦略は,スーパートレンドインジケーターとともに5日,10日,20日EMAを使用しています. シンプルで効果的です. トレンド識別と機会発見で優れたパフォーマンスを発揮します. 非常にカスタマイズ可能で拡張可能です. パラメータチューニングを通じて最適化するための大きな余地があり,より複雑な市場環境で戦略パフォーマンスを継続的に改善するために,より多くの指標と機械学習モデルを追加します.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © aadilpatel07

//@version=4
strategy("5-10-20 Cross", overlay=true)
src = close, 
len1 = input(5, minval=1, title="EMA 1")
len2 = input(10, minval=1, title="EMA 2")
len3 = input(20, minval=1, title="EMA 3")

mult = input(type=input.float, defval=2)
len = input(type=input.integer, defval=14)
[superTrend, dir] = supertrend(mult, len)

ema1 = ema(src, len1)
ema2 = ema(src, len2)
ema3 = ema(src, len3)

//EMA Color
col1 = color.lime
col2 = color.blue
col3 = color.red

//EMA Plots
plot(series=ema1,color=col1, title="EMA1")
plot(series=ema2,color=col2, title="EMA2")
plot(series=ema3,color=col3, title="EMA3")

//plot SuperTrend
colResistance = dir == 1 and dir == dir[1] ? color.new(color.red, 100) : color.new(color.green, 100)
colSupport = dir == -1 and dir == dir[1] ? color.new(color.green, 0) : color.new(color.green, 10)
plot(superTrend, color = colResistance, linewidth=1)
plot(superTrend, color = colSupport, linewidth=1)

//longCondition = crossover(ema1, ema2) and crossover(ema1,ema3) and crossover(ema2,ema3)
longCondition = ema1 > ema2 and ema1 > ema3 and ema2 > ema3 and ema2 < ema1 and dir == -1
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

//shortCondition = crossover(ema2, ema1) and crossover(ema3,ema1) and crossover(ema3,ema2)
shortCondition = ema1 < ema2 and ema1 < ema3 and ema2 < ema3 and ema2 > ema1 and dir == 1
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)

もっと