[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 1033
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ну свой код выкидывать не буду, а возьму какой нить скаченный!Который так же не работает!
Вот рабочий, проверил.
В некоторых дц сначала открываем сделку только потом модификация (выставление стопов тейков).
Вот рабочий, проверил.
В некоторых дц сначала открываем сделку только потом модификация (выставление стопов тейков).
Библиотеку забыл добавить
Библиотеку забыл добавить
а ObjectsTotal() это объекты всех графиков или текущего?
Текущего.
ObjectsTotal Возвращает общее число объектов указанного типа на графике.
Озакамливаемся https://book.mql4.com/ru/functions/objects https://docs.mql4.com/ru/objects/ObjectsTotal
Язык мкюл4 привязан к одному окну, текущему.
Данный цикл служит для удержания выполнения ф-ии модификации ордера (если с первой попытки модифицировать ордер в реал рынке не удалось (такое бывает) и возможная ошибка не является критической: например № 136 - нет цен - ждем новый тик ), т.е. данный цикл удерживает управление у себя до тех пор, пока предварительно выбранный ордер не будет модифицирован или не будет получена критическая ошибка - все это может происходить в течение нескольких тиков, а то и секунд (десятков секунд), другими словами все остальное в эксперте не работает, т.е. если в это время сработал торговый критерий на открытие ордера, то ордер не будет открыт, т.к. управление удерживается ф-ей модификации всех выбранных ордеров, пока она не завершится, после чего, если условие на открытие очередного ордера в эксперте все еще выполняется, то будет предпринята попытка открыть очередной ордер на следующем тике - это так к примеру... "Если торговая операция завершилась успешно, то оператор break в блоке 6-7 заканчивает исполнение цикла while, что приводит к окончанию текущей итерации цикла перебора ордеров for (и на следующей итерации начинается обработка очередного ордера) - все это время ф-ия удерживает управление у себя, пока не будет модифи последний ордер, подлежащий модифи . Если же торговая операция закончилась неудачей, то производится обработка ошибок. В случае, когда ошибка оказывается не критической, попытка повторить торговую операцию повторяется. Если же ошибка оценивается как критическая, то управление передаётся за пределы цикла модификации для обработки следующего ордера (в цикле for) - после чего выполняются другие ф-ии эксперта.
Думаю, объяснил коряво, зато понятно. :-)))
Спасибо, это проясняет что там происходит.
В скриптах и советниках можно держать цикл долгое время не завершенним, не боясь тормозить интерфейс. поток.
Т.е. в индикаторе while (true) наглухо подвиснет, т.к. Sleep не работает.
Посмотрите скрипт ниже станет понятнее
спасибо!