Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В документации есть пример обработки ошибки 4066 https://docs.mql4.com/ru/array/ArrayCopySeries
Спасибо. за сегодня уже раз 10 смотрел её. что не так
Вот тук функция 'Программная перезагрузка expertа.'
а вот тут логи 'Программная перезагрузка expertа.'
историю так и не удаеться загрузить
В документации есть пример обработки ошибки 4066 https://docs.mql4.com/ru/array/ArrayCopySeries
Ваш пример я видел. Он мне не подходит.
1. для минуток не гарантируется соответствие TimeCurrent() iTime(). особенно, когда речь идет о мультивалютной торговле.
2. Загрузка нулевой свечи не гарантирует загрузки всех свечей.
3, отсутствие 4066 в строке if(error==4066) вообще ни о чем не говорит. Ведь нигде не написано, когда два последущих вызова
ArrayCopySeries(daytimes,MODE_TIME,Symbol(),PERIOD_D1);
вернут 4066 оба
4. на минутках не все свечи гарантированно есть. То есть нельзя проверять время свечи.
Хотелось бы услышать общие правила для написани мультивалютного советника. что писать в инит(), что в старт().
Хотя, общая картина складывается потихоньку, Осталось совсем не много
В таком случае, Вам придётся самостоятельно искать решение.
Разработчики об общих правилах для написания мультивалютных советников сказали всё, что могли.
В таком случае, Вам придётся самостоятельно искать решение.
Разработчики об общих правилах для написания мультивалютных советников сказали всё, что могли.
Если Вы разработчик, спасибо и на этом.
Возможно в mt5 Появится типа событие OnEndUpdate(), или 4066 будет привязана к инструменту и таймфрейму.
Нухно всего то, знать, что от сервера получены все запрошенные данные.
Кста, для общего развития. Вы тут и Slawa там - один человек?
Если Вы разработчик, спасибо и на этом.
Интервью со Станиславом Стариковым: особенности нового MQL5
Интервью со Станиславом Стариковым: особенности нового MQL5
счас новую ветку заведу. С моим решением проблемы и новыми вопросами
И какие гадости хватает советник? И что такое индикатор-обновлятор?
А код простой. В цикле перебираются все инструменты и таймфреймы. Поэтому идет формирование новых баров на всех таймфреймах. Терминал конечно из-за этого дольше загружается.
Похоже, в МТ5 всем придется делать такой обработчик
Каждому самостоятельно
За прогресс надо платить
И еще неизвестно, к чему это приведет.
-------------
Заявления о скорости работы МТ5 на этом фоне бледнеют.
В таком случае, Вам придётся самостоятельно искать решение.
Разработчики об общих правилах для написания мультивалютных советников сказали всё, что могли.
А это пример решения проблемы. Только к слову мультивалютных надо добавить и мулититаймфреймовых.
Вообще, мне кажется, что разработчики несколько заигрались и прячут голову в песок нововведений, избегая решать реальные проблемы торговли.
Странная ситуация складывается! Код, который пользователь должен написать, чтобы понять, а можно ли вообще торговать, может превышать код эксперта в десятки раз и по объему, и по сложности поставленной задачи. Взять хотя бы проблему с данными после разрыва связи. Экпертописатели прекрасно знают, что там одной строчкой кода не обойдешься. Да много чего подобного есть.
Как можно вообще говорить о приспособленности МТ для автоматизации торговли, если в ее концепции нет функционала для этого. Т.е. сделать можно, но для МТ это не главное. Главное - это игрушки, а как они будут торговать в реальных условиях, для разработчиков не особо интересно. Эксперт должен торговать, а не думать на каком он, блин, свете находится. Для этого платформа должна давать конкретные возможности.
Что было в мт4.
---
Доступ к любой валютной паре и к любому таймфрейму осуществлялся путем простого запроса значения таймсерии, например, High[0] ( iHigh() ).
---
Что стало в мт5.
---
Такой простой доступ, как в мт4 остался возможным только для индикаторов через функцию OnCalculate, но только к одному единственному таймфрейму и только к одной валютной паре. К другим таймфреймам и другим валютным парам доступ стал намного более сложным. Прежде чем получить такой доступ необходимо сначала скопировать из соответствующей таймсерии данные в свой массив или в свою переменную. И здесь начинаются проблемы. В мт5 с сервера поступают только минутки. Все остальные таймфреймы пересчитываются из минуток и только после того, как был сделан запрос к соответствующему тф. Вы делаете запрос, а данных этого тф еще нет. Соответственно, надо ждать какое-то неопределенное время пока эти данные не появятся после преобразоввния минуттк в нужный тф. Первый вопрос - сколько времени ждать. Как определить момент времени, когда появятся нужные данные. После этого необходимо скопировать эти данные. И только после этого Вы получите доступ к нужным Вам данным.
---
В мт5 Проблема 4066 встает в полный рост для всех программистов. Ранее с этой проблемой сталкивалось ограниченное число программистов. Эта проблема возникала при решении определенных задах. Сейчас круг задач, у которых появилась эта проблема расширился.