Estratégia de negociação da Golden Hour


Data de criação: 2023-09-19 16:03:52 última modificação: 2023-09-19 16:03:52
cópia: 0 Cliques: 742
1
focar em
1617
Seguidores

Visão geral

A estratégia de negociação de horário de ouro, através da retrospecção de dados históricos, determina automaticamente a melhor hora do dia para comprar e vender e emite um sinal de negociação no horário correspondente. A estratégia usa o indicador ROC para calcular o aumento e a queda da linha K em diferentes períodos de tempo e, em seguida, avalia a eficácia das negociações em diferentes períodos de tempo para encontrar os melhores momentos de compra e venda.

Princípio da estratégia

  1. Agora_horas ≠ hora atual.

  2. O indicador de redução da linha K é calculado por hora usando o indicador ROC.

  3. Calcule indicator com o acumulado de multiplicação de now_hour.

  4. Calcule o acúmulo de indicadores e buy_indicator_cum。

  5. Melhor horário de compra buy_hour = buy_hourXindicator_cum / buy_indicator_cum。

  6. O mesmo vale para o cálculo da hora de venda ideal: sell_hour。

  7. Compare agora_hora com buy_hour e sell_hour para determinar se o momento atual é o melhor para comprar ou vender.

  8. Os melhores momentos para comprar e vender são os sinais correspondentes.

  9. A melhor hora de compra e venda em tempo real com diferentes cores de fundo.

Análise de vantagens

A maior vantagem da estratégia é a capacidade de determinar automaticamente o momento mais adequado para a negociação diária. Não é necessário observar manualmente os dados históricos para determinar o melhor momento de negociação, economizando muito tempo e energia.

Além disso, a estratégia utiliza o indicador de ROC. O indicador de ROC é mais sensível à oscilação dos outros e pode refletir as mudanças no mercado.

Análise de Riscos

O maior risco desta estratégia reside na limitação do próprio indicador de ROC. O ROC considera apenas a taxa de variação de preços e não é sensível às mudanças de volume de transação.

Além disso, as estratégias são usadas para rastrear os melhores momentos de negociação de dados históricos. No entanto, as leis históricas não se aplicam necessariamente ao mercado atual. O mercado pode sofrer mudanças estruturais e as regras de negociação originais não se aplicam mais. Isso requer ajustes de parâmetros para a atual situação do mercado, e não pode depender exclusivamente dos resultados da retrospectiva.

Para isso, pode-se considerar o cálculo de composição em combinação com outros indicadores, como volume de transação, para obter um julgamento mais abrangente do estado do mercado. Ao mesmo tempo, é necessário realizar testes de ajuste de parâmetros para a situação atual do mercado, para garantir que os sinais de negociação correspondam ao novo estado do mercado.

Direção de otimização

A estratégia pode ser melhorada em vários aspectos:

  1. Tente substituir o ROC por outros indicadores, como volume de negócios, procurando um indicador mais adequado para o cálculo do tempo de força.

  2. Adicionar outras condições de filtragem, usar a linha média, os indicadores de oscilação e outros para julgar tendências locais, evitando negociações irracionais.

  3. Otimizar os parâmetros do ciclo de tempo para testar a influência de diferentes parâmetros do ciclo de tempo nos resultados.

  4. Aumentar os mecanismos de suspensão de perdas, estabelecer pontos de suspensão razoáveis e controlar o risco de transação.

  5. Combinação de métodos de aprendizagem de máquina para o uso de maiores volumes de dados para encontrar o melhor momento de negociação.

Resumir

A estratégia de horário de ouro de negociação é, em geral, uma maneira viável e eficaz. Ela usa o indicador de ROC para determinar automaticamente o melhor momento de compra e venda de cada dia, economizando muito tempo e esforço. Mas também devemos ter em conta as limitações do indicador de ROC e do histórico de retrospectiva, ajustando os parâmetros para a atual situação do mercado. Além disso, a estratégia tem muito espaço para melhorias em vários aspectos, tornando o sinal mais preciso e confiável.

Código-fonte da estratégia
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mablue (Masoud Azizi)

//@version=5
strategy("Trade Hour V3",overlay=false)
timezone = input.string("Europe/London",options=["America/New_York","America/Los_Angeles","America/Chicago","America/Phoenix","America/Toronto","America/Vancouver","America/Argentina" ,"America/El_Salvador","America/Sao_Paulo","America/Bogota","Europe/Moscow","Europe/Athens","Europe/Berlin","Europe/London","Europe/Madrid","Europe/Paris","Europe/Warsaw","Australia/Sydney","Australia/Brisbane","Australia/Adelaide","Australia/ACT","Asia/Almaty","Asia/Ashkhabad","Asia/Tokyo","Asia/Taipei","Asia/Singapore","Asia/Shanghai","Asia/Seoul","Asia/Tehran","Asia/Dubai","Asia/Kolkata","Asia/Hong_Kong","Asia/Bangkok","Pacific/Auckland","Pacific/Chatham","Pacific/Fakaofo","Pacific/Honolulu"]	)
source = input.source(close)
tp = input.int(1,"ROC Timeperiod")

now_hour = hour(time,timezone)

indicator = ta.roc(source,tp)

buy_hourXindicator_cum = ta.cum(indicator* now_hour)
buy_indicator_cum = ta.cum(indicator)
buy_hour = buy_hourXindicator_cum/buy_indicator_cum

sell_hourXindicator_cum = ta.cum( (1/indicator ) * now_hour)
sell_indicator_cum = ta.cum(1/indicator)
sell_hour = sell_hourXindicator_cum/sell_indicator_cum

plot(buy_hour,color=color.green)
plot(sell_hour,color=color.red)
plot(now_hour,color=color.gray,display=display.none)


bool isLongBestHour = now_hour==math.round(buy_hour)
bool isShortBestHour = now_hour==math.round(sell_hour)

bgcolor(isLongBestHour ? color.new(color.green,80) : na)
bgcolor(isShortBestHour ? color.new(color.red,80) : na)
strategy.order("buy", strategy.long, when =isLongBestHour)
strategy.order("sell", strategy.short, when = isShortBestHour)