
这是一个利用T3平滑移动平均线和CCI指标实现趋势追踪的量化策略。该策略通过计算T3-CCI指标来识别趋势,并在获得双重确认信号时入市,以追踪趋势。
该策略首先计算出T3平滑移动平均线和CCI指标。然后将CCI指标通过一系列滤波计算成T3-CCI指标。当T3-CCI指标上穿0轴线时产生买入信号,下穿0轴线时产生卖出信号。为了过滤假信号,该策略要求T3-CCI指标连续两个周期保持同一信号才会下单。
具体来说,该策略采用以下步骤:
该策略具有以下优势:
该策略也存在一定的风险:
对策:
该策略可以从以下几个方向进行优化:
该策略整体来说是一个可靠的中长线趋势追踪策略。它利用双重确认和趋势跟踪特点控制了风险,可以作为趋势交易的基础策略。通过参数和规则优化,可以进一步提高策略表现。
/*backtest
start: 2023-11-16 00:00:00
end: 2023-11-23 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version = 2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 19/12/2016
// This simple indicator gives you a lot of useful information - when to enter, when to exit
// and how to reduce risks by entering a trade on a double confirmed signal.
//
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="FX Sniper: T3-CCI Strategy", shorttitle="T3-CCI")
CCI_Period = input(14, minval=1)
T3_Period = input(5, minval=1)
b = input(0.618)
reverse = input(false, title="Trade reverse")
hline(0, color=purple, linestyle=line)
xPrice = close
b2 = b*b
b3 = b2*b
c1 = -b3
c2 = (3*(b2 + b3))
c3 = -3*(2*b2 + b + b3)
c4 = (1 + 3*b + b3 + 3*b2)
nn = iff(T3_Period < 1, 1, T3_Period)
nr = 1 + 0.5*(nn - 1)
w1 = 2 / (nr + 1)
w2 = 1 - w1
xcci = cci(xPrice, CCI_Period)
e1 = w1*xcci + w2*nz(e1[1])
e2 = w1*e1 + w2*nz(e2[1])
e3 = w1*e2 + w2*nz(e3[1])
e4 = w1*e3 + w2*nz(e4[1])
e5 = w1*e4 + w2*nz(e5[1])
e6 = w1*e5 + w2*nz(e6[1])
xccir = c1*e6 + c2*e5 + c3*e4 + c4*e3
cciHcolor = iff(xccir >= 0 , green,
iff(xccir < 0, red, black))
pos = iff(xccir > 0, 1,
iff(xccir < 0, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xccir, color=blue, title="T3-CCI")
plot(xccir, color=cciHcolor, title="CCIH", style = histogram)