Estratégia de Crossover de Oscilador Estocástico e Média Móvel Combinada com Filtro de Stop Loss e Oscilador Estocástico

MA SMA
Data de criação: 2024-04-26 16:10:11 última modificação: 2024-04-26 16:10:11
cópia: 0 Cliques: 847
1
focar em
1617
Seguidores

Estratégia de Crossover de Oscilador Estocástico e Média Móvel Combinada com Filtro de Stop Loss e Oscilador Estocástico

Visão geral

A estratégia combina o indicador de oscilação aleatório (Stochastic Oscillator) com a média móvel (Moving Average) para gerar um sinal de negociação observando a tendência de sobrevenda e sobrevenda do indicador aleatório e a tendência da média móvel. Quando o indicador aleatório produz um sinal de fechamento quando está na zona de sobrevenda e abaixo da linha de média móvel, e um sinal de fechamento quando está na zona de sobrevenda e acima da média móvel.

Princípio da estratégia

  1. Calcule o indicador de oscilação aleatória, obtendo uma linha K e uma linha D. Os parâmetros são ajustáveis, incluindo o ciclo do indicador aleatório, o alinhamento do valor de K, o alinhamento do valor de D, as áreas de supercompra e supervenda.

  2. Calcule a média móvel, usando o preço de fechamento por defeito, com um período ajustável.

  3. Calcule um filtro de indicador aleatório. Quando a linha K mantém uma certa linha K abaixo de 50, um sinal de filtragem é gerado. O ciclo é ajustável.

  4. Condições para gerar um sinal de múltiplas cabeças: um indicador aleatório cruzando para cima na zona de superalimento ou um indicador aleatório filtrando para cima na média móvel.

  5. Condições para gerar um sinal de cabeceira vazia: indicador aleatório na região de overbought cruzado para baixo ou indicador aleatório sinal de filtro e média móvel para baixo.

  6. Condição de posição de equilíbrio múltipla: atravessa a média móvel na linha K aleatória e a linha média gira para baixo.

  7. Condição de equilíbrio a céu aberto: a média móvel passa por baixo da linha K aleatória e a média gira para cima.

  8. A administração de posições usa a proporção de capital fixo, 10% por defeito. Ao mesmo tempo, o stop loss é definido, 2% por defeito.

Análise de vantagens

  1. A combinação das características de sobrecompra e sobrevenda com a de tendência permite que os investidores consigam capturar a queda da tendência.

  2. Os filtros de indicadores aleatórios evitam a negociação frequente em situações de turbulência.

  3. A configuração Stop Loss ajuda a controlar a retirada.

  4. A estrutura do código é clara, os parâmetros são ajustáveis, para uma melhor otimização.

Análise de Riscos

  1. Os indicadores aleatórios têm um certo atraso, podendo perder os melhores pontos de compra e venda.

  2. Na reviravolta da tendência, a precisão de rastreamento é fraca e a frequência de stop loss pode ser alta.

  3. A administração de fundos de proporção fixa é mais retratada em casos de perdas contínuas.

Direção de otimização

  1. A introdução de mais condições de filtragem, como o comportamento dos preços e outros indicadores auxiliares, aumentou a precisão do sinal.

  2. Dividir os sinais de força e fraqueza, aumentando a posição quando surge um sinal de força.

  3. Otimizar o julgamento dos pontos de inflexão da tendência, com o objetivo de capturar mais informações.

  4. Para otimizar o gerenciamento de posições, pode-se considerar o ajuste de posições de ganhos e perdas flutuantes.

  5. Experimente diferentes combinações de parâmetros para encontrar o melhor.

Resumir

A estratégia baseia-se em um indicador de oscilação aleatória para julgar a tendência em combinação com a média móvel, ao mesmo tempo em que utiliza a função de filtragem do próprio indicador aleatório para produzir um sinal de negociação relativamente confiável. A estratégia tem uma concepção geral clara e é adequada para uso em situações de tendência.

Código-fonte da estratégia
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"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/
// © Pablo_2uc

//@version=5
strategy("Estrategia Estocástico + MA con Stop Loss y Filtro Estocástico", overlay=true)

// Parámetros del Estocástico
length = input.int(14, title="Longitud Estocástico")
smoothK = input.int(3, title="Suavizado K")
smoothD = input.int(3, title="Suavizado D")
oversold = input.int(20, title="Sobreventa")
overbought = input.int(80, title="Sobrecompra")

// Parámetros de la Media Móvil
maLength = input.int(9, title="Longitud MA")
maSource = input(close, title="Fuente MA")

// Capital inicial
capital = 5000

// Tamaño de posición (10% del capital)
positionSize = capital * 0.10

// Stop Loss (2% del precio de entrada)
stopLossPercent = input.int(2, title="Stop Loss (%)") / 100

// Número de ruedas para el filtro estocástico
filterPeriods = input.int(12, title="Ruedas de Filtro Estocástico")

// Cálculo del Estocástico
k = ta.sma(ta.stoch(close, high, low, length), smoothK)
d = ta.sma(k, smoothD)

// Cálculo de la Media Móvil
ma = ta.sma(maSource, maLength)

// Filtro estocástico
stochasticFilter = ta.sma(k > 50 ? 1 : 0, filterPeriods)

// Condiciones de entrada en largo y corto
longCondition = (ta.crossunder(k, oversold) or ta.crossover(stochasticFilter, 1)) and ma > ma[1]
shortCondition = (ta.crossover(k, overbought) or ta.crossover(stochasticFilter, 1)) and ma < ma[1]

// Condiciones de salida
exitLongCondition = ta.crossover(k, ma) and ma < ma[1]
exitShortCondition = ta.crossunder(k, ma) and ma > ma[1]

// Estrategia
if (longCondition)
    strategy.entry("Long", strategy.long, qty=positionSize)
    strategy.exit("Exit Long", "Long", stop=close * (1 - stopLossPercent))
if (shortCondition)
    strategy.entry("Short", strategy.short, qty=positionSize)
    strategy.exit("Exit Short", "Short", stop=close * (1 + stopLossPercent))

// Cierre de posiciones
if (exitLongCondition)
    strategy.close("Long")
if (exitShortCondition)
    strategy.close("Short")