資源の読み込みに... 荷物...

EMA の 日中 スカルピング 戦略

作者: リン・ハーンチャオチャン,日付: 2024-01-24 15:43:31
タグ:

img

概要

この戦略は,EMAのクロスとキャンドルスタイク方向に基づいて購入・販売シグナルを特定するために9日および15日指数関数移動平均値 (EMA) を計算します. 9EMAが15EMAを超越し,最後のキャンドルスタイクが上昇し,9EMAが15EMAを下回り,最後のキャンドルスタイクが下落すると購入信号を生成します. 戦略にはATRベースのストップ損失も含まれています.

戦略の論理

  1. 9 日間 EMA と 15 日間 EMA を計算する
  2. 最後のキャンドルスタイルの方向を特定する (上昇または下落)
  3. 9EMAが15EMAを超え,最後のキャンドルスタイクが上昇すると購入信号を生成します.
  4. 9EMAが15EMAを下回り,最後のキャンドルストイックが下落するときに売り信号を生成します.
  5. 取引中にストップロスをプロットするためのATR指標を使用してATR値を計算する

利点分析

この戦略の利点は以下の通りです.

  1. 短期中期トレンドを把握するために EMA コンボを使用する
  2. ろうそくの方向を用いて偽信号をフィルタリングする
  3. リスクを制御するために動的ATRストップ損失を使用する
  4. 日中のスカルピングに適した短期間
  5. 実行が簡単

リスク分析

リスクには以下が含まれます.

  1. EMAは遅延効果があり,いくつかの価格動きを見逃す可能性があります
  2. EMAのクロスオーバーは,ウィップソーを引き起こす可能性があります.
  3. 日中取引における価格変動に敏感である
  4. ストップ・ロスは太りすぎると 影響を受けやすいし 幅も太りすぎると 利益に影響する

解決策:

  1. EMA パラメータを最適化
  2. MACD のような他のフィルターを追加します.
  3. ストップ損失を動的に調整する
  4. ストップ・ロスの戦略を最適化

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

最適化すべき分野:

  1. 最適期間の EMA コンボをテストする
  2. 他の指標を追加し 多要素モデルを構築する
  3. タイムフレームフィルターを追加,特定の期間中にのみ信号
  4. ストップ・ロスのレベルを調整するために波動性指数を組み込む
  5. マシン学習を使用してパラメータを動的に最適化します

概要

これは,EMAクロスオーバーとキャンドルスタイクフィルタリングをATRベースのダイナミックストップ損失と統合したシンプルで効果的なイントラデイスカルピング戦略である.パラメータと多要素組み合わせのさらなる改善は安定性と収益性を向上させる.


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

//@version=5
strategy("EMA Scalping Strategy", shorttitle="EMAScalp", overlay=true)

// Input parameters
ema9_length = input(9, title="9 EMA Length")
ema15_length = input(15, title="15 EMA Length")

// Calculate EMAs
ema9 = ta.ema(close, ema9_length)
ema15 = ta.ema(close, ema15_length)

// Plot EMAs on the chart
plot(ema9, color=color.blue, title="9 EMA")
plot(ema15, color=color.red, title="15 EMA")

// Identify Bullish and Bearish candles
bullish_candle = close > open
bearish_candle = close < open

// Bullish conditions for Buy Signal
buy_condition = ta.crossover(close, ema9) and ema15 < ema9 and bullish_candle

// Bearish conditions for Sell Signal
sell_condition = ta.crossunder(close, ema9) and ema15 > ema9 and bearish_candle

// Plot Buy and Sell signals
plotshape(series=buy_condition, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=sell_condition, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar)

// Optional: Add stop-loss levels
atr_length = input(14, title="ATR Length for Stop Loss")
atr_multiplier = input(1.5, title="ATR Multiplier for Stop Loss")

atr_value = ta.atr(atr_length)
stop_loss_level = strategy.position_size > 0 ? close - atr_multiplier * atr_value : close + atr_multiplier * atr_value
plot(stop_loss_level, color=color.gray, title="Stop Loss Level", linewidth=2)

// Strategy rules
if (buy_condition)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Exit Buy", from_entry="Buy", loss=stop_loss_level)

if (sell_condition)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Exit Sell", from_entry="Sell", loss=stop_loss_level)


もっと