
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
зачем вмешиваться в и без того продуктивное обсуждение
Разработчики не хотят нас вспугнуть, вдруг че интересное для них нароем... :)
зачем вмешиваться в и без того продуктивное обсуждение
По следующим причинам:
1. Сказать, ребята, мы признаем (или не признаем), что есть проблема и будем ее лечить.
2. Сказать, Кварк (и Компостер, так как он воспроизвел ошибку на своем эксперте), мы посмотрели твой код, ошибка в нем, лечится так-то.
А то получается, что вам это не интересно. Резвитесь, детки...
Повторю свои аргументы:
1. Ордера на открытие и закрытие позиции иногда возвращают ошибки.
2. Коды этих ошибок не имеют с реальной жизнью ничего общего (например, "неправильная цена", при том, что цена - правильная).
3. Повторением попытки с теми же параметрами можно заставить систему принять ордер. Но нигде в ваших руководствах не сказано, что один и тот же ордер надо открывать (закрывать) в цикле с контролем ошибок на каждом шагу и выводом в файл для последующей ручной проверки.
4. Коды ошибок иногда не возвращаются, то есть, программа ведет себя так, словно операция удалась. А она - провалилась.
5. Самое главное. Поскольку проблема возникает при взаимодействии с демо сервером (Альпари, в моем случае), то достаточно велика вероятность, что найдя обходной путь сейчас, на демо, мы снова окажемся в той же ситуации, перейдя на реал. И тогда за отладку по новой придется платить. Своими деньгами.
6. Это НЕ локальная проблема одного эксперта. Я утверждаю, что все, или по крайней мере, многие эксперты, могут этого просто не ловить, поскольку там нет системы отлова ошибок, приделанной мной к моим экспертам. Отсюда следует, что оптимизация НЕ может быть перенесена в реал, так как ордера будут открываться и закрываться не так и не всегда. Отсюда следует, что народ будет терять время и деньги.
7. Я не очень верю, что это проблема эксперта. Укажите, где она, если я не прав. Логику эксперта можете менять, дело не в логике.
Вот.
Рош, вот логи за сегодня, с задержкой внутри цикла после OrderSend и OrderClose на 10000 мс. Это, вроде, снимает подозрения с конфликта за счет тайминга и контекста (которых и так не должно было быть):
Attempting to close short position, ticket: 1827283
9.9.2005 10:13:20 Order with this ticket still present, trying again
9.9.2005 10:13:48 No more orders with this ticket No
Со второй попытки :(
9.9.2005 0:14:54 Trying to buy, attempt 0
Bid: 1.24490000, StopLoss: 0.00700000, TakeProfit: 0.00000000 failed, error 6
9.9.2005 0:15:4 Trying to buy, attempt 1
Bid: 1.24470000, StopLoss: 0.00700000, TakeProfit: 0.00000000 successfull
Со второй попытки :(
9.9.2005 13:0:22 Trying to buy, attempt 0
Bid: 1.23900000, StopLoss: 0.00600000, TakeProfit: 0.00000000 failed, error 6
9.9.2005 13:0:48 Trying to buy, attempt 1
Bid: 1.23900000, StopLoss: 0.00600000, TakeProfit: 0.00000000 successfull
Со второй попытки :(
Не помогли паузы...
Обращаю ваше внимание, что ошибка 6 (самая информативная на свете) появлялась только при покупке, при закрытии же, ошибок не было. Правда, был ping error в журнале, но эксперт-то об этом не знает...
Говорят, если человек разговаривает с Богом, это нормально. А вот если Бог начинает отвечать, это уже проблема :) Но я все равно рад :)
Напоминаю, что по умолчанию эксперт на 5-минутках торговать не будет. Там часы зашиты, надо поменять.
Также я понятия не имею, как легко это отловить на 5-минутках. Кроме того :) если тестировать так, как вы описали, то циклы надо запретить, так как они призваны гасить ошибку. В логах запись, конечно, будет, но нажимать кнопку может быть поздно.
Наконец, можно, наверное, привинтить ту же логику (вызов моих функций вместо OrderSend и OrderClose) к другим экспертам. Для кучности. Я думаю, тоже получится что-то поймать.
Удачи,
Кварк
присылайте. мы как раз эту ситуацию и ловим
Особо отмечу, что этот код ни от каких условий, кроме срабатывания второго из двух отложенных ордеров, не зависит. Соответственно, через час (меня дома не было) этот код вызвался снова, и отложенный ордер был таки удален. Алерт остался висеть.
То есть, в этот раз система заработала через некоторое время, БЕЗ перезапуска терминала. Не исключаю, что остальные случаи (с неотложенными ордерами) тоже связаны с временным выходом терминала из рабочего состояния, просто логика экспертов такова, что, раз не сработав, на следующем баре этот код уже может не вызваться.
Это согласуется с тем фактом, что повторяя запрос на проведение операции в цикле, можно добиться успеха со второй, третьей и т.д. попытки.
Твой эксперт открыл позицию =)))
Все 8 висят на часовках уже давно, и никто не торгует... И вот в 15:00 по Альпари открылась позиция. Это нормально?)
Твой эксперт открыл позицию =)))
Все 8 висят на часовках уже давно, и никто не торгует... И вот в 15:00 по Альпари открылась позиция. Это нормально?)
И у меня открыл, и тоже в 15 :)
Предыдущая позиция, и тоже успешно, была открыта по USDCAD 23.08.
Вообще-то, это хороший эксперт, и большую часть времени он сбоев не дает. Как и любой другой. Судя по логам, дело не в логике торговли, а в самом факте, так что можно переписать эксперта, например, чтобы он переворачивал позицию каждый час - сделок будет больше :) И сбоев тоже.
Этот эксперт - просто пример, разработчикам показать. А так они ВСЕ время от времени дают сбои. Да и у тебя, как я понимаю, тоже, так что дело не в нашем коде...