
Esta estratégia é chamada de estratégia de negociação quantitativa de entrada e saída de parada fixa. A principal idéia da estratégia é executar uma entrada de posição longa no período de negociação do primeiro dia da semana se o preço de liquidação estiver abaixo da média móvel de Hull de 115 ciclos.
A estratégia foi projetada com base nos sinais indicadores da média móvel de Hull e nas regras de negociação periódica.
Em primeiro lugar, no período de negociação de segunda-feira, para determinar se o preço de fechamento está abaixo da média móvel de Hull de 115 ciclos, se as condições estiverem preenchidas, a operação de entrada de posição longa. A média móvel de Hull, em comparação com a média móvel normal, pode responder mais rapidamente às mudanças de preço e é mais sensível à identificação de tendências, portanto, o sinal do indicador pode melhorar a precisão do tempo de entrada.
Em segundo lugar, é incondicionalmente executar a saída de posição no horário de negociação da quarta-feira. Com esta forma de operação periódica, pode evitar ser afetado por eventos inesperados e reduzir a probabilidade de retirada. Ao mesmo tempo, é configurado um ponto de parada e perda de proporção fixa para controlar o risco e o lucro de cada transação.
Finalmente, devido ao menor intervalo de tempo e maior frequência de negociação de cada transação, pode-se ajustar a posição até certo ponto, reduzindo o risco de uma única transação.
A estratégia tem as seguintes vantagens:
Usando a média móvel de Hull como um indicador de sinal de entrada, pode aumentar a precisão da escolha do momento de entrada, capturando oportunidades de tendência.
O uso de uma saída periódica pode evitar o risco de comportamento irracional e reduzir a probabilidade de retração.
A configuração de um ponto de parada e perda fixo permite um bom controle do risco-benefício de uma única transação.
A frequência de negociação é mais alta, o que ajuda a ajustar a posição e reduz o risco de negociações individuais.
As regras da estratégia são simples e claras, fáceis de entender e implementar, adequadas para a algoritmização de transações quantitativas.
A estratégia também apresenta alguns riscos, incluindo:
O mercado pode ter um longo período de liquidação, o que aumenta a probabilidade de ser preso após a entrada.
A configuração do ponto de parada fixo não é suficientemente flexível, podendo ocorrer parada prematura ou parada tardia.
Se ocorrerem eventos importantes e inesperados, o modo de partida periódico pode trazer grandes perdas.
A frequência de transações aumenta os custos de transação e os efeitos do slippage.
Configurações de parâmetros (como o comprimento do ciclo de cálculo, etc.) podem afetar o desempenho da estratégia.
Para reduzir os riscos acima mencionados, considerem-se as seguintes medidas de otimização:
Antes de entrar, julgue o padrão do mercado e evite entrar na liquidação.
Configure um stop loss de deslizamento dinâmico ou considere a predefinição de vários pontos de stop loss fixos.
Suspender a negociação antes e depois de eventos importantes, evitando momentos de forte volatilidade.
Reduzir adequadamente a frequência das transações, reduzindo os custos das transações e os efeitos dos pontos de deslizamento.
Optimizar a configuração dos parâmetros, realizar testes de estabilidade e tornar a estratégia mais estável.
A estratégia ainda tem espaço para ser melhorada, principalmente nos seguintes aspectos:
Otimizar dinamicamente os parâmetros das médias móveis usando métodos como o aprendizado de máquina para tornar o sinal do indicador mais preciso.
Tente combinar vários indicadores para criar regras de entrada e saída mais complexas.
O mecanismo de stop-loss é projetado para se adaptar a diferentes períodos de tempo e condições de mercado.
Integrar o modelo de gestão de risco para uma melhor gestão de fundos.
Projetar módulos de recuperação de pontos de interrupção para que a estratégia possa concluir com sucesso eventos importantes, como a demolição de ações.
Adicionar módulo de verificação de disco real para testar o desempenho da estratégia no disco real.
A integração e otimização de métodos como aprendizado de máquina, combinação de indicadores, stop-loss adaptativo e gerenciamento de riscos permitem uma maior estabilidade e lucratividade da estratégia. A inclusão de mecanismos de verificação em tempo real é um meio importante para aperfeiçoar ainda mais a estratégia. Estas são as principais direções para otimizar a estratégia no futuro.
A estratégia foi concebida com base na entrada de sinais de indicadores de média móvel do Hull e na saída de ciclos fixos, com vantagens como precisão de sinais de indicadores e baixa probabilidade de retração, além de controlar o stop loss de uma única transação. No entanto, a estratégia também tem problemas como o uso de paradas e configurações de stop loss irracionais.
/*backtest
start: 2024-01-18 00:00:00
end: 2024-02-17 00:00:00
period: 2h
basePeriod: 15m
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/
// © gnatskiller
//@version=5
strategy("Strategia HMA + LUN/MER", overlay=true)
// Inputs: stoploss %, takeProfit %
stopLossPercentage = input.float(defval=0.8, title='StopLoss %', minval=0.1, step=0.2) / 100
takeProfit = input.float(defval=1.5, title='Take Profit %', minval=0.3, step=0.2) / 100
// Calculate HMA 115
hma115 = ta.hma(close, 115)
// Exit and Entry Conditions - Check current day, session time, and price below HMA 115
isLong = dayofweek == dayofweek.monday and not na(time(timeframe.period, "1000-1101")) and close < hma115
isExit = dayofweek == dayofweek.wednesday and not na(time(timeframe.period, "1000-1101"))
// Calculate Stoploss and Take Profit values
SL = strategy.position_avg_price * (1 - stopLossPercentage)
TP = strategy.position_avg_price * (1 + takeProfit)
// Strategy Enter, and exit when conditions are met
if isLong
strategy.entry("Enter Long", strategy.long)
if strategy.position_size > 0
if isExit
strategy.close("Enter Long", comment="Exit")
strategy.exit("Exit", "Exit", stop=SL, limit=TP)
// Plot Stoploss and TakeProfit lines
plot(strategy.position_size > 0 ? SL : na, style=plot.style_linebr, color=color.red, linewidth=2, title="StopLoss")
plot(strategy.position_size > 0 ? TP : na, style=plot.style_linebr, color=color.green, linewidth=2, title="TakeProfit")
// Plot HMA 115
plot(hma115, color=color.blue, title="HMA 115")