... // another minor processing, not relevant too
тут случаем ticket не модифится?
попробуй убрать конструкцию с брейком и добавить в FOR ....&& ticket==-1
тут случаем ticket не модифится?
попробуй убрать конструкцию с брейком и добавить в FOR ....&& ticket==-1
... // another minor processing, not relevant too
тут случаем ticket не модифится?
тут случаем ticket не модифится?
Не модифится. Там ничего не модифится, поэтому и написал нот релевант.
попробуй убрать конструкцию с брейком и добавить в FOR ....&& ticket==-1
Попробую, если объясните разницу. Думаете, кодогенератор неправильно компилирует брейк? Весьма маловероятно.
А таймаут на автоматическую переменную, размещенную в индивидуальном стеке эксперта, повлиять никак не должен.
Как я говорил, время открытия обоих ордеров идентичное, несмотря на таймаут в цикле.
То есть имеет место какая-то задержка выполнения ордера с определенным кодом в LastError, который надо специально обрабатывать (workaround).
После SendOrder Сохраняй значения ticket и GetLastError() в лог.....
интересно было бы посмотреть.....
У меня тоже была примерно такая же трабла то есть не у меня а у чела, котор я эксперт писал: при прогонке на тестере эксперт упорно тыкал кучу ордеров причем как то выборочно и ни какие чеки ему были ни почем.... Причем у себя на тачке я такого не наблюдал.....
Поисками особо не заморачивался, так как в рилТайме все было ОК....
Для себя решил что проблема в Тестере и в разных конфах компов....
интересно было бы посмотреть.....
У меня тоже была примерно такая же трабла то есть не у меня а у чела, котор я эксперт писал: при прогонке на тестере эксперт упорно тыкал кучу ордеров причем как то выборочно и ни какие чеки ему были ни почем.... Причем у себя на тачке я такого не наблюдал.....
Поисками особо не заморачивался, так как в рилТайме все было ОК....
Для себя решил что проблема в Тестере и в разных конфах компов....
После SendOrder Сохраняй значения ticket и GetLastError() в лог.....
См выше
Промежуточной ошибки я, к сожалению, не поймал, и алерт тоже не выскочил, естественно. Сейчас поставил трассировку в цикле, но не уверен, насколько ситуация воспроизводима.
Алерт выскочит лишь если ордера не будет ето понятно.....
лог все таки сделай с Ticket и GetLastError и запость....
про трассировку забудь
лог все таки сделай с Ticket и GetLastError и запость....
про трассировку забудь
О! вопрос....
А что ты предпринимаешь, что бы на следующем тике опять не попасть в этот цикл? :)))
А что ты предпринимаешь, что бы на следующем тике опять не попасть в этот цикл? :)))
лог все таки сделай с Ticket и GetLastError и запость....
про трассировку забудь
про трассировку забудь
??
Определитесь, пожалуйста. :)
Дельные мысли у кого-нибудь есть?
Ну так что со вторым попаданием в цикл?
ЗЫ
ЗЫ
Про трассировку сам хохотался... сам уже запарился сижу читаю, блин, думаю где он там дебаггер увидел....
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Этот код открыл две позиции с абсолютно одинаковыми параметрами и временем открытия:
То есть, в какой-то момент OrderSend возвратил -1 и валидный тикет в следующей итерации. При этом оба вызова открыли позиции с разными, соответственно, тикетами. Промежуточной ошибки я, к сожалению, не поймал, и алерт тоже не выскочил, естественно. Сейчас поставил трассировку в цикле, но не уверен, насколько ситуация воспроизводима.
Нужна подсказка и совет. :)
1. Какой там мог быть код ошибки?
2. Как ее обрабатывать? В смысле как заполучить конечный результат, т.е. валидный тикет?