Mira cómo descargar robots gratis
¡Búscanos en Telegram!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Librerías

Clase para establecer y comprobar la duración del comercio - librería para MetaTrader 5

Visualizaciones:
779
Ranking:
(33)
Publicado:
2015.08.07 14:58
Actualizado:
2016.11.22 07:33
TimeControl.mqh (19.99 KB) ver
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

La clase CTimeControl ha sido diseñada para usarse en los asesores con objeto de establecer y comprobar la duración permitida del comercio.

Ejemplo de uso:

Activación:

#include "TimeControl.mqh"

Constructor por defecto:

CTimeControl   timeControl;

Constructor para establecer el día de la semana:

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

Constructor que aplica las matrices con los días de la semana y la hora de comercio para cada día:

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 leer/establecer los parámetros de cada día, es posible utilizar la enumeración ENUM_DAY_OF_WEEK para indicar el día de la semana:

bool bMonday = timeControl.GetDay(MONDAY);

timeControl.SetDay(MONDAY, true);// establecer el lunes
timeControl.EnableDay(MONDAY);   // activar el lunes
timeControl.DisableDay(MONDAY);  // desactivar el lunes

int iStartHour, iStopHour;
double
dStartMinute, dStopMinute;

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

Además, es posible usar funciones específicas para cada día de la semana:

bool bMonday = timeControl.GetMonday();

timeControl.SetMonday(true); //establecer el lunes
timeControl.EnableMonday();  //activar el lunes
timeControl.DisableMonday(); //desactivar el lunes

 Función principal de comprobación del permiso de comercio (para la hora actual del servidor)

if ( timeControl.IsTradingTime() == true )

{
   //código
}

else

{
   //código
}

Asimismo, se puede transmitir la variable del tipo datetime:

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

if ( timeControl.IsTradingTime(date) == true )
{
   //código
}
else
{
   //código
}

Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/code/12484

Indicator Arrows II Indicator Arrows II

El indicador construye flechas de búffer hacia arriba/abajo en la ventana del gráfico.

BinaryWaveSign BinaryWaveSign

Indicador de señal de semáforo que forma señales al cambiar la dirección del movimiento del indicador BinaryWave.

Fractal ZigZag Fractal ZigZag

Este indicador es una versión de FractalZigZagNoRepaint para MQL5, que muestra los máximos y mínimos locales.

Smoothed_RSI и RSI_of_MA Smoothed_RSI и RSI_of_MA

Indicadores Smoothed RSI y RSI of Moving Average.