Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Telegram!
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

Classe para definir e verificar o seu tempo de negociação - biblioteca para MetaTrader 5

Visualizações:
1062
Avaliação:
(33)
Publicado:
2015.07.08 13:12
Atualizado:
2016.11.22 07:33
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Classe CTimeControl para incluir em seu EA para uma fácil configuração e verificação de seu próprio tempo de negociação.

Um exemplo de uso:

Include:

#include "TimeControl.mqh"

Construtor padrão:

CTimeControl   timeControl;

Ou construtor com dias:

CTimeControl timeControl(false, true, true, false, false, false, false);

Ou construtor com um array de configurações do dia e arrays para os tempos de negociação de todos os dias:

bool     arrDaysSetting[7] = { false, true, true, false, false, false, false};
int      
arrStartHours[7] = { 0, 15, 14, 0, 0, 0, 0};
double  
arrStartMinutes[7] = { 0, 15, 14, 0, 0, 0, 0};
int      
arrStopHours[7] = { 23, 13, 21, 23, 23, 23, 23};
double  
arrStopMinutes[7] = { 0, 15, 14, 0, 0, 0, 0};

CTimeControl timeControl2( arrDaysSetting, arrStartHours, arrStartMinutes, arrStopHours, arrStopMinutes);

Para os parâmetros get/set de cada dia você pode usar as funções com o índice ENUM_DAY_OF_WEEK para o dia que vc quiser definir/obter:

bool bMonday = timeControl.GetDay(MONDAY);

timeControl.SetDay(MONDAY, true);// Permitir segunda-feira
timeControl.EnableDay(MONDAY);   // Permitir segunda-feira
timeControl.DisableDay(MONDAY);  // Desativar segunda-feira

int iStartHour, iStopHour;
double
dStartMinute, dStopMinute;

timeControl.GetTradingTime(MONDAY, iStartHour, dStartMinute, iStopHour, dStopMinute);

ou você pode verificar todos os dias com as funções definidas:

bool bMonday = timeControl.GetMonday();

timeControl.SetMonday(true); //Permitir segunda-feira
timeControl.EnableMonday();  //Desabilitar segunda-feira
timeControl.DisableMonday(); //Desabilitar segunda-feira

 Função principal de verificação se o tempo de negociação está habilitado (usa a hora atual do servidor)

if ( timeControl.IsTradingTime() == true )

{
   //Faça alguma coisa
}

else

{
   //Faça alguma coisa
}

ou você pode verificar seu próprio datetime:

datetime date = D'24.02.2015 12:30:27'

if ( timeControl.IsTradingTime(date) == true )
{
   //Faça alguma coisa
}
else
{
   //Faça alguma coisa
}

Traduzido do inglês pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/en/code/12484

Indicator Arrows II Indicator Arrows II

Plota setas do buffer para cima/baixo na janela de gráfico.

BinaryWaveSign BinaryWaveSign

Indicador de sinal tipo Semáforo que é ativado quando a média BinaryWave muda de direção.

Fractal ZigZag Fractal ZigZag

Este indicador é a versão do FractalZigZagNoRepaint em MQL5, ele apresenta os swings das máximas e mínimas.

Smoothed_RSI e RSI_of_MA Smoothed_RSI e RSI_of_MA

O indicador RSI suavizado e o RSI da Média Móvel.