O computador está a tentar obter o double_smoothed_abs_pc
Comparando o valor da ETI com a sua linha de sinal tsi_signal, podemos determinar zonas de sobrecompra ou sobrevenda, decidindo assim os pontos de compra e venda.
sinal de compra: TSI cruza seu sinal para cima, indicando a reversão do preço da ação, marcando o início da zona de sobrecompra onde devemos longo.
sinal de venda: TSI cruza abaixo de seu sinal para baixo, indicando a reversão do preço da ação, marcando o fim da zona de sobrecompra onde devemos vender.
A maior vantagem desta estratégia reside no uso do indicador de média móvel dupla para identificar características cíclicas nos preços das ações. Ao empregar simultaneamente períodos longos e curtos na média móvel dupla, ele pode capturar tendências de mudança de preços de forma mais sensível e precisa do que uma única média móvel, e é mais eficaz na determinação de sinais de negociação.
Além disso, esta estratégia escolhe o índice da ETI em vez de outros indicadores técnicos comuns, porque a ETI presta mais atenção ao cálculo da dinâmica da variação de preços, o que permite avaliar com mais precisão as condições de sobrecompra/supervenda, resultando em melhores pontos de negociação.
O maior risco desta estratégia é que a própria média móvel dupla é bastante sensível às mudanças de preços. Em caso de flutuação de preços, ela pode facilmente gerar sinais falsos. Além disso, os critérios da TSI para julgar zonas de sobrecompra/supervenda ainda são subjetivos e configurações de parâmetros inadequadas também afetam a precisão.
Para controlar esses riscos, é aconselhável otimizar adequadamente os parâmetros ajustando os comprimentos das médias móveis duplas. A combinação de outros indicadores para verificar os sinais também é necessária para evitar a abertura de posições em meio à volatilidade. Além disso, a otimização de estratégias de stop-loss e o estabelecimento de medidas de controle de risco contra emergências são bastante essenciais.
As direcções de otimização desta estratégia concentram-se principalmente em dois aspectos:
A combinação ideal de parâmetros como comprimentos de média móvel longa e curta e linha de sinal pode ser testada para melhorar a sensibilidade.
Configure indicadores de filtragem, como a combinação de bandas de Bollinger, KDJ e assim por diante, para verificar os sinais de compra/venda e evitar a abertura errada de posições.
Adicione uma estratégia de stop-loss, configure um stop loss em movimento, uma saída cronometrada para limitar a perda de uma única posição, também podemos suspender temporariamente a negociação com base nas condições do mercado para controlar o risco sistemático.
Otimizar o dimensionamento das posições. Configurar o tamanho dinâmico e a proporção das posições com base nas condições do mercado para gerir a exposição ao risco de cada negociação.
Esta estratégia utiliza o método de cálculo do índice de oscilador de média móvel dupla, integrando a análise de longo e curto prazo das mudanças do ímpeto de preços, determinando assim as zonas de sobrecompra e sobrevenda para decidir entradas e saídas. Em comparação com uma média móvel única, tem a vantagem de um julgamento mais preciso e sensível. É claro, a otimização adequada dos parâmetros ainda é necessária, juntamente com outros indicadores para filtragem de sinal, a fim de melhorar a estabilidade e rentabilidade.
/*backtest start: 2023-01-29 00:00:00 end: 2024-02-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © shankardey7310 //@version=5 strategy("TSI STOCKS", shorttitle="TSI", overlay=true) initialCapital = input(10000, title="Initial Capital") riskPercent = input(1, title="Risk Percentage") / 100 longLength = input(12, title="Long Length") shortLength = input(9, title="Short Length") signalLength = input(12, title="Signal Length") price = close pc = ta.change(price) double_smooth(src, long, short) => first_smooth = ta.ema(src, long) ta.ema(first_smooth, short) double_smoothed_pc = double_smooth(pc, longLength, shortLength) double_smoothed_abs_pc = double_smooth(math.abs(pc), longLength, shortLength) tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc) tsi_signal = ta.ema(tsi_value, signalLength) riskAmount = (initialCapital * riskPercent) / close if (tsi_value > tsi_signal and tsi_value[1] <= tsi_signal[1]) strategy.entry("Long", strategy.long) if (tsi_value < tsi_signal and tsi_value[1] >= tsi_signal[1]) strategy.close("Long") plot(tsi_value, title="True Strength Index", color=#2962FF) plot(tsi_signal, title="Signal", color=#E91E63) hline(0, title="Zero", color=#787B86)