ゴールデンクロス 3EMA 長期取引戦略


作成日: 2023-09-26 16:23:53 最終変更日: 2023-09-26 16:23:53
コピー: 0 クリック数: 760
1
フォロー
1617
フォロワー

概要

この戦略は,3つの異なる周期のEMA平均線に基づいて取引信号判断を行い,8周期,50周期および200周期の3つのEMA平均線を使用して金叉,デッドフォーク判断を行い,異なるEMA平均線の優位性を発揮し,より良い取引効果を達成する.

戦略原則

この戦略は,8周期,50周期および200周期の3つのEMA平均線を計算し,ブリン帯通路を設定して突破判断を行う.具体的論理は:

  1. 8周期EMA,50周期EMAおよび200周期EMAの3つの均線を計算する.
  2. 判断8周期EMA上を50周期EMAで金叉形成すると,多めにする.50周期EMA下を8周期EMAで死叉形成すると,平仓する.
  3. 価格が200サイクルEMA以上である場合にのみ,複数の操作を行うことを選択できます.
  4. 選択可能なストップ EMA 平均線を設定し,価格が平均線を下回ったときに平仓ストップを行う.

急速周期EMAの運行を判断する底部,中周期EMAはトレンドを保証し,遅周期EMAは振動をフィルターし,三つは相互に補完され,パターンの変換を判断しながら取引頻度を兼ね備える.

戦略的優位性

  1. 三周期EMA平均線合理的な判断傾向,異なる周期EMAの優位性を充分発揮する。8周期EMAは短期底部反発の機会を判断する,50周期EMAは中期トレンドの方向を判断する,200周期EMAのフィルター振動は大傾向を保証する。

  2. 価格が200サイクルEMA以上である場合にのみ追加することが選択できます.

  3. 選択可能な停止 EMA均線は合理的な停止位置を設定する.

  4. 視覚的な設定は,ベルトの色,EMAライン表示など,戦略の調整性を向上させる.

  5. フォーク・オブ・ザ・フォークの判断の論理を簡潔で理解しやすいように記述しています.

リスクと解決

  1. EMA平均線は遅滞性があり,ポジション構築の最適なタイミングを逃す可能性があります.EMA周期を適切に短縮したり,MACDなどの他の指標と組み合わせて判断するタイミングを設定することができます.

  2. 震動行情中のEMA平均線は誤信号を生じることがあります. 長い周期EMAを駆除したり,他のフィルタリング条件を追加したりすることができます.

  3. ストップポジションは固定であり,市場の変動に応じて調整できない.動的なストップに変更し,ATRなどの指標に基づいてストップポジションを決定することができる.

  4. 止損のexiting criteriaを考慮していないため,損失のリスクがある. 移動止損または固定ポイント値止損を設定してリスクを制御することができる.

戦略の最適化

  1. EMA周期は最適のパラメータの組み合わせを見つけるために最適化することができる.

  2. MACDなどの指標で判断できます.

  3. ダイナミックストップ条件を追加し,市場の変動に応じてストップ位置を調整する.

  4. ストップロジックを追加し,移動ストップまたは固定ポイントストップを設定します.

  5. 合格条件の最適化,例えば,エネルギー指数の増加などのフィルター.

要約する

この戦略は,EMA均線の安定したフィルター判断トレンド方向に基づいて,異なる周期EMAの優位性を組み合わせて取引機会を捉える. ストップ・ストップ・ロスの戦略を最適化し,より多くの指標判断を追加することで,戦略の勝率を高める. 全体的に言えば,この戦略は比較的シンプルで,EMA均線判断のトレンド追跡取引に適しています.

ストラテジーソースコード
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-20 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Long only EMA CROSS 8/50/200 Backtest", shorttitle="Golden Cross Tri EMA", overlay=true)

// EMA 8/50/200 Cross TEST



// Input
switch1=input(true, title="Enable Bar Color?")
switch2=input(true, title="Show 8 EMA")
switch3=input(true, title="Show 50 EMA")
switch4=input(true, title="Show 200 EMA")
switch5=input(false, title="Show profit level EMA")
bool_Long_EMA200=input(false, title="Long only above EMA200")
movingaverage_8 = ema(close, input(8))
movingaverage_50 = ema(close, input(50))
movingaverage_market_signal = ema(close, input(200))
movingaverage_profitlvl = ema(close, input(50))


// Calculation
bullish_cross = if bool_Long_EMA200 == true
    crossover(movingaverage_8, movingaverage_50) and movingaverage_8 > movingaverage_market_signal
else 
    bullish_cross = crossover(movingaverage_8, movingaverage_50)
bearish_cross = crossunder(close, movingaverage_profitlvl)

// Strategy
if bullish_cross
    strategy.entry("long", strategy.long)

strategy.close("long", when = bearish_cross )

// Colors
bartrendcolor = close > movingaverage_8 and close > movingaverage_50 and change(movingaverage_50) > 0 ? green : close < movingaverage_8 and close < movingaverage_50 and change(movingaverage_50) < 0 ? red : blue
barcolor(switch1?bartrendcolor:na)

// Output
plot(switch2?movingaverage_8:na,color = change(movingaverage_8) > 0 ? green : red,linewidth=2, title="EMA8")
plot(switch3?movingaverage_50:na,color = change(movingaverage_50) > 0 ? green : red,linewidth=2,title="EMA50")
plot(switch4?movingaverage_market_signal:na,color = change(movingaverage_market_signal) > 0 ? green : red,linewidth=3,title="EMA200")
plot(switch5?movingaverage_profitlvl:na,color = change(movingaverage_profitlvl) > 0 ? green : red,linewidth=3, title="EMA Profit LVL")

//
alertcondition(bullish_cross, title='Golden Cross (bullish)', message='Bullish')
alertcondition(bearish_cross, title='Death Cross (bearish)', message='Bearish')