A estratégia usa dois conjuntos de indicadores aleatórios com diferentes configurações de parâmetros para determinar condições de espaço múltiplos, pertencendo ao típico sistema de cruzamento de equilíbrio. Usando indicadores rápidos para determinar tendências de curto prazo e tempo de entrada, indicadores lentos determinam a direção da tendência maior, ambos combinados para formar um sinal de negociação.
O indicador K de aceleração aleatória indica a direção da tendência de curto prazo, e a linha K cruzada com a sua média móvel SM1 constitui um sinal de entrada.
Os valores K do indicador de velocidade lenta aleatória refletem a situação da tendência geral. Quando o indicador de velocidade rápida mostra um sinal de inversão, verifique a racionalidade do indicador de velocidade lenta para determinar a direção geral.
K é considerado um sinal positivo quando atravessa o SM1 em velocidade rápida; quando a velocidade lenta K é maior que 50, indica uma grande tendência para cima, satisfazendo a condição de fazer mais.
Quando K desce rapidamente através do SM1, é considerado um sinal de baixa; quando K é menor que 50, indica uma grande tendência para baixo, satisfazendo a condição de curto prazo.
Configure um ponto de parada de parada em uma proporção fixa.
A dupla indicação aleatória de filtragem de ruído aumenta a taxa de sucesso. A combinação rápida e lenta reduz o risco de captura.
O SM1 é um parâmetro menor, com um indicador K sensível, adequado para capturar oportunidades de linha curta.
Os grandes ciclos julgam as grandes tendências, os pequenos ciclos capturam as reversões. A estratégia de pluralidade de espaços corresponde à maioria das situações do mercado.
Ponto de parada fixo, risco de ganho controlado, dificuldade de oscilações excessivas.
O desvio entre os indicadores pode causar perda de oportunidades de negociação ou gerar sinais errados.
O ponto de parada fixo não é flexível e não pode ser ajustado às mudanças do mercado.
Os parâmetros do indicador lbl precisam de testes de otimização repetidos, que podem falhar se não forem apropriados.
A transação de curto prazo requer uma maior frequência de transação, aumentando os custos de transação.
Adicionar outros indicadores ou condições de filtragem para garantir a qualidade do sinal indicador.
Teste diferentes combinações de parâmetros para encontrar a melhor configuração de parâmetros
Combinando os indicadores de volatilidade, etc., para que o stop loss seja ajustado dinamicamente.
Filtragem por períodos de tempo para evitar eventos críticos e controlar oscilações irracionais.
Optimizar a estratégia de gestão de fundos, aumentar ou reduzir as posições e melhorar a eficiência do uso de fundos.
A estratégia integra indicadores aleatórios rápidos e lentos para formar um sistema de negociação multi-espaço. No entanto, é necessário definir parâmetros de otimização adicionais, auxiliados por indicadores como tendência e volatilidade como condições de filtragem.
/*backtest
start: 2023-08-17 00:00:00
end: 2023-09-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Double Stochastic", overlay=true)
//-----------------------Stochastics------------------------//
c= security(syminfo.tickerid,timeframe.period , close)
h= security(syminfo.tickerid, timeframe.period, high)
l= security(syminfo.tickerid, timeframe.period, low)
c1= security(syminfo.tickerid, timeframe.period, close)
h2= security(syminfo.tickerid, timeframe.period, high)
l1= security(syminfo.tickerid, timeframe.period, low)
K1 = input(5, title="K", minval=1, title="Leading K")
SM1 = input(2, title="Smooth", minval=1, title="Leading Smooth ")
k = ema(stoch(c, h, l, K1), SM1)
K2 = input(97, title="K", minval=1, title="Lagging K")
D2 = input(3, title="D", minval=1, title="Lagging D")
SM2 = input(1, title="Smooth", minval=1, title="Lagging Smooth")
k1 = ema(stoch(c1, h2, l1, K2), SM2)
// buy ((k[2] < 40 and k > 40) and bars_up > 0 and k1 > 50)
// sell (k[2] > 60 and k < 60) and bars_down > 0 and k1 < 50
//-----------------------Mechanics------------------------//
buy = k1 > 50 and k < 30 and k > k[1] ? 1 : 0
sell = k1 < 50 and k > 70 and k < k[1] ? 1 : 0
buy_val = valuewhen(buy == 1, close, 1)
sell_val = valuewhen(sell == 1, close, 1)
buy_close = buy_val * input(1.20, minval=0.1)
sell_close = sell_val / input(1.20, minval=0.1)
//------------------------Buy/Sell-------------------------//
longCondition = buy == 1
if (longCondition)
strategy.entry("My Long Entry Id", strategy.long)
close_long = close >= buy_close
if (close_long)
strategy.close("My Long Entry Id")
sellCondition = sell == 1
if (sellCondition)
strategy.entry("My Short Entry Id", strategy.short)
close_short = close <= sell_close
if (close_short)
strategy.close("My Short Entry Id")