该策略利用EMA和MA均线的交叉来判断趋势反转,属于典型的趋势跟踪策略。
分别计算指定周期的EMA指数均线和MA简单移动均线。
当EMA从下方上穿MA时,产生买入信号。
当EMA从上方下穿MA时,产生卖出信号。
可以设置仅在特定月份的特定日期段交易。
每次仅持有单向仓位,不做反向开仓。
规则简单清晰,易于实施。
EMA和MA交叉易于捕捉趋势反转机会。
设置日期过滤,可以避开重大事件造成的失误交易。
仅做单向仓位,可以减少无谓的反向开平仓。
资金利用效率较高。
适合短线趋势交易。
均线交叉可能出现假信号,导致不必要的亏损。
无法有效控制单笔亏损的大小。
无止损策略,存在更大的资金亏损风险。
日期设置过于死板,可能错失交易机会。
参数设置不当也会影响策略表现。
测试不同均线周期,寻找最优参数。
评估交叉时需增加其他过滤条件。
建立止损机制,控制单笔损失。
优化日期过滤规则,保持一定灵活性。
研究如何设置合理的止盈位置。
考虑采用动态仓位管理策略。
该策略基于EMA和MA均线交叉进行趋势反转交易,简单高效,但存在一些改进空间。通过参数优化、风险控制等手段进一步完善,可以将其打造成一个稳定的短线交易系统。
//@version=2
strategy(title = "MA + EMA Crossover Strategy ",shorttitle="eMA", overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100,commission_type=strategy.commission.percent,commission_value=0.1,initial_capital=100000)
emaLength =input(34)
maLength = input(89)
ema=ema(close,emaLength)
ma=sma(close,maLength)
plot(ema,linewidth=3,color=green)
plot(ma,linewidth=3,color=red)
longCond= crossover(ema,ma)
shortCond=crossover(ma,ema)
monthfrom =input(8)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)
if ( longCond and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil)
strategy.entry("LONG", strategy.long, stop=close, oca_name="TREND", comment="LONG")
else
strategy.cancel(id="LONG")
if ( shortCond and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil )
strategy.entry("SHORT", strategy.short,stop=close, oca_name="TREND", comment="SHORT")
else
strategy.cancel(id="SHORT")