
Visão geral
Área de ação do CDC[A estratégia TS é uma estratégia de negociação quantitativa baseada na adaptação do CDC Moving Average Zone Indicator. A estratégia usa o cruzamento de uma média móvel rápida e uma média móvel lenta como um sinal de compra e venda.
Princípio da estratégia
Os indicadores centrais da estratégia são as médias móveis rápidas e médias móveis lentas. A estratégia primeiro calcula a média aritmética dos preços e, em seguida, calcula as médias móveis rápidas e médias móveis lentas de acordo com o comprimento do período definido pelo usuário. Quando a média móvel rápida é atravessada pela média móvel lenta, é considerada um sinal de mercado búlgar; Quando a média móvel rápida é atravessada pela média móvel lenta, é considerada um sinal de mercado de baixa.
Depois de determinar a tendência do mercado, a estratégia julga ainda mais a relação entre o preço de fechamento atual e a média móvel. Se for um mercado de touros e o preço de fechamento estiver acima da média móvel rápida, um sinal de compra forte; Se for um mercado de ursos e o preço de fechamento estiver abaixo da média móvel rápida, um sinal de venda forte.
De acordo com esses sinais de compra e venda, a estratégia pode realizar uma negociação automática. Quando o sinal de compra é acionado, a posição longa é aberta; Quando o sinal de venda é acionado, a posição baixa é aberta ou a posição é fechada.
Análise de vantagens
A estratégia tem as seguintes vantagens:
Análise de Riscos
A estratégia também apresenta alguns riscos:
Para esses riscos, pode-se otimizar métodos como a determinação do tempo de entrada em combinação com outros indicadores ou a redução apropriada do ciclo da média móvel para reduzir o atraso.
Direção de otimização
A estratégia pode ser melhorada em vários aspectos:
Resumir
Em geral, as áreas de ação do CDC[A estratégia utiliza o cruzamento de duas médias móveis para realizar uma estratégia de negociação quantitativa mais simples e prática. A estratégia tem a vantagem de ser fácil de entender e implementar, mas também há espaço para otimização.
/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("CDC Action Zone [TS Trader]", overlay=true)
// CDC ActionZone V2 29 Sep 2016
// CDC ActionZone is based on a simple 2MA and is most suitable for use with medium volatility market
// 11 Nov 2016 : Ported to Trading View with minor UI enhancement
src = input(title="Data Array", type=input.source, defval=ohlc4)
prd1 = input(title="Short MA period", type=input.integer, defval=12)
prd2 = input(title="Long MA period", type=input.integer, defval=26)
AP = ema(src, 2)
Fast = ema(AP, prd1)
Slow = ema(AP, prd2)
// === INPUT BACKTEST RANGE ===
FromYear = input(defval = 2019, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
// === FUNCTION EXAMPLE ===
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true
Bullish = Fast > Slow
Bearish = Fast < Slow
Green = Bullish and AP > Fast
Red = Bearish and AP < Fast
Yellow = Bullish and AP < Fast
Blue = Bearish and AP > Fast
//Long Signal
Buy = Green and Green[1] == 0
Sell = Red and Red[1] == 0
//Short Signal
Short = Red and Red[1] == 0
Cover = Red[1] and Red == 0
//Plot
l1 = plot(Fast, "Fast", linewidth=1, color=color.red)
l2 = plot(Slow, "Slow", linewidth=2, color=color.blue)
bcolor = Green ? color.lime : Red ? color.red : Yellow ? color.yellow : Blue ? color.blue : color.white
barcolor(color=bcolor)
fill(l1, l2, bcolor)
strategy.entry("Buy", strategy.long, when=window() and Buy)
strategy.entry("Sell", strategy.short, when=window() and Sell)
strategy.close("Buy", when=window() and Sell)
strategy.close("Sell", when=window() and Buy)