EMA23/EMA50 ダブル移動平均のクロスオーバー量的な取引戦略

作者: リン・ハーンチャオチャン開催日:2024年4月26日 15:29:21
タグ:エイマエマ23EMA50

img

概要

この戦略は,EMA23とEMA50のクロスオーバー信号をベースに取引する.EMA23がEMA50を超えると,購入信号を生成し,下を通過すると,売却信号を生成する.また,価格はEMA50を下回るときにロングポジションと,価格がEMA50を超えるとショートポジションのストップロスを実装する.また,価格はEMA50を下回るときにストップロスを再導入する.この戦略は30分間のタイムフレームに適している.

戦略の原則

  1. EMA23とEMA50の2つの指数関数移動平均を計算します.
  2. EMA23 が EMA50 を越えるときに購入信号と,EMA23 が EMA50 を越えるときに販売信号を生成する.
  3. ロングポジションでは,価格がEMA50を下回り,閉じる価格が前のキャンドルのEMA50を下回る場合はストップロスを実行します.
  4. ショートポジションでは,価格がEMA50を超え,閉じる価格が前のキャンドルのEMA50より高くなった場合,ストップロスを実行します.
  5. ロングポジションでは,価格がEMA50を上回る場合は市場に戻し,閉じる価格と高値の両方がEMA50を上回り,EMA23がEMA50を上回る場合は市場に戻します.
  6. ショートポジションでは,価格がEMA50を下回る場合,閉じる価格と低価格の両方がEMA50を下回り,EMA23がEMA50を下回る場合,再び市場に参入します.
  7. ロングポジションでは入場価格の1.6倍,ショートポジションでは入場価格の0.75倍に 利得率を設定する.

戦略 の 利点

  1. ダブル移動平均のクロスオーバーは,トレンドを把握するのに役立つシンプルで効果的なトレンドフォロー指標です.
  2. ストップ・ロスのメカニズムはリスクを制御し,損失の拡大を防ぐのに役立ちます.
  3. 再参入メカニズムは 戦略が再び動向を把握し,利益の可能性を高めることを可能にする.
  4. 利益の引き上げは 利益をタイミングで確保するのに役立ちます
  5. 30分間の時間枠は 取引機会を増やす一方で 騒音をフィルタリングします

戦略リスク

  1. EMAはトレンド指数として遅れがあり,最適なエントリーポイントを見逃す可能性があります.
  2. ストップ・ロスの配置は最適化されず,早期のストップ・アウトにつながる可能性があります.
  3. 取引頻度は 取引コストを増やし 収益性に影響を与える可能性があります
  4. この戦略は 変動する市場において 誤った信号を増やす可能性があります
  5. 固定利益率が戦略の利益の可能性を制限する可能性があります.

戦略の最適化方向

  1. トレンドを決定し,MACD,RSIなどのエントリー・アウトプットポイントを改善するための他の技術指標の導入を検討する.
  2. ストップ・ロスのレベルを最適化し,ストップ・ロスのポジションを動的に調整するためにATRのような変動指標を使用することを考慮します.
  3. 誤った信号を減らすために適切な取引フィルタリング条件を設定することによって取引頻度を制御する.
  4. バランスとトレンド市場に対して異なる戦略パラメータを設定する.
  5. 市場変動,リスク・リターン比などに基づいて動的に調整するような 利得率を柔軟にする.

概要

この戦略は,2つの移動平均値,EMA23とEMA50のクロスオーバーに基づいた定量的な取引戦略である.クロスオーバー信号を通じてトレンドを把握し,リスクを制御し,利益の可能性を高めるためにストップ・ロストと再エントリーメカニズムを実装する.この戦略は単純で理解しやすいもので,30分間のタイムフレームで中期から短期間の取引に適しています.しかし,この戦略には,トレンドの遅延識別,不適正なストップ・ロストの配置,およびレンジング市場で不良なパフォーマンスなどのいくつかの制限もあります.将来,戦略は,より多くの技術指標を導入し,ストップ・ロストポジションを最適化し,取引頻度を制御し,トレンドとレンジング市場の差異化,より強力なリターンを達成するためにダイナミックなテイク・プロフィートレベルを実装することによって最適化することができます.


/*backtest
start: 2023-04-20 00:00:00
end: 2024-04-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Crossover Strategy", overlay=true)

// EMA 23 ve EMA 50'nin hesaplanması
ema23 = ta.ema(close, 23)
ema50 = ta.ema(close, 50)

// Ana alım kuralı: EMA 23 ve EMA 50'nin yukarı kesilmesi
buySignal = ta.crossover(ema23, ema50)

// Ana satış kuralı: EMA 23 ve EMA 50'nin aşağı kesilmesi
sellSignal = ta.crossunder(ema23, ema50)

// Long pozisyon stop seviyesi
longStopLoss = low < ema50 and close < ema50[1]

// Short pozisyon stop seviyesi
shortStopLoss = high > ema50 and close > ema50[1]

// Long pozisyon için tekrar giriş kuralı
longReEntry = high > ema50 and close > ema50 and close > ema50 and ema23 > ema50

// Short pozisyon için tekrar giriş kuralı
shortReEntry = low < ema50 and close < ema50 and close < ema50 and ema23 < ema50

// Long işlemde kar alma seviyesi (%60)
longTakeProfit = strategy.position_avg_price * 1.60

// Short işlemde kar alma seviyesi (%25)
shortTakeProfit = strategy.position_avg_price * 0.75

// Long işlem için yeniden giriş koşulu
longReEntryCondition = strategy.position_size <= 0 and longReEntry

// Short işlem için yeniden giriş koşulu
shortReEntryCondition = strategy.position_size >= 0 and shortReEntry

// Geriye dönük test için başlangıç tarihi (01.01.2022)
startDate = timestamp(2022, 01, 01, 00, 00)

if (time >= startDate)
    if (buySignal)
        strategy.entry("Buy", strategy.long)

    if (sellSignal)
        strategy.entry("Sell", strategy.short)

    if (strategy.position_size > 0 and (longStopLoss or close >= longTakeProfit))
        strategy.close("Buy")

    if (strategy.position_size < 0 and (shortStopLoss or close <= shortTakeProfit))
        strategy.close("Sell")

    if (longReEntryCondition)
        strategy.entry("Buy", strategy.long)

    if (shortReEntryCondition)
        strategy.entry("Sell", strategy.short)


関連性

もっと