Tendência de seguir a estratégia utilizando o indicador KST
Este artigo explica detalhadamente uma tendência quantitativa após a estratégia usando o indicador KST. Ele gera sinais de negociação calculadamente o cruzamento entre a linha KST e a linha de sinal.
I. Lógica da estratégia
Os principais passos para a geração de sinal são:
Calcular os valores de múltiplos indicadores ROC com períodos diferentes.
Aplicar as médias móveis aos valores ROC separadamente e tirar a soma para derivar a linha KST.
Suavizar ainda mais a linha KST usando a média móvel para obter a linha de sinal.
Um sinal de compra é gerado quando a linha KST cruza acima da linha de sinal, e vice-versa para os sinais de venda.
Pode ser selecionada uma dimensão de posição adequada.
Ao tomar a soma de múltiplos valores ROC, a linha KST reflete as tendências de preços de curto e longo prazo.
II. Vantagens da Estratégia
A maior vantagem é o cálculo abrangente dos indicadores, que incorpora informações sobre tendências em todos os prazos.
Outra vantagem é a utilização simples e intuitiva do indicador com uma linha de sinal clara.
Por último, o dimensionamento ajustável das posições ajuda a controlar a exposição geral ao risco.
III. Deficiências potenciais
No entanto, existem algumas questões:
Em primeiro lugar, o próprio indicador tem um certo atraso na reacção às variações de preços.
Em segundo lugar, a dependência apenas do KST torna-o suscetível a reversões.
Além disso, é necessária uma otimização extensiva para evitar o sobreajuste.
IV. Resumo
Em resumo, este artigo explicou uma tendência quantitativa após a estratégia usando sinais de cruzamento KST. Ele reflete as tendências de preço através do indicador para sinais de comércio, mas requer gerenciamento de atraso do indicador e ajuste adequado dos parâmetros.
/*backtest start: 2023-08-15 00:00:00 end: 2023-09-14 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // strategy(title="KST Alert", shorttitle="KST Alert", format=format.price, precision=4) roclen1 = input.int(10, minval=1, title = "ROC Length #1") roclen2 = input.int(15, minval=1, title = "ROC Length #2") roclen3 = input.int(20, minval=1, title = "ROC Length #3") roclen4 = input.int(30, minval=1, title = "ROC Length #4") smalen1 = input.int(10, minval=1, title = "SMA Length #1") smalen2 = input.int(10, minval=1, title = "SMA Length #2") smalen3 = input.int(10, minval=1, title = "SMA Length #3") smalen4 = input.int(15, minval=1, title = "SMA Length #4") siglen = input.int(9, minval=1, title = "Signal Line Length") smaroc(roclen, smalen) => ta.sma(ta.roc(close, roclen), smalen) kst = smaroc(roclen1, smalen1) + 2 * smaroc(roclen2, smalen2) + 3 * smaroc(roclen3, smalen3) + 4 * smaroc(roclen4, smalen4) sig = ta.sma(kst, siglen) plot(kst, color=#009688, title="KST") plot(sig, color=#F44336, title="Signal") hline(0, title="Zero", color = #787B86) eL1=ta.crossover(kst,sig) eS1=ta.crossunder(kst,sig) ch = 0 t = year(time('D')) ch := ta.change(t) != 0 ? 1 : 0 T1 = time(timeframe.period, "0915-1520") session_open = na(t) ? false : true newDay = ta.change(time("15m")) != 0 strategy.entry("Long1", strategy.long, when = eL1) strategy.entry("Short1", strategy.short, when = eS1)