EMAプルバックに基づくプルバックショート戦略


作成日: 2024-01-18 11:02:17 最終変更日: 2024-01-18 11:02:17
コピー: 0 クリック数: 709
1
フォロー
1617
フォロワー

EMAプルバックに基づくプルバックショート戦略

概要

この戦略は50周期のEMA平均線とK線の閉盘価格を判断し,価格がEMA平均線を下方突破すると空白し,価格が2〜3K線を回調するのを待つ後,K線が吞食形態のK線が発生した場合,K線の閉盘後にポジションを空白して,ショートライン操作を行う.

戦略原則

まず,50周期のEMA平均線を計算し,その後,価格が上から下へとこのEMA平均線を突破するかどうかを判断し,突破すると空頭衝動として記録する.次に,後続のK線が上向きの反転が発生するかどうかを判断し,反転幅が上位のK線の最低値を超えると,反転信号として記録する.反転の後,さらに,後続の1-2のK線が吞食形状を形成するかどうかを判断し,吞食が形成された場合,吞食信号として記録する.空頭衝動,反動,吞食3の条件を同時に満たしているときに,その吞食K線を閉じた後に空仓を開き,ショートライン操作を行う.

戦略は50周期EMA平均線を描き,空調信号を発した時に,K線の下に下向きの赤い三角マークを描きます.同時に,ストップ・ロスを与え,赤いストップ・ラインを描きます.

優位分析

この戦略は,トレンド判断と形状特性を結合し,トレンド反転の機会を効果的に捉えることができる.まずは,EMAを使用してトレンドの方向を判定し,その後,逆調の過程で,サポーター形状を利用して信号を発信し,偽突破に惑わされないようにする.損耗が明確で,逆戻り制御が置かれています.ショートライン操作に適しています.

リスク分析

この戦略は,主にEMAが判断するトレンドの方向に依存し,急激な突破が発生した場合に誤判が生じることがあります. 吞食形態の判断にはある種の主観性があり,数量と深さの両方パラメータ最適化が必要です. 止損位置は,市場変動の程度に応じて調整する必要があります.

EMAパラメータ,回調K線数,吞食K線数などのパラメータを最適化することで,よりよい戦略効果を得ることができる.さらに,他の指標と組み合わせてトレンド判断と回調信号を考慮することもできる.

最適化の方向

  1. EMAサイクル最適化: 30、40、60サイクルなどのより多くのEMAサイクルをテストして,最適なパラメータを見つけることができる.

  2. 回調K線数最適化: 2-5根など,異なる数をテストして,最適な回調信号を見つける.

  3. 吞食K線数最適化:1-3根など,異なる数をテストして,最適な吞食信号を見つける.

  4. 止損倍数最適化:0.5-2倍ATR止損をテストして,最適の止損位置を見つけることができる.

  5. MACD,KDJなどの他の指標判定信号を加えることを検討し,信号の正確性を向上させる.

  6. 株価指数,原油,貴金属などの異なる品種をテストすることができ,適用範囲を広げます.

要約する

この戦略は,まずEMAを使ってトレンドの方向を判断し,その後,反調と吞食形状を組み合わせて空白信号を発信する.これは典型的なトレンド反転戦略である.それは,トレンド判断と形状特性を組み合わせて,反転の機会を効果的に捕まえることができる.戦略パラメータが最適化されると,良い結果が得られる.全体的に言えば,この戦略は操作が簡単で,リスクが制御可能であり,ショートライン操作に非常に適しています.

ストラテジーソースコード
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Linor Pullback Short Strategy", shorttitle="EMA Pullback", overlay=true)

// Define strategy parameters
ema_length = input(50, title="EMA Length")
pullback_candles = input(3, title="Number of Pullback Candles")
engulfing_candles = input(1, title="Number of Engulfing Candles")
stop_loss = input(1, title="Stop Loss (in ATR)")

// Calculate the EMA
ema = ema(close, ema_length)

// Define bearish impulse condition
bearish_impulse = crossover(close, ema)

// Define pullback condition
pullback_condition = false
for i = 1 to pullback_candles
    if close[i] > close[i - 1]
        pullback_condition := true
    else
        pullback_condition := false

// Define engulfing condition
engulfing_condition = false
for i = 1 to engulfing_candles
    if close[i] < open[i] and close[i-1] > open[i-1]
        engulfing_condition := true
    else
        engulfing_condition := false

// Define the entry condition
entry_condition = bearish_impulse and pullback_condition and engulfing_condition

// Plot the EMA on the chart
plot(ema, color=color.blue, title="50 EMA")

// Plot shapes on the chart to mark entry points
plotshape(entry_condition, style=shape.triangleup, location=location.belowbar, color=color.red, size=size.small)

// Define and plot the stop loss level
atr_value = atr(14)
stop_loss_level = close + atr_value * stop_loss
plot(stop_loss_level, color=color.red, title="Stop Loss")

// Strategy orders
strategy.entry("Short", strategy.short, when=entry_condition)
strategy.exit("Stop Loss/Target", from_entry="Short", stop=stop_loss_level, when=strategy.position_size[1] > 0)

// Plot strategy performance on the chart