O objetivo desta estratégia é prever o preço de fechamento do próximo candelabro de 15 minutos, analisando os preços de abertura e fechamento dos dois últimos candelabros de 30 minutos.
A lógica central desta estratégia reside na função predictNextCandleClose. Esta função leva os preços de abertura e fechamento dos dois velas de 30 minutos anteriores como parâmetros de entrada.
Se o preço de fechamento do último candelabro de 30 minutos for maior que o preço de abertura, ele é julgado como uma tendência de alta. Se o preço de fechamento for menor que o preço de abertura, ele é julgado como uma tendência de baixa. Se o segundo candelabro de 30 minutos também mostrar a mesma tendência de alta ou baixa, considera-se que a tendência é mais forte e o próximo candelabro de 15 minutos provavelmente continuará a tendência.
Especificamente, se os dois mais recentes velas de 30 minutos forem otimistas (preço de fechamento superior ao preço de abertura), o preço de fechamento previsto do próximo velas de 15 minutos será maior do que o preço de fechamento do velas atual pela diferença entre o preço de fechamento e o preço de abertura do último velas de 30 minutos.
Se ambos os dois mais recentes velas de 30 minutos forem de baixa (preço de fechamento inferior ao preço de abertura), o preço de fechamento previsto do próximo velas de 15 minutos será inferior ao preço de fechamento do velas atual pela diferença entre o preço de abertura e o preço de fechamento do último velas de 30 minutos.
Se um dos dois mais recentes candelabros de 30 minutos for otimista e o outro é de baixa, isso indica que não há uma tendência clara, e neste caso o preço de fechamento previsto do próximo candelabro de 15 minutos será o mesmo que o preço de fechamento do último candelabro de 30 minutos.
Desta forma, prevê o movimento de preços a curto prazo no futuro com base em informações de velas passadas, servindo como referência para decisões comerciais.
Esta estratégia de previsão de candelabro duplo tem as seguintes vantagens:
É simples, intuitivo e fácil de entender e implementar, adequado para iniciantes em negociação de quantidades.
Ao julgar a tendência usando dois candelabros, ele pode filtrar algum ruído e melhorar a precisão.
A previsão do nível de 15 minutos tem um curto intervalo de tempo, o que ajuda a ajustar as posições em tempo hábil.
Combinado com o preço atual e o preço previsto para determinar os sinais de negociação, pode responder rapidamente a eventos inesperados.
Requer menos dados históricos, reduzindo as necessidades de dados e tornando-o adequado para dados incompletos ou cenários de negociação em tempo real.
Contudo, esta estratégia apresenta também alguns riscos:
Ele considera apenas os preços de abertura e fechamento, não tendo mais detalhes de candelabro como julgamento auxiliar, podendo, assim, perder sinais importantes.
O intervalo entre os dois candelabros é longo, incapaz de responder atempadamente às flutuações de preços a curto prazo, o que representa riscos de atraso no tempo.
A previsão baseia-se unicamente em dados históricos, incapazes de julgar o impacto de eventos significativos e inesperados, com riscos mais elevados.
As regras de alta/baixa são bastante simples, propensas a gerar sinais falsos e a qualidade do sinal precisa de melhoria.
Os dados reais de negociação apresentam frequentemente lacunas, o que também pode interferir na precisão da lógica de julgamento.
À luz dos riscos acima referidos, a estratégia pode ser otimizada a partir dos seguintes aspectos:
Adicionar mais indicadores auxiliares como MACD, KD etc para melhorar a precisão da previsão.
Combine mais detalhes de velas como sombras, corpo real, etc. para determinar níveis críticos de preços e refinar as regras de alta / baixa.
Aumentar o tamanho da amostra, expandir o intervalo de tempo dos candelabros de julgamento para evitar interferências de ruídos de curto prazo.
Adicione mecanismos de stop loss como stop loss móvel, stop loss cronometrado, etc. para controlar a perda de uma única negociação.
Otimizar as regras de entrada para abrir apenas posições quando a tendência for clara, evitando flutuações incertas do mercado.
Backtest com dados reais de negociação, modificar a lógica que não corresponde movimentos reais de preços para fazer os parâmetros da estratégia mais perto do mercado real.
Esta estratégia prevê tendências de curto prazo, analisando os preços de abertura e fechamento de candelabros duplos, e gera sinais de negociação com base nisso. Ela pertence a estratégias preditivas baseadas em dados históricos. A estratégia é simples e fácil de usar, adequada para iniciantes em negociação de quantidade, mas também tem riscos como regras de julgamento relativamente simples e qualidade de sinal limitada. Podemos otimizá-la em aspectos como indicadores auxiliares, detalhes de candelabro, mecanismos de stop loss, etc. para melhorar o desempenho prático.
/*backtest start: 2023-01-19 00:00:00 end: 2024-01-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_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/ // © Sosawolf //@version=5 strategy("Predict Next Candle Close Strategy", overlay=true) // Function to predict next candle close based on previous two candles predictNextCandleClose(open1, close1, open2, close2) => if close1 > open1 and close2 > open2 // Bullish trend, predict next candle close to be bullish close1 + (close1 - open1) else if close1 < open1 and close2 < open2 // Bearish trend, predict next candle close to be bearish close1 - (open1 - close1) else // Indecisive or ranging market, predict next candle close to be neutral close1 // Get previous two 30-minute candles' open and close prices open1 = request.security(syminfo.tickerid, "30", open[1]) close1 = request.security(syminfo.tickerid, "30", close[1]) open2 = request.security(syminfo.tickerid, "30", open[2]) close2 = request.security(syminfo.tickerid, "30", close[2]) // Predict next 15-minute candle close predictedClose = predictNextCandleClose(open1, close1, open2, close2) // Plot the predicted close as a line plot(predictedClose, color=color.blue, linewidth=2, title="Predicted Close") // Buy condition: Predicted close is higher than the current close buyCondition = predictedClose > close strategy.entry("Buy", strategy.long, when=buyCondition) // Sell condition: Predicted close is lower than the current close sellCondition = predictedClose < close strategy.entry("Sell", strategy.short, when=sellCondition)