双EMA跨度突破策略是一种趋势跟踪策略。它使用不同周期的两个EMA均线,并在两条EMA线间形成足够大的跨度时进行交易,以捕捉趋势的方向。这种策略适用于趋势性比较强的市场。
该策略使用快速EMA线(小周期EMA线)和慢速EMA线(大周期EMA线)进行交易信号判断。具体逻辑是:
计算快速EMA和慢速EMA。
当快速EMA上穿慢速EMA,并且两条EMA线之间的跨度超过设置阈值时,做多。
当快速EMA下穿慢速EMA,并且两条EMA线之间的跨度超过设置阈值时,做空。
当价格重新跌破快速EMA时,平仓做多头部位。
当价格重新涨破快速EMA时,平仓做空头部位。
这样,它利用EMA的平滑性来识别趋势方向,再结合EMA间距离的突破来确定具体的入场时机。离得越远说明趋势越强,做单的机会越大。
可以通过调整EMA参数组合、调整跨度阈值以及止损位置来减少风险。
双EMA跨度突破策略整体来说是一个较为简单实用的趋势跟踪策略。它能够有效地在趋势行情中获利,但需要合理的参数设定。通过参数优化和风险管理,可以充分发挥该策略的优势。这是一个值得深入研究和应用的趋势策略。
/*backtest start: 2023-09-24 00:00:00 end: 2023-10-24 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("2-EMA Strategy", overlay=true, initial_capital=100, currency="USD", default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075) diffMinimum = input(0.95, step=0.01) small_ema = input(13, title="Small EMA") long_ema = input(26, title="Long EMA") ema1 = ema(close, small_ema) ema2 = ema(close, long_ema) orderCondition = ema1 > ema2?((ema1/ema2)*100)-100 > diffMinimum:((ema2/ema1)*100)-100 > diffMinimum longCondition = close > ema1 and ema1 > ema2 if (longCondition and orderCondition) strategy.entry("Long", strategy.long) shortCondition = close < ema1 and ema1 < ema2 if (shortCondition and orderCondition) strategy.entry("Short", strategy.short) strategy.close("Short", when=close > ema1) strategy.close("Long", when=close < ema1) plot(ema(close, small_ema), title="EMA 1", color=green, transp=0, linewidth=2) plot(ema(close, long_ema), title="EMA 2", color=orange, transp=0, linewidth=2)