Esta estratégia determina a direção futura da vela analisando o preço de fechamento em relação ao preço de abertura de N velas passadas.
A lógica central desta estratégia é a seguinte:
Definir o parâmetro NUM_CANDLES para determinar o número de velas a analisar.
Defina a função candle_dir para determinar a direção de uma única vela. close>open é alta, close
Defina a função count_candles para contar o número de velas com certa direção nas velas NUM_CANDLES anteriores.
Contar o número de velas de alta, baixa e neutra nas velas NUM_CANDLES passadas, armazenar em ups, dns, neu.
Definir indicador, o seu valor é igual a ups-dns mais/menos neu.
Determinar a entrada longa/curta com base no indicador indicativo.
Ao analisar a direção da vela de um certo número de velas, esta estratégia estima a probabilidade da direção da vela futura para decisões de negociação.
A lógica estratégica é clara e fácil de entender, interpretar e verificar.
São necessários apenas dados de velas, reduzindo o custo de computação.
Fácil de ajustar a sensibilidade ajustando o parâmetro NUM_CANDLES.
Aplicável a todos os produtos e prazos, elevada adaptabilidade.
Fácil de otimizar os parâmetros para encontrar a melhor combinação.
Incapaz de lidar com o mercado de gama limitada, pode causar excesso de negociação.
Período de amostragem inadequado pode causar atraso no sinal, NUM_CANDLES precisa de ajuste cuidadoso.
Incapacidade de se adaptar à inversão da tendência, risco de perda na inversão da tendência.
O impacto sobre os custos de negociação deve ser considerado para evitar a troca excessiva.
Cuidado com a sobreajuste na otimização de parâmetros, exigir verificação de vários mercados.
Considerar adicionar stop loss para perder limite.
Combinar com o indicador de tendência para evitar negociações contra-tendência.
Aumentar o tamanho da amostra ou utilizar um prazo menor para melhorar a estabilidade.
Considere a composição de múltiplos mercados para melhorar a taxa de vitória.
Utilize o aprendizado de máquina para otimização automática de parâmetros.
Esta estratégia determina a direção do comércio, analisando a direção da vela, com lógica clara e simples. A sensibilidade é controlável através do ajuste de parâmetros. Os prós são simplicidade, baixa exigência e ampla adaptabilidade, mas existem alguns riscos e é necessária uma otimização adicional para melhorar a estabilidade.
/*backtest start: 2023-09-24 00:00:00 end: 2023-10-24 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Refined CandleCounter Strategy by origo", overlay=true) // how many candles to count NUM_CANDLES = 7 // determine candle direction candle_dir = close > open ? 1 : (round(close-open) == 0 ? 0 : -1) // return # of candles with a given direction count_candles(dir, max) => count = 0 for i = 0 to max if candle_dir[i] == dir count := count + 1 count ups = count_candles(1, NUM_CANDLES) dns = count_candles(-1, NUM_CANDLES) neu = count_candles(0, NUM_CANDLES) indic = ups-dns if indic > 0 indic := indic+neu else indic := indic-neu plotarrow(neu, title="UP vs DN") longCondition = (indic) > 0 shortCondition = (indic) <= 0 strategy.entry("buy", strategy.long, 1, when = longCondition and not shortCondition) strategy.entry("sell", strategy.short, 1, when = shortCondition and not longCondition)