
Esta estratégia combina o indicador de tendências super e o indicador de canais de commodities (CCI) para realizar o rastreamento de tendências e a geração de sinais de negociação em um período de tempo múltiplo. A principal idéia da estratégia é usar o indicador de tendências CCI para determinar a direção de tendências de curto prazo, enquanto a combinação do indicador de tendências super para determinar a direção de tendências de médio e longo prazo.
O indicador CCI pode determinar o fenômeno de sobrevenda, quando o indicador CCI atravessa o eixo 0 de baixo para cima, é um sinal múltiplo, ao contrário, é um sinal em branco. Esta estratégia usa essa característica para determinar a direção da tendência de curto prazo.
cci_period = input(28, "CCI Period")
cci = cci(source, cci_period)
ML = input(0, "CCI Mid Line pivot")
O código acima define o período e a posição do eixo central do indicador CCI.
TrendUp := cci[1] > ML ? max(Up,TrendUp[1]) : Up
TrendDown := cci[1]< ML ? min(Dn,TrendDown[1]) : Dn
Esta parte do código determina se a curva cc atravessa o eixo 0, se sim, atualize o trajeto superior da tendência super, e o trajeto inferior atualize o trajeto inferior.
O indicador de super tendência combina o indicador ATR com o preço para determinar a direção da tendência de médio e longo prazo. Quando o preço quebra a super tendência, o sinal de ascensão é um sinal múltiplo e o sinal de descensão é um sinal sem cabeça.
A fórmula para o cálculo do indicador de super-tendência nesta estratégia é a seguinte:
Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
Factor e Pd são os parâmetros ajustáveis.
As variáveis de tendência determinam a direção atual da tendência:
Trend := cci > ML ? 1: cci < ML ? -1: nz(Trend[1],1)
Através da integração dos indicadores CCI e Supertrend, esta estratégia permite a determinação de tendências em múltiplos quadros temporais. O indicador CCI capta tendências de curto prazo, enquanto o indicador Supertrend determina tendências de médio e longo prazo.
Quando as duas direções coincidem, o sinal de negociação é mais confiável.
isLong = st_trend == 1
isShort = st_trend == -1
O tempo de entrada é convergente em curto e médio prazo, e o tempo de saída é invertido em curto e médio prazo.
A estratégia integra indicadores de avaliação de tendências de curto e médio prazos, tornando os sinais de negociação mais confiáveis.
Os parâmetros do factor no indicador de tendência super e o cic_period no indicador CCI podem ser ajustados de acordo com o mercado, permitindo maior flexibilidade na estratégia.
A estrutura da estratégia é simples e clara, fácil de entender e implementar, ideal para iniciantes em negociação quantitativa.
Pode ser aplicado em mercados como ações, divisas e criptomoedas, ou pode ser ajustado para diferentes variedades de acordo com os parâmetros.
Muitos sinais falsos aparecem quando os preços flutuam fortemente. O Factor de Supertrend pode ser amplificado de forma apropriada, reduzindo a frequência de negociação da estratégia.
A super tendência, por si só, não é suficiente para acompanhar a força, pode ser considerada em combinação com um indicador de dinâmica para acompanhar a tendência durante a fase de aceleração da tendência.
Esta estratégia não tem um stop loss, mas pode ser configurada com o tamanho do indicador ATR trails stop.
Adaptar os parâmetros de supertrends e CCIs de acordo com as características de diferentes mercados, aumentando a estabilidade da estratégia.
Em combinação com MACD, KDJ e outros indicadores de dinâmica, pode-se obter um maior rendimento seguindo a tendência durante a fase de aceleração da tendência.
Parâmetros de estratégia e regras de negociação são otimizados usando métodos de aprendizado de máquina e aprendizado integrado.
Esta estratégia combina com sucesso a super tendência e o indicador CCI, permitindo a determinação de tendências em múltiplos quadros temporais. A estratégia é simples e fácil de entender, os parâmetros são ajustáveis e o potencial de ganho é grande. Pode ser otimizada ainda mais por meio de modulação, stop loss e aprendizagem integrada, tornando-se uma estratégia de negociação confiável, estável e eficiente.
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//@author=Daveatt
StrategyName = "Best Supertrend CCI Strategy"
ShortStrategyName = "Best Supertrend CCI Strategy"
strategy(title=StrategyName, shorttitle=ShortStrategyName, overlay=true )
//////////////////////////
//* COLOR CONSTANTS *//
//////////////////////////
AQUA = #00FFFFFF
BLUE = #0000FFFF
RED = #FF0000FF
LIME = #00FF00FF
GRAY = #808080FF
DARKRED = #8B0000FF
DARKGREEN = #006400FF
GOLD = #FFD700
WHITE = color.white
// Plots
GREEN_LIGHT = color.new(color.green, 40)
RED_LIGHT = color.new(color.red, 40)
BLUE_LIGHT = color.new(color.aqua, 40)
PURPLE_LIGHT = color.new(color.purple, 40)
source = input(close)
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
/////////////////////////////////// CCI /////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
cci_period = input(28, "CCI Period")
cci = cci(source, cci_period)
//UL = input(80, "Upper level")
//LL = input(20, "Lower Level")
ML = input(0, "CCI Mid Line pivot")
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////// SUPERTREND /////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
Factor=input(3,title="[ST] Factor", minval=1,maxval = 100, type=input.float)
Pd=input(3, title="[ST] PD", minval=1,maxval = 100)
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
/////////////////////// SUPERTREND DETECTION //////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
f_supertrend(Factor, Pd) =>
Up=hl2-(Factor*atr(Pd))
Dn=hl2+(Factor*atr(Pd))
TrendUp = 0.0
TrendUp := cci[1] > ML ? max(Up,TrendUp[1]) : Up
TrendDown = 0.0
TrendDown := cci[1]< ML ? min(Dn,TrendDown[1]) : Dn
Trend = 0.0
Trend := cci > ML ? 1: cci < ML ? -1: nz(Trend[1],1)
Tsl = Trend==1? TrendUp: TrendDown
[Trend, Tsl]
[st_trend, st_tsl] = f_supertrend(Factor, Pd)
// Plot the ST
linecolor = close >= st_tsl ? color.green : color.red
plot(st_tsl, color = linecolor , linewidth = 3,title = "SuperTrend", transp=0)
isLong = st_trend == 1
isShort = st_trend == -1
longClose = isLong[1] and isShort
shortClose = isShort[1] and isLong
strategy.entry("Long", 1, when=isLong)
strategy.close("Long", when=longClose )
strategy.entry("Short", 0, when=isShort)
strategy.close("Short", when=shortClose )