- Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6.
- Ошибки, баги, вопросы
- Временной интервал торговли советника
Доброго времени суток!
Из справки mql4.
IsTradeAllowed
Возвращает информацию о возможности торговли при помощи экспертов.
bool IsTradeAllowed(); |
Вторая форма вызова возвращает информацию о возможности торговли для заданного символа в указанное время.
bool IsTradeAllowed( |
Параметры
symbol
[in] Символ.
tested_time
[in] Время.
Возвращаемое значение
Возвращает true, если эксперту разрешено торговать и поток для выполнения торговых операций свободен, иначе возвращает false.
Для mql5.
TerminalInfoInteger
Возвращает значение соответствующего свойства окружения mql5-программы.
int TerminalInfoInteger( |
Параметры
property_id
[in] Идентификатор свойства. Может быть одним из значений перечисленияENUM_TERMINAL_INFO_INTEGER.
Возвращаемое значение
Значение типа int.
Плюс ещё есть
Из справки mql4.
IsTradeAllowed
Возвращает информацию о возможности торговли при помощи экспертов.
bool IsTradeAllowed(); |
Вторая форма вызова возвращает информацию о возможности торговли для заданного символа в указанное время.
bool IsTradeAllowed( |
Параметры
symbol
[in] Символ.
tested_time
[in] Время.
Возвращаемое значение
Возвращает true, если эксперту разрешено торговать и поток для выполнения торговых операций свободен, иначе возвращает false.
Для mql5.
TerminalInfoInteger
Возвращает значение соответствующего свойства окружения mql5-программы.
int TerminalInfoInteger( |
Параметры
property_id
[in] Идентификатор свойства. Может быть одним из значений перечисленияENUM_TERMINAL_INFO_INTEGER.
Возвращаемое значение
Значение типа int.
Доброго времени суток!
То что Вы написали для mql5 - это не то что нужно. Для mql4 - все верно, но эксперт пишу для mql5.
Как это не то. Читайте справку по этой функции. TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)
TERMINAL_TRADE_ALLOWED | bool |
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Особенности языка mql5, тонкости и приёмы работы
fxsaber, 2017.02.25 16:39
{
MqlDateTime sTime = {0};
::TimeToStruct(time, sTime);
return((ENUM_DAY_OF_WEEK)sTime.day_of_week);
}
// true - находимся в торговой сессии
bool SessionTrade( const string Symb )
{
datetime TimeNow = ::TimeTradeServer();
const ENUM_DAY_OF_WEEK DayOfWeek = GetDayOfWeek(TimeNow);
TimeNow %= 24 * 60 * 60;
bool Res = false;
datetime From, To;
for (int i = 0; (!Res) && ::SymbolInfoSessionTrade(Symb, DayOfWeek, i, From, To); i++)
Res = ((From <= TimeNow) && (TimeNow < To));
return(Res);
}
// Возвращает true, если символ торгуемый. Иначе - false.
bool SymbolTrade( const string Symb )
{
MqlTick Tick;
return(::SymbolInfoTick(Symb, Tick) ? ((Tick.bid != 0) && (Tick.ask != 0) && SessionTrade(Symb) /* &&
((ENUM_SYMBOL_TRADE_MODE)::SymbolInfoInteger(Symb, SYMBOL_TRADE_MODE) == SYMBOL_TRADE_MODE_FULL) */) : false);
}
Применение
OrderSend(Request, Result);
К сожалению, бывают моменты, когда перечисленные методы не исключают появления сообщения в терминале "...[Market closed]....". Тема неоднократно обжёвывалась на форуме, что-то вроди бы предпринималось...
Однако до сих пор приходится пользоваться костылями.
P.S. Если я ошибаюсь, не отследил, как проблему разрулили, ткните плиз носом "что, где когда".
P.S. Если я ошибаюсь, не отследил, как проблему разрулили, ткните плиз носом "что, где когда".
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования