Обновление платформы MetaTrader 4 билд 625: Журналы в MetaTrader Market и новый MetaViewer - страница 26
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
кнопка "AutoTrading" вообще ни на что не влият. OrderSend отправляет в любом случае.
подскажите если мы структуру обьявим за пределами ОнТик
Она будет иметь статические данные ?
И если мы объявим структуру внутри ОнТик, что будет происходить с данными и самое главное как будет потребляться ресурсы ???
Какой из вариантов наиболее правильный ?
или
или
Куда отправляет?
если отжать кнопку, то журнал забит ошибкой 4109.
как сделать, чтобы советник не пытался исполнить ordersend при отжатой кнопке?
если отжать кнопку, то журнал забит ошибкой 4109.
как сделать, чтобы советник не пытался исполнить ordersend при отжатой кнопке?
если отжать кнопку, то журнал забит ошибкой 4109.
как сделать, чтобы советник не пытался исполнить ordersend при отжатой кнопке?
Как минимум, два варианта:
1. Проверять разрешение для торговых операций перед OrderSend при помощи IsTradeAllowed()
2. После выполнения OrderSend и получения однократной ошибки 4109 перестать вовсе (или на время) совершать торговые операции.
Также раньше состояние кнопки "Автоторговля" можно было контролировать при помощи функции IsExpertEnabled(). В новых билдах не проверял, как работает эта функция.
ну ok. придётся опять делать очередные лишние движения.
а объясните мне, зачем это сделали, чтобы советник постоянно работал?
мне казалось идёт борьба за ресурсы, раньше я мог просто отжать кнопку и оно не работало, а теперь получается, что советник нагружает проц в любом случае.
Проверять в советнике состояние IsTradeAllowed().
Есть предложение для разработчиков - если получили 4109 и после этого состояние глобальной кнопки или флага "Разрешить торговлю" в настройках эксперта не менялось - не выводить больше 4109 в лог для данного эксперта.
Есть куча старых экспертов, которые доступны только в ex4 и там IsTradeAllowed не пропишешь, а лог будет забит ошибкой 4109 и это некрасиво.
Уважаемые разработчики!
Обнаружилась неоднозначность работы эксперта в следующей ситуации.
В функции OnInit() эксперта есть блок определения № окна индикатора:
short_name=Short_Name(hist_name, parStoch);//короткое имя индикатора гистограммы
n_Wind=GetIndicatorSubWindowNumber(0,short_name);//функция описана в справке по MQL4
n_Wind=WindowFind(short_name);//№ окна индикатора гистограммы
Print(short_name," n_Wind=",n_Wind);
После перекомпиляции присоединенного к графику эксперта эксперта получаем:
2014.04.02 14:26:32.212 FolowMarket.multySource XAUUSD,H1: Hist-multyPrice(200,50,3,0,CLOSE, HIGH-LOW) n_Wind=-1
2014.04.02 14:26:32.212 FolowMarket.multySource XAUUSD,H1: GetIndicatorSubWindowNumber(): Error = 0
Как видно (n_Wind=-1) окно не найдено, но Error = 0 - ошибки нет.
Теперь открываем окно свойств эксперта, ничего не меняем, закрываем:
2014.04.02 14:30:08.082 FolowMarket.multySource EURAUD,H1: Hist-multyPrice(200,50,3,0,CLOSE, HIGH-LOW) n_Wind=1
Окно нашлось!