Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
Класс для задания и проверки времени торговли - библиотека для MetaTrader 5
- Просмотров:
- 2039
- Рейтинг:
- Опубликован:
- 2015.07.03 14:55
- Обновлен:
- 2016.11.22 07:33
- Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Класс CTimeControl предназначен для использования в советниках с целью удобного задания и проверки разрешенного времени торговли.
Пример использования:
Включение:
#include "TimeControl.mqh"
Конструктор по умолчанию:
CTimeControl timeControl;
Конструктор с заданием дней недели:
CTimeControl timeControl(false, true, true, false, false, false, false);
Конструктор, принимающий массив с днями недели и временем торговли для каждого дня:
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);
Для чтения/установки параметров каждого дня можно воспользоваться перечислением ENUM_DAY_OF_WEEK для указания дня недели:
bool bMonday = timeControl.GetDay(MONDAY);
timeControl.SetDay(MONDAY, true);// включить понедельник
timeControl.EnableDay(MONDAY); // включить понедельник
timeControl.DisableDay(MONDAY); // исключить понедельник
int iStartHour, iStopHour;
double dStartMinute, dStopMinute;
timeControl.GetTradingTime(MONDAY, iStartHour, dStartMinute, iStopHour, dStopMinute);
Можно также использовать отдельные функции для каждого дня недели:
bool bMonday = timeControl.GetMonday();
timeControl.SetMonday(true); //включить понедельник
timeControl.EnableMonday(); //включить понедельник
timeControl.DisableMonday(); //исключить понедельник
Основная функция проверки разрешения на торговлю (для текущего времени сервера)
if ( timeControl.IsTradingTime() == true )
{
//код
}
else
{
//код
}
Можно также передать переменную типа datetime:
datetime date = D'24.02.2015 12:30:27';
if ( timeControl.IsTradingTime(date) == true )
{
//код
}
else
{
//код
}
Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/12484
Индикатор строит буферные стрелки вверх/вниз в окне графика.
ColorLinearRegSlope_V2_HTFИндикатор ColorLinearRegSlope_V2 с возможностью изменения таймфрейма индикатора во входных параметрах.
Этот индикатор является версией FractalZigZagNoRepaint для MQL5, он отображает локальные максимумы и минимумы.
Smoothed_RSI и RSI_of_MAИндикаторы Smoothed RSI и RSI of Moving Average.