
该策略是一个利用AO震荡指标以及EMA移动平均线的交叉进行日内交易的策略。其主要思想是在AO指标交叉零轴的同时,快速EMA线穿过中期EMA线来产生交易信号。
该策略主要利用两个指标进行入场和出场:
AO震荡指标:该指标是5日高低价平均线和34日高低价平均线的差值,用于判断目前的市场趋势。当AO为正时代表着目前处于上涨趋势,当为负时代表着目前处于下跌趋势。
EMA移动平均线:策略中使用3日和20日两个EMA进行计算,3日EMA代表短期趋势,20日EMA代表中期趋势。当短期EMA从下方突破中期EMA时产生买入信号,相反从上方下破时产生卖出信号。
该策略的入场条件是,AO指标交叉零轴时,同时EMA出现金叉或死叉时才会产生交易信号。这样可以避免AO指标震荡时产生错误信号。而出场条件则是伦敦交易时间结束后全部平仓。
该策略主要有以下几点优势:
该策略也存在一些风险:
为了规避这些风险,我们可以设置止损机制,或者根据不同周期调整参数,使策略更具弹性。
对于该策略,主要的优化方向在于参数的调整:
EMA周期的调整。可以测试更短周期的EMA组合,或者加入更多EMA来构建交易信号;
AO参数的调整。测试不同长短周期参数对AO指标造成的影响;
添加其他辅助指标。比如加入RSIbord指标来避免超买超卖的风险;
交易时间的调整。测试不同地区或者更长交易时间的效果。
通过参数调整和加入新的指标,该策略可以变得更加稳健和高效。
总的来说,该交易策略结合趋势判断指标AO和短中期EMA交叉,构建了一个简单实用的日内交易策略。它有着策略信号清晰,容易实现等优点。同时也存在一些参数固定的缺陷。通过不断测试和优化,该策略可以进一步改进,变得更加稳定和适应市场的需要。它为日内交易者提供了一个非常好的选择。
/*backtest
start: 2022-12-18 00:00:00
end: 2023-12-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//@author SoftKill21
strategy(title="MA cross + AO", shorttitle="MA_AO")
ao = sma(hl2,5) - sma(hl2,34)
len = input(3, minval=1, title="Length")
src = input(close, title="Source")
out = ema(src, len)
len1 = input(20, minval=1, title="Length")
src1 = input(close, title="Source")
out1 = sma(src1, len1)
timeinrange(res, sess) => time(res, sess) != 0
londopen = timeinrange(timeframe.period, "0300-1100")
nyopen = timeinrange(timeframe.period, "0800-1600")
longC = crossover(out,out1) and ao>0 and londopen
shortC = crossunder(out,out1) and ao<0 and londopen
invert = input(title="Reverse position ?", type=input.bool, defval=false)
if(invert==false)
strategy.entry("LONG",1,when=longC)
strategy.entry("SHORT",0,when=shortC)
if(invert==true)
strategy.entry("short",0,when=longC)
strategy.entry("long",1,when=shortC)
strategy.close_all(when= not (londopen))