
この戦略は,9日と15日の指数移動平均を計算し,EMA金叉と死叉の形成による買入と出出売り信号を識別し,日中のショートライン取引に使用する. 9EMA上で15EMAを穿いて,最近の一つのK線が陽線であるときに買入信号が生じる. 9EMAの下15EMAを穿いて,最近の一つのK線が陰線であるときに売出信号が生じる.
この戦略の利点は以下の通りです.
この戦略にはいくつかのリスクがあります.
対策として
この戦略は以下の点で最適化できます.
この戦略は,トレンド方向を判断する二重EMA指標とK線実体フィルター信号を統合し,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)