Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXVII): Работа с торговыми запросами - выставление отложенных ордеров" - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Почти 4 мегабайта кодов, а схема библиотеки и пользовательские методы не предоставлены... Вы для себя пишите?
Посмотрите глазами пользователей. Каково им во всем этом разбираться без ориентиров.
Хорошие, самодостаточные ориентиры - сами статьи. В них не только есть ориентиры, но они ещё и разжёваны досконально - было б не лень читать.
Схема будет в конце создания библиотеки. Равно как и user-case-методы для быстрого доступа ко всем возможностям библиотеки.
Конкретно в этой статье нет ни слова, почему решено отправлять отложенный ордер сразу после подключения интернета, без повторного опроса пользователя.
Есть предупреждение, что отложенные запросы представленные в статье нельзя использовать в реальной торговле. То есть, это все тестирование концепции и не больше.
Объяснения установки ордера после переподключения интернета без опроса пользователя нет.
И неужели нужно несколько статей, чтобы тестировать незамысловатый механизм отложенного торгового запроса? Тем более, проще и правильней повторно опросить пользователя и все.
Сразу видно, что вы не писали торговых функций, и не совсем понимаете о чём речь.
Попробую ещё раз сказать (это было в прошлой статье): есть такие ошибки торгового сервера, которые требуют некоторой задержки перед повторной отправкой торгового запроса на сервер.
Обычно предлагается задержку делать при помощи Sleep(). Но она останавливает выполнение программы. Таким образом, вся программа будет ожидать завершения паузы внутри торгового метода перед отправкой повторного запроса на сервер.
Хорошо ли это? В общем и простейшем случае - нормально.
Но советник может быть мультивалютным. И во время ожидания он больше ничего, кроме самого этого ожидания делать не будет.
Хорошо ли это? Думаю, что нет - советник должен продолжать контролировать окружающую обстановку по всем своим рабочим символам. Именно это ему и предоставляют отложенные запросы: получили ошибку от сервера, требующую ожидания - создали отложенный запрос с нужным количеством попыток и требуемым временем ожидания между ними, и пошли дальше делать свои дела. Далее уже торговый класс сам вовремя отправит нужный торговый запрос на сервер. При этом сначала проверит "а не закончилось ли время на исполнение всех, отведённых для торгового запроса, попыток". Поэтому, через стопятьсотчасов советник не будет отсылать устаревшие ордера на сервер.
И если вы так сильно любите общаться с программой, то предложенные мною "отложенные торговые запросы" позволяют пользователю задать условие, когда нужно отослать торговый приказ. Задали условие, и идёте по своим делам - как только условие наступит - запрос сработает. Это один из множества методов создания торговой логики для советников. И когда в библиотеке будет доступно построение графической оболочки для своих программ, тогда можно будет легко создавать инструменты для создания торговой логики - ввели нужные значения, указали тип запроса, и когда ему нужно сработать, и всё...
Это первое что в голову приходит для пояснения и ответа на ваш вопрос "зачем всё это нужно" - всё делается не "прямо здесь и сейчас", а по кирпичикам, постепенно.
Сразу видно, что вы не писали торговых функций, и не совсем понимаете о чём речь.
Попробую ещё раз сказать (это было в прошлой статье): есть такие ошибки торгового сервера, которые требуют некоторой задержки перед повторной отправкой торгового запроса на сервер.
Обычно предлагается задержку делать при помощи Sleep(). Но она останавливает выполнение программы. Таким образом, вся программа будет ожидать завершения паузы внутри торгового метода перед отправкой повторного запроса на сервер.
Хорошо ли это? В общем и простейшем случае - нормально.
Но советник может быть мультивалютным. И во время ожидания он больше ничего, кроме самого этого ожидания делать не будет.
Хорошо ли это? Думаю, что нет - советник должен продолжать контролировать окружающую обстановку по всем своим рабочим символам. Именно это ему и предоставляют отложенные запросы: получили ошибку от сервера, требующую ожидания - создали отложенный запрос с нужным количеством попыток и требуемым временем ожидания между ними, и пошли дальше делать свои дела. Далее уже торговый класс сам вовремя отправит нужный торговый запрос на сервер. При этом сначала проверит "а не закончилось ли время на исполнение всех, отведённых для торгового запроса, попыток". Поэтому, через стопятьсотчасов советник не будет отсылать устаревшие ордера на сервер.
И если вы так сильно любите общаться с программой, то предложенные мною "отложенные торговые запросы" позволяют пользователю задать условие, когда нужно отослать торговый приказ. Задали условие, и идёте по своим делам - как только условие наступит - запрос сработает. Это один из множества методов создания торговой логики для советников. И когда в библиотеке будет доступно построение графической оболочки для своих программ, тогда можно будет легко создавать инструменты для создания торговой логики - ввели нужные значения, указали тип запроса, и когда ему нужно сработать, и всё...
Это первое что в голову приходит для пояснения и ответа на ваш вопрос "зачем всё это нужно" - всё делается не "прямо здесь и сейчас", а по кирпичикам, постепенно.
При обрыве связи с сервером, все вычисления в советнике останавливаются, потому что главный двигатель расчетов, - цена.
Петр, обрыв связи - не единственная ошибка, требующая ожидания перед повтором. Вот же прицепились к искусственно-эмулированной ошибке для тестирования...
Все обращения советника к серверу отследить невозможно.
Спрашиваю, потому что решение задачи повторной отсылки сорвавшихся ордеров (очевидно) не требует усложнения и решается просто.
...
Попробую ещё раз сказать (это было в прошлой статье): есть такие ошибки торгового сервера, которые требуют некоторой задержки перед повторной отправкой торгового запроса на сервер.
Обычно предлагается задержку делать при помощи Sleep(). Но она останавливает выполнение программы. Таким образом, вся программа будет ожидать завершения паузы внутри торгового метода перед отправкой повторного запроса на сервер.
...
Нужен конкретный перечень таких ошибок, и объяснение - ЧТО библиотека предлагает в качестве решения.
Нужно для пользователей, чтобы заставить их применять функции библиотеки, а не собственные.
Так что это за ошибки и какие у вас решения в общих чертах?
...
Спрашиваю, потому что решение задачи повторной отсылки сорвавшихся ордеров (очевидно) не требует усложнения и решается просто.
Посмотрел прошлую статью. Там речь только о срыве отсылки ордера в следствии недоступности сервера. Форма решения намного более сложная, чем я мог себе представить. Но, Суть решения от этого сложнее не становиться.
Решения для остальных типов повторных запросов там нет.
Посмотрел прошлую статью. Там речь только о срыве отсылки ордера в следствии недоступности сервера. Форма решения намного более сложная, чем я мог себе представить. Но, Суть решения от этого сложнее не становиться.
Решения для остальных типов повторных запросов там нет.
А вы проверьте :)
Это не ответ.
Вы не хотите общаться по теме, и показать, какие отложенные запросы может обрабатывать библиотека.
Для каждого отложенного запроса (не ордера) нужно свое решение, - свой магик, свои свойства, свои методы и прочее. И где это?
Это не ответ.
Вы не хотите общаться по теме, и показать, какие отложенные запросы может обрабатывать библиотека.
Для каждого отложенного запроса (не ордера) нужно свое решение, - свой магик, свои свойства, свои методы и прочее. И где это?