TEMA双均线交叉策略是一种基于两条不同周期的三重指数移动平均线(TEMA)交叉信号产生交易的量化交易策略。该策略通过比较两条TEMA线的相对位置,当短期TEMA线上穿长期TEMA线时开仓做多,当短期TEMA线下穿长期TEMA线时开仓做空,当出现相反的交叉信号时平仓。该策略适用于在震荡市场中捕捉短期趋势。
TEMA双均线交叉策略的核心是构建两条不同周期的TEMA线。TEMA是对EMA(指数移动平均线)的一种改进,通过对EMA的EMA再做一次EMA来计算,相比EMA和SMA(简单移动平均线)具有更少的滞后性,更加贴近价格走势,对短期趋势更加敏感。
策略通过比较短期TEMA线和长期TEMA线的位置关系来产生交易信号: 1. 当短期TEMA线上穿长期TEMA线,且短期TEMA线位于长期TEMA线上方时,开仓做多。 2. 当短期TEMA线下穿长期TEMA线,且短期TEMA线位于长期TEMA线下方时,开仓做空。 3. 当持有多单时,如果短期TEMA线下穿长期TEMA线则平多单;当持有空单时,如果短期TEMA线上穿长期TEMA线则平空单。
通过两条不同周期的TEMA线的交叉信号来开仓和平仓,可以在震荡市场中捕捉短期价格趋势。
TEMA双均线交叉策略是一个简单易用的量化交易策略,通过两条不同周期的TEMA指标交叉信号来捕捉短期价格趋势。该策略逻辑清晰,适合在震荡市场中使用。但是该策略也存在一些风险,如频繁交易、虚假信号和极端行情风险等。可以通过优化参数、增加过滤条件、设置止损和组合不同策略等方法来改进策略表现,提高策略的稳健性和实用性。
/*backtest start: 2023-05-28 00:00:00 end: 2024-06-02 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('2 TEMA Cross Strategy', shorttitle='2 TEMA Cross Strat', overlay=true, initial_capital=25000, currency=currency.USD) //My backtesting showed best results on a 5 min chart //Create 2 TEMA Input and pre-populate len1 = input.int(9, minval=1, title='Length 1') len2 = input.int(26, minval=2, title='Length 2') //Calculate Tema values for each Input //Tema 1 ema1 = ta.ema(close, len1) ema11 = ta.ema(ema1, len1) ema111 = ta.ema(ema11, len1) tema1 = 3 * (ema1 - ema11) + ema111 //Tema 2 ema2 = ta.ema(close, len2) ema22 = ta.ema(ema2, len2) ema222 = ta.ema(ema22, len2) tema2 = 3 * (ema2 - ema22) + ema222 //Plot the MAs plot(tema1, color=color.new(color.black, 20)) plot(tema2, color=color.new(color.maroon, 20)) // Define long/short conditions long = ta.crossover(tema1, tema2) and tema1 > tema2 short = ta.crossunder(tema1, tema2) and tema1 < tema2 exitLong = ta.crossunder(tema1, tema2) exitShort = ta.cross(tema1, tema2) // Buys when buy condition met strategy.entry('long', strategy.long, when=long) strategy.close('long', when=exitLong) // Closes position when sell condition met strategy.entry('short', strategy.short, when=short) strategy.close('short', when=exitShort)