指数関数移動平均と移動平均のクロスオーバーと緊密な戦略

作者: リン・ハーンチャオチャン開催日:2024年1月19日 14:50:50
タグ:

img

概要

Exponential Moving Average (EMA) と Moving Average (MA) Crossover with Close Strategyは,資産の9期間のEMAと20期間のMAとの関係性における価格動向に基づいて取引信号を生成する.入場のトレンド方向を決定するためにEMAとMAクロスオーバー信号を使用し,価格が移動平均を再突破するとポジションを閉じる.

戦略の論理

EMAとMAの計算

  • ema9は閉店価格の9期指数関数移動平均を計算する.EMAは最近の価格により重みを付け,より反応性を有する.
  • ma20は閉店価格の20期間のシンプル・ムービング・平均を計算します.MAは20期間の閉店価格の平均です.

購入・販売条件

  • buyConditionは,Ema9とma20の両方の接近が>である場合,trueです.これは上昇信号として解釈されます.
  • sellConditionは,Ema9とma20の両方の閉じる値 < のとき true となります.これは下落信号として解釈されます.

取引の実行

  • buyCondition が true になる場合,ロング エントリーオーダーを実行します.
  • sellCondition が true となると,ショートエントリーオーダーを実行します.
  • 価格がEMA9またはMA20を回転すると,開いたポジションを閉じる.

ろうそくの色付け

  • 緑色のキャンドルは購入条件を示します.
  • 赤いキャンドルは販売状態を示します
  • 他のキャンドルは白色です.

EMAとMAのプロット

9 EMA と 20 MA は,視覚的な参照のためにグラフに図示されています.

利点分析

この戦略は,広く使用されている2つの指標を組み合わせ,EMAとMAのトレンドフォローとスムージング能力を活用して,より信頼性の高い信号を生成します.

クロスオーバーはトレンド変化の明確なシグナルを提供し,悪い取引を避ける.

複雑な計算なしで条件を視覚的に示します

自動入出の実行は 厳格に事前に定められた規則に従っており リスク管理を助けます

リスク分析

トレンドフォローインジケーターとして,移動平均値は,レンジ期間中に多くの誤った信号を生む可能性があります.不安定でトレンドでない市場ではこの戦略を使用しないでください.

急速な価格動向は,MAとEMAの値に遅れをもたらし,機会を逃す可能性があります.

EMAとMAのパラメータは戦略の業績に大きく影響し,異なる製品と時間枠に合わせて調整されるべきです.

自動化された戦略は 人間のように複雑な状況に適応できません ストップ損失を事前に設定し 利益を取ります

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

EMAとMAの長さの組み合わせをテストし,真の信号を最大化し,偽信号を最小化する最適なパラメータを見つけます.

ATRのような変動指標を組み込み 高リスクセットアップをフィルタリングし,潜在的な損失を制御します

信号の信頼性を確認するために,ボリュームやボリンジャーバンドなどの他の指標や信号と組み合わせます.

ストップ・ロスを追加し,利益ロジックを使用して,取引リスクを積極的に管理します.ストップは価格またはATRに基づきます.

概要

EMAとMAクロスオーバーは,EMAとMAクロスオーバーを使用して,トレンドと信号エントリを決定する.シンプルで自動化できるが,パフォーマンスはパラメータチューニングと市場状況に大きく依存する. 進化する市場に適応するために定期的に最適化する必要がある.


/*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=4
strategy("EMA and MA Crossover with Close Strategy", shorttitle="EMA_MA_Close", overlay=true)

// Define the length of the Exponential Moving Average and Moving Average
lengthEMA = 9
lengthMA = 20

// Calculate the 9 EMA and 20 MA
ema9 = ema(close, lengthEMA)
ma20 = sma(close, lengthMA)

// Define the buy and sell conditions
buyCondition = close > ema9 and close > ma20
sellCondition = close < ema9 and close < ma20

// Define the close position condition
closeCondition = crossover(close, ema9) or crossover(close, ma20)

// Execute buy or sell orders
if (buyCondition)
    strategy.entry("Buy", strategy.long)
else if (sellCondition)
    strategy.entry("Sell", strategy.short)

// Close any position if the close condition is met
if (closeCondition)
    strategy.close_all()

// Coloring the candles based on conditions
barcolor(buyCondition ? color.green : na)
barcolor(sellCondition ? color.red : na)

// Plotting the EMA and MA for reference
plot(ema9, color=color.blue, title="9 EMA")
plot(ma20, color=color.orange, title="20 MA")


もっと