Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
PS Если MQL поддерживает рекурсию, то, ребята скромняги, что так долго скрывали от мира возможности языка.
Условие в строке все еще записано неправильно.
Это не рабочий вариант. (та строка и давала ошибку. при равенстве значений, почему-то, условие все-равно соблюдалось)
Я думаю, если еще раз попробуете переписать, то ошибка пропадет навсегда. Наверно, глаз замылился.
Я переписал как вы советовали, но с рекурсией. и ошибка пропала.
Теперь, по непонятным причинам, в альпари error 130 при любом значении стопа. В 3-х других терминалах нормально.
Это не рабочий вариант. (та строка и давала ошибку. при равенстве значений, почему-то, условие все-равно соблюдалось)
Я переписал как вы советовали, но с рекурсией. и ошибка пропала.
Отлично! Теперь, уберите рекурсию от греха подальше. Это недекларируемый вариант использования языка. Думаю, что практиков с рекурсией здесь мало, и, в случае чего, помощи ждать будет не от кого.
Ошибка 130. Почитайте MarketInfo(). Воспользуйтесь поиском. Информации просто море. И, поаккуратнее со сравнениями чисел типа double
Ошибка 130. Почитайте MarketInfo(). Воспользуйтесь поиском. Информации просто море. И, поаккуратнее со сравнениями чисел типа double
Это я читал... Дело в том что в альпари эта ошибка при любом! значении стопа.
Открывает сделку, устанавливает стоп (без ошибок), а перевод в безубыток, даже если цена уже в +300пп - error 130
Что-то с тестером в их терминале.... я так думаю.
Я переписал как вы советовали, но с рекурсией. и ошибка пропала.
1. У Вас нет критерия останова для рекурсии. Если проявляется ситуация когда модификация не удалась по неустранимой причине - например, неверно заданы уровни стопа, закрыты торги .... да мало ли - вы получаете бесконечный цикл (из вызовов функций) и, как закономерность, переполнение стека.
2. Рекурсия в таких случаях (модификация ордеров) не нужна - выбрали ордер и обрабатывайте его .... При рекурсивном вызове Вы опять начинаете сканировать ордера - в том числе и те, в которых уже все поменяно.
И, самое главное: Вы не обрабатываете ошибку, которую возвращает функция модификации ордера - это практика порочная. Если причина не может быть устранена, то циклические попытки повторить операцию бессмысленны и только грузят комп и сервер - Вас ДЦ просто рано или поздно заблокирует .......
Удачи.