Что скажете?
Что и всегда. OrderClose посылает приказ о закрытии позиции брокеру, но не гарантирует закрытия.
Надо смотреть на рантайм ошибки.
Еще один скрипт-убийца.
Почитайте, пожалуйста, форум - все это многократно объяснялось:
1) все OrderSelect должны проверяться
2) где проверки на результат OrderClose? Запустите скрипт в выходные и навечно завесите код
3) где учет/проверка на устаревание цен? где RefreshRates?
4) вообще о брокере думали? что на его стороне будет?
Думаю, придется нам принудительно дисквалифицировать/отключать скрипты за такие попытки трейдов.
Почитайте, пожалуйста, форум - все это многократно объяснялось:
1) все OrderSelect должны проверяться
2) где проверки на результат OrderClose? Запустите скрипт в выходные и навечно завесите код
3) где учет/проверка на устаревание цен? где RefreshRates?
4) вообще о брокере думали? что на его стороне будет?
Думаю, придется нам принудительно дисквалифицировать/отключать скрипты за такие попытки трейдов.
Сей скрипт был максимально упрощён для более быстрого понимания - это раз. Запускался он только в тестере стратегий - это два (кстати его и вешал). В журнале тестера не было ни одной ошибки закрытия - это три... Вот.
Сей скрипт был максимально упрощён для более быстрого понимания - это раз. Запускался он только в тестере стратегий - это два (кстати его и вешал). В журнале тестера не было ни одной ошибки закрытия - это три... Вот.
5) если есть отложенный ордер, то 100% завис.
К сожалению, Вы в столь малом куске кода сделали массу фатальных ошибок.
Даже сложно придумать более худший код.
Необходимо писать максимально защищенный код, а не игнорировать проверки с подходом:
- мне повезет!
- реквота не дадут!
- на выходные не попаду!
- отложенных ордеров быть не может, я же только BUY и SELL делаю!
- вообще, все должно работать по моей схеме, а требования разработчиков не интересует!
- а на брокера мне вообще наплевать, меня не волнует частота запросов - пусть отрабатывает!
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
На этом месте эксперт виснет наглухо. А почему? Разве после успешного закрытия ордера, функция OrdersTotal() не меняет значение? Должна вроде... Ордер выбираю всегда первый, т.к. по-любому доберусь до конца, закрывая их с начала... Вот. Что скажете?