Esta estratégia julga a direção futura dos preços, calculando a relação entre os preços de abertura e fechamento.
O indicador principal é o rácio de preços de abertura/fechamento:
x = open / close
Relação abaixo de 1 significa sinal fechado > aberto, longo. Relação acima de 1 significa sinal aberto > fechado, curto.
Para suavizar os sinais, tome a média das N barras passadas.
Usa apenas dois preços básicos, muito simples.
Sem indicadores complexos, poucas necessidades de computação.
Concentra-se apenas nos preços de abertura/fechamento, filtrando o ruído.
Bom para scalping curto com entrada/saída rápida.
Eficiência de capital elevada para posições de maior dimensão.
Propenso a sinais falsos, baseia-se exclusivamente nos preços de abertura/fechamento.
Sem direcção de tendência, há riscos de inversões.
As transacções de curto prazo de alta frequência aumentam as taxas.
Grandes posições podem levar a grandes perdas e drawdowns.
Melhorias:
Adicione filtros como volume para validar sinais.
Incorporar indicadores de tendência para direção.
Implementar stop loss/profit taking para limitar as perdas por transação.
Otimizar o dimensionamento da posição com base no desempenho anterior.
Maneiras de otimizar a estratégia:
Adicione mais filtros ou condições aos sinais da tela.
Combinar com indicadores de tendência para a direção geral.
Otimizar os parâmetros para uma melhor frequência de negociação.
Adicione stop loss e take profit para controlar o risco.
Incorporar dimensionamento de posição baseado no desempenho.
A lógica é simples, mas tem riscos de negociação cego.
/*backtest start: 2023-09-14 00:00:00 end: 2023-09-21 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("PerfectStrategy", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 10) x = ((open[1])/(close[1])) x1 = ((open[2])/(close[2])) x2= ((open[3])/(close[3])) x3 = ((open[4])/(close[4])) x4 = ((open[5])/(close[5])) x5 = ((open[6])/(close[6])) x6 = ((open[7])/(close[7])) x7 = ((open[8])/(close[8])) x8 = ((open[9])/(close[9])) y = (x+x1+x2+x3+x4+x5+x6+x7+x8)/9 if (y < 1 ) strategy.entry("Up", strategy.long) if (y > 1) strategy.entry("Down", strategy.short) //plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)