if(!IsTesting()) { string CurrentSymbol=Symbol(); bool IsMarketOpen=MarketInfo(CurrentSymbol,MODE_TRADEALLOWED); if (IsMarketOpen==false) { MessageBox ("Торговля по инструменту "+CurrentSymbol+" Запрещена"+"(Торговля невозможна)\n"+ "Торги временно закрыты или сегодня выходной - повторите попытку позднее.",CurrentSymbol+" ОШИБКА!"); return; } }мож так!?
https://www.mql5.com/ru/articles/1512
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Доброго времени суток!
Есть эксперт в котором проводится предварительная проверка содержащая такой код
string CurrentSymbol=Symbol();
bool IsMarketOpen=MarketInfo(CurrentSymbol,MODE_TRADEALLOWED);
if (IsMarketOpen==false)
{
MessageBox ("Торговля по инструменту "+CurrentSymbol+" Запрещена"+"(Торговля невозможна)\n"+
"Торги временно закрыты или сегодня выходной - повторите попытку позднее.",CurrentSymbol+" ОШИБКА!");
return;
}
На DEMO эта инструкция работает как часы и выстреливает ошибкой очень редко. Но на тестере стратегий не дает программе открывать позиции вовсе.
Значение всегда возвращается= 0. Независимо от типа записи т.е.
bool IsMarketOpen=MarketInfo(CurrentSymbol,MODE_TRADEALLOWED);
или
int IsMarketOpen=MarketInfo(CurrentSymbol,MODE_TRADEALLOWED);
или
double IsMarketOpen=MarketInfo(CurrentSymbol,MODE_TRADEALLOWED);
Все одинаково равно 0 и программа прокручивается минуя дальнейшие блоки (открытия\закрытия).
Если кто в курсе как это лечится - напишите плиз. (Повторюсь это проявляется на Тестере)
P.S. Чтоб у Вас Все было и Вам за это Ничего не было.