Esta estratégia julga o movimento futuro dos preços analisando a diferença entre os preços de fechamento de dois dias consecutivos, com o objetivo de implementar negociações de curto prazo.
A lógica central desta estratégia consiste em comparar o preço de encerramento de hoje com o preço de encerramento de ontem.
A chave aqui é definir um limiar razoável. Se o limiar for muito grande, ele perderá flutuações de preços menores. Se o limiar for muito pequeno, ele desencadeará negociações irracionais excessivas devido a flutuações normais. A estratégia adota um design de limiar ajustável com um valor padrão de 0,004 e um passo de 0,001. Os limiares apropriados podem ser selecionados por meio de backtesting com base em dados históricos.
Em resumo, esta estratégia captura mudanças de preço entre dois dias de negociação consecutivos, julga possíveis tendências de preços futuras filtrando flutuações normais através de limiares e, assim, realiza negociações de curto prazo.
Para combater estes riscos, considere:
A estratégia pode ser otimizada nos seguintes aspectos:
Backtesting de vários prazos- Utilize diferentes prazos (diários, de 4 horas, de 1 hora, etc.) para testar os parâmetros e selecionar o prazo e os parâmetros ideais.
Indicadores de volatilidade combinados- Adicionar indicadores que tenham em conta a volatilidade dos preços, como o ATR, para melhor estabelecer limiares dinâmicos.
Adicionar lógica de stop loss- Definir pontos razoáveis de stop loss para controlar perdas individuais.
Otimizar a gestão de posições- Otimizar o tamanho das posições iniciais e regras adicionais para aumentar a rentabilidade, garantindo simultaneamente o stop loss.
Considere os custos de negociação- Adicionar custos de negociação como comissões e deslizamento no backtesting para estar mais perto de negociação ao vivo.
Introduzir o aprendizado de máquina- Aplicar algoritmos de aprendizagem de máquina para extrair mais recursos e construir sinais de negociação mais fortes.
Esta estratégia julga as tendências de preços futuras com base nas diferenças de preço de fechamento, usando uma abordagem simples e intuitiva para projetar estratégias de negociação de curto prazo. A estratégia é fácil de implementar e adequada para operações de curto prazo, mas pode ter alguns riscos de perda. Vários métodos de otimização podem melhorar a estabilidade e lucratividade da estratégia.
/*backtest start: 2023-08-28 00:00:00 end: 2023-09-27 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Daily Close Comparison Strategy (by ChartArt) repainting results", shorttitle="CA_-_Daily_Close_Strat", overlay=false) // ChartArt's Daily Close Comparison Strategy // // Version 1.0 // Idea by ChartArt on February 28, 2016. // // This strategy is equal to the very // popular "ANN Strategy" coded by sirolf2009, // but without the Artificial Neural Network (ANN). // // Main difference besides stripping out the ANN // is that I use close prices instead of OHLC4 prices. // And the default threshold is set to 0 instead of 0.0014 // with a step of 0.001 instead of 0.0001. // // This strategy goes long if the close of the current day // is larger than the close price of the last day. // If the inverse logic is true, the strategy // goes short (last close larger current close). // // This simple strategy does not have any // stop loss or take profit money management logic. // // List of my work: // https://www.tradingview.com/u/ChartArt/ // // __ __ ___ __ ___ // / ` |__| /\ |__) | /\ |__) | // \__, | | /~~\ | \ | /~~\ | \ | // // threshold = input(title="Price Difference Threshold repainting results", type=float, defval=0.004, step=0.001) getDiff() => yesterday=security(syminfo.tickerid, 'D', close[1]) today=security(syminfo.tickerid, 'D', close) delta=today-yesterday percentage=delta/yesterday closeDiff = getDiff() buying = closeDiff > threshold ? true : closeDiff < -threshold ? false : buying[1] hline(0, title="zero line") bgcolor(buying ? green : red, transp=25) plot(closeDiff, color=silver, style=area, transp=75) plot(closeDiff, color=aqua, title="prediction") longCondition = buying if (longCondition) strategy.entry("Long", strategy.long) shortCondition = buying != true if (shortCondition) strategy.entry("Short", strategy.short)