四小时Stochastic EMA趋势策略


创建日期: 2023-09-26 20:57:59 最后修改: 2023-09-26 20:57:59
复制: 7 点击次数: 2458
avatar of ChaoZhang ChaoZhang
1
关注
1261
关注者

概述

四小时Stochastic EMA趋势策略主要依靠捕捉趋势来获得收益。该策略可以在1小时、4小时或者日线上使用,但是在4小时图表上表现最好。该策略由4个指标组成:

  1. 5周期指数移动平均线(收盘价)

  2. 15周期指数移动平均线(收盘价)

  3. 50周期指数移动平均线(收盘价)

  4. Stochastic指标:K=13,D=5,平滑度=5 (13,5,5) 80/20分界线

策略原理

当快速SMA线向上突破慢速SMA线时产生买入信号。具体来说,当5周期EMA向上突破50周期EMA,且15周期EMA也向上突破50周期EMA时买入。这表示短期趋势正在变强,中长期趋势也在转bullish,因此可以买入。

当快速SMA线向下突破慢速SMA线时产生卖出信号。具体来说,当5周期EMA向下突破50周期EMA,且15周期EMA也向下突破50周期EMA时卖出。这表示短期趋势正在转弱,中长期趋势也在变负,因此应该卖出锁定利润。

Stochastic指标用于确认趋势。当K线从下方突破D线时为买入信号,表示stochastic正在bullish,可以买入。当K线从上方突破D线时为卖出信号,表示stochastic正在bearish,应该考虑卖出。

综合使用EMA和Stochastic的趋势信号,可以更准确地捕捉趋势,在趋势开始阶段就进入,在趋势结束前及时退出。

优势分析

  • 使用双重EMA交叉进行趋势判断,可以有效过滤假突破,识别真正的趋势变化。

  • Stochastic指标可以验证EMA给出的交易信号,避免在没有真正趋势的情况下盲目交易。

  • 在4小时图表操作,可以识别出中长线明确的趋势,避免被短期市场噪音影响。

  • 采用EMA而不是SMA,可以更快地响应价格变动,及时进入趋势。

  • 策略参数可调整,可以适应不同市场环境。

风险分析

  • 大幅震荡行情中,EMA可能产生多次错误信号。此时应降低仓位,或考虑暂时不交易。

  • Stochastic在特定条件下也会失效,应防范仅凭Stochastic买卖。

  • 趋势反转时,存在亏损加剧的风险。可以设置止损来控制风险。

  • 需避免在重要新闻事件前使用该策略,重大事件会打乱原有趋势。

  • 参数设置不当也会影响策略表现,应适时优化参数。

优化方向

  • 可以测试不同周期的参数,寻找最优参数组合。

  • 可以加入其他指标,如RSI等,来验证交易信号。

  • 可以根据不同品种、市场条件调整参数设置。

  • 可以设置止损来控制风险。初始化止损幅度可大一些,之后可根据趋势调整。

  • 可考虑加入自动止损,如ATR止损等,让止损更具有动态调整性。

总结

四小时Stochastic EMA趋势策略综合利用EMA和Stochastic捕捉中长线趋势,在趋势开始阶段进入场内,在趋势结束前及时退出,避免被套。该策略较适用于趋势性行情,但需要防范震荡行情下的误导信号。通过优化参数设置、加入辅助指标、设置动态止损等手段,可以进一步提高策略效果。总体来说,该策略思路简单清晰,易于实盘操作,值得深入研究与应用。

策略源码
/*backtest
start: 2022-09-25 00:00:00
end: 2023-09-25 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © slymnturkoglu

//@version=4
strategy("HelloWord")
//study(title="Stochastic", shorttitle="Stoch", format=format.price, precision=2, resolution="")
period1 = 5
period2 = 15
period3 = 50

ma1 = ema(close, period1)
ma2 = ema(close, period2)
ma3 = ema(close, period3)

periodK=13
periodD=15
smoothK=5

k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)


buyCondition = crossover(k, d) and crossover(ma1, ma3) and crossover(ma2, ma3)
sellCondition = crossunder(k, d) and crossunder(ma1, ma3) and crossunder(ma2, ma3)

strategy.entry("long", strategy.long, alert_message="LongAlert", when=buyCondition)
strategy.close("long", alert_message="CloseAlert", when=sellCondition)
    




//study("Stochastic EMA Trend", overlay=false)
plot(close)
plot(ma1, color=color.blue, linewidth=3, title="EMA period 5")
plot(ma2, color=color.green,linewidth=3, title="EMA period 15")
plot(ma3, color=color.yellow,linewidth=3, title="EMA period 50")
plot(d, color=color.red,linewidth=3, title="d")
plot(k, color=color.blue,linewidth=3, title="k")