双EMA跨度交易策略是一种trend following策略,它通过计算两个不同期限的EMA的跨度比例,来判断行情趋势并进行交易。该策略较简单直接,能够有效跟踪中长线趋势,非常适合中长线趋势交易者使用。
该策略主要基于两个EMA的数值大小和它们之间的跨度来确定趋势方向。策略首先计算一个短期EMA和一个长期EMA,典型的配置是13周期和26周期的EMA。然后计算两条EMA之间的跨度百分比,如果短期EMA高于长期EMA,并且跨度大于设定阈值(如5%),则判断为趋势向上,进行做多交易;如果短期EMA低于长期EMA,并且跨度大于设定阈值,则判断为趋势向下,进行做空交易。当价格重新跌破或突破短期EMA时,进行平仓。
该策略的核心逻辑是:
通过这样的设计,可以有效跟踪中长期趋势,并在趋势变化时及时切换方向。同时,跨度阈值的设定也可避免非关键时期的调整导致不必要的交易。
可通过以下方法降低风险:
该策略可从以下方面进行优化:
参数优化:通过回测优化EMA周期参数及跨度阈值,寻找最佳参数组合
趋势过滤:添加其他判别趋势的指标,如MACD、布林带等,避免震荡行情的套牢
止损策略:设立移动止损或时间止损,以控制单笔亏损
获利回吐:设置部分获利后移动止盈点,锁定部分利润
量化优化:采用机器学习等方法自动优化参数及过滤条件,实现策略的定量优化
组合优化:将该策略与其他非相关策略进行组合,以降低回撤和提高稳定性
通过参数、过滤条件、止损、获利回吐等多方面的优化,可以使该策略更稳定、适应更多市场情况,更科学、有效。量化和组合优化还可以大幅提升策略的效果。
双EMA跨度策略是一个简单直接、适合趋势跟踪的策略。它仅需两个EMA即可判断趋势方向,非常适合中长线持仓。同时,可通过参数优化、趋势过滤、止损策略等多种方式进行改进,使策略更稳定可靠。该策略易于实施,也容易进行定量优化,是一种值得推荐的趋势跟踪策略。
/*backtest
start: 2023-08-19 00:00:00
end: 2023-08-23 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)