
Esta estratégia é uma estratégia de negociação de linha curta que usa a linha de dupla média para determinar a reversão do mercado. Ela determina a relação de fechamento das três primeiras linhas K para determinar se está em uma tendência ascendente ou descendente.
Esta estratégia julga principalmente o indicador como a relação de preço de fechamento das três primeiras linhas K. Se as três primeiras linhas K forem negativas, julgue que está em uma tendência descendente; Se as três primeiras linhas K forem positivas, julgue que está em uma tendência ascendente. Quando a tendência descendente é seguida por uma grande linha de sol, faça mais; Quando a tendência ascendente é seguida por uma grande linha de sol, faça vazio.
A lógica de julgamento específico para fazer mais é: se as três primeiras linhas de K são negativas e a última linha de K é uma grande linha negativa, faça mais. A lógica de julgamento de equilíbrio é quando o preço quebra o ponto mais alto da linha de K anterior.
A lógica de julgamento específico para fazer um vazio é: se os três primeiros K-linhas são linhas de sol, e o último K-linha é a grande linha de sol, e o preço está abaixo da média móvel simples. A lógica de julgamento de equilíbrio é quando o preço cai no ponto mais baixo da linha de K anterior.
O comprimento da média móvel e o tamanho da amplitude de um eixo do sol e do sol são configurados pelo usuário.
A linha K é usada para determinar o ponto de reversão do mercado, evitando que as tendências se choquem e reduzindo os prejuízos.
Combinado com um filtro de média móvel, evita a vaga prematura na linha de meta.
A lógica da estratégia é simples e clara, fácil de entender e modificar.
Parâmetros personalizáveis para diferentes variedades e períodos de tempo.
Em determinadas condições, é favorável a captação oportuna de oportunidades de ajuste de curto prazo.
O mercado pode apresentar uma falsa reversão de três grandes sinais de queda ou de queda consecutivos, quando a entrada é fechada. Condições de reversão mais rigorosas podem ser definidas para reduzir esse risco.
É fácil ser perseguido após a reversão. Pode-se definir um ponto de parada para controlar o risco.
A configuração inadequada dos parâmetros pode levar a entradas muito frequentes ou a oportunidades perdidas. Os parâmetros de otimização devem ser testados repetidamente.
Quando o disco está em movimento, é fácil de ser enganado. Pode aumentar os critérios de julgamento para evitar erros de julgamento.
O uso de indicadores mais complexos combinados com a inversão de julgamento de forma K-linear, como BOLL, MACD, etc., pode melhorar a precisão do julgamento.
Aumentar o volume de negociação ou oscilação de indicadores com a combinação de K-linha de forma a evitar o volume em branco.
Aumentar a lógica de stop loss. Configurar um stop loss de ponto fixo ou um stop loss de rastreamento.
Otimizar os parâmetros para encontrar a melhor combinação.
Testar dados de mais variedades e ciclos para encontrar o melhor ambiente.
Esta estratégia é, em geral, uma estratégia de linha curta mais geral para capturar a reversão de curto prazo do mercado usando indicadores simples. Sua vantagem é a facilidade de compreensão, a clareza da lógica e o bom desempenho com uma certa otimização. Mas também há alguns riscos típicos da estratégia de reversão, que precisam ser controlados por meio de stop loss, rigorosas condições de reversão.
/*backtest
start: 2023-12-07 00:00:00
end: 2023-12-14 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © stormis
// Based on strategy by hackertrader (original idea by QuantpT)
//@version=5
strategy(title="Mean reversion", shorttitle="MeanRev", precision=16 , overlay=true)
moveLimit = input(70)
maLength = input(200)
ma = ta.sma(close, maLength)
downBar = open > close
isThreeDown = downBar and downBar[1] and downBar[2]
isThreeUp = not downBar and not downBar[1] and not downBar[2]
isBigMoveDown = ((open - close) / (0.001 + high - low)) > moveLimit / 100.0
isBigMoveUp = ((close - open) / (0.001 + high - low)) > moveLimit / 100.0
isLongBuy = isThreeDown and isBigMoveDown
isLongExit = close > high[1]
isShortBuy = isThreeUp and isBigMoveUp
isShortExit = close < low[1]
strategy.entry("Entry Long", strategy.long, when=isLongBuy)
strategy.close("Entry Long", when=isLongExit)
strategy.entry("Entry Short", strategy.short, when=close < ma and isShortBuy)
strategy.close("Entry Short", when=isShortExit)
plot(ma, color=color.gray)