Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Twitter!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Bibliotecas

CIsSession - classe para definir os intervalos de tempo (sessões) - biblioteca para MetaTrader 5

Visualizações:
1313
Avaliação:
(34)
Publicado:
2016.02.05 11:00
Atualizado:
2016.11.22 07:33
\MQL5\Include\ \MQL5\Experts\
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Eu decidi publicar esta classe após ler esta publicação. Este tópico parece interessante. Minha abordagem não resolve todo problema também. Entretanto, eu sugiro o que pode ser melhorado.

O exemplo de uso desta classe foi feito semelhante a esta variante. Dessa maneira fica claro de visualizar suas vantagens e desvantagens.

As vantagens:

  1. Possibilidade do parâmetro de entrada de data e hora ser padrão. Veja a imagem. Uma forma de cometer menos erros.
  2. A possibilidade de otimizar intervalos de tempo no testador de estratégia foi preservada.
  3. Todas as configurações podem ser alteradas rapidamente em todo o programa.
  4. Mais opções de uso. Detalhes após a imagem.
  5. Mais fácil de usar no código. Pelo menos para mim.

Opções de definir o tempo

1. Sessão diária. Por exemplo, é permitido a negociação todos os dias em um intervalo específico de tempo. Condições:

  • A data da sessão de início e encerramento é igual a 1970.01.01.
  • O horário da sessão de início deve ser menor que o horário da sessão de encerramento.

2. Sessão noturna. Por exemplo, a negociação durante a noite é permitida: inicia hoje, termina amanha. E continua assim todos os dias. Condições:

  • A data da sessão de início e encerramento é igual a 1970.01.01.
  • O horário da sessão de início é maior que o horário da sessão de encerramento.

3. Com o intervalo das datas. Por exemplo, a negociação é permitida a partir da data da sessão de início até a data da sessão de encerramento. Condições:

  • A data da sessão de início é menor que a data da sessão de encerramento.
  • Para qualquer horário, mas isso também foi levado em conta.

4. Datas fora do intervalo. A data da sessão de início é maior que a data da sessão de encerramento. Assim, a negociação é permitida até a data da sessão de encerramento e após a nova data da sessão de início. Condições:

  • A data da sessão de início é maior que a data da sessão de encerramento.
  • Para qualquer horário, mas isso também foi levado em conta.

5. Habilitar/desabilitar a negociação no dia da semana. É suficiente definir como "true" nos parâmetros para cada dia da semana que você deseja negociar. Ou "false" para desabilitar a negociação.

6. Toda configuração pode ser alterada em qualquer lugar do programa utilizando os métodos Init().


Obs. A classe foi criada para o MetaTrader 5, mas ela também funciona para o MetaTrader 4. A única diferença é que o Testador de Estratégia do MetaTrader4 não suporta a otimização dos intervalos de tempo no formato datetime. Mas isso é solucionado substituindo o formato datetime por long nos parâmetros de entrada do EA.

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/14305

PA_Oscillator PA_Oscillator

Um oscilador simples que mostra a velocidade da mudança do indicador MACD implementado como um histograma de duas cores.

fractal_dimension_HTF fractal_dimension_HTF

O indicador fractal_dimension com a opção de seleção do tempo gráfico nos parâmetros de entrada.

Sentimento Sentimento

Robô que negocia o sentimento de abertura do mercado.

TradeState - o modo de negociação do EA se altera dependendo do tempo TradeState - o modo de negociação do EA se altera dependendo do tempo

A classe restringe a negociação do EA pelo tempo. Ele possui opções de configuração flexíveis, o que permite definir um número personalizado de fusos horários, e permite também negociar somente em dias específicos da semana.