Если руками открыто больше одной позиции, то как назначить советнику ту, которую нужно тралить?
Пока придумал только запускать предварительно скрипт, создающий ГП и копировать тикет оттуда.
Можно ли подать значение тикета на вход совы в качестве input int или хотя бы в качестве enum перечислений тикетов всех позиций данного символа?
Щелчок по значку открытой позиции/установленного ордера выбирает его в качестве цели трала. Щелчки+Ctrl выбирают множество позиций/ордеров для трала. Нужно лишь вписать реакцию на события клика по объектам. Ну и разрешить выставлять значки позиций/ордеров.
А если сбой системы или терминала? Цена-то потеряется запомненная.
Т.е., нужно искать то, что было 20 минут назад тогда, когда наступает время этой проверки. Наступило время, в котором минуты больше или равны кратно двадцати - проверили состояние RSI на баре, который был 20 минут назад. Если там есть нужное пересечение, то дальше действуем по плану...
Правда, на тф М15 точное время пересечения и точную цену вы не определите, но можно поглядеть цену на М1 - по крайней мере точнее в 15 раз.
а нельзя сделать к примеру блокнот который будет фиксировать точное время пересечения и цену?)) есть ведь такие советники,которые записывают разную информацию в блокнот
Чаще используется GV от GlobalVariable*** тогда я и не задавал-бы вопрос. В вопросе нет однозначности. Позиций много, но тралить нужно одну... Тралит тот-же советник который ставил позиции? В этом случае странно звучит вопрос. Если-же позиции ставятся руками или другим советником, то во время запуска советника вставить в input тикет и все дела... Ну и если надо чтобы советник тралил случайное количество позиций и список можно было менять на ходу... Фриланс в помощь.
Вы правильно понимаете и даже пишите что нужно делать, но не говорите как :-)
Позиции открываются руками, сова их различить может только по тикету. Вставить тикет руками через копирование в буфер я могу, но лучше этого не делать, а предложить выбрать из списка. Можно ли так сделать?
Вы правильно понимаете и даже пишите что нужно делать, но не говорите как :-)
Позиции открываются руками, сова их различить может только по тикету. Вставить тикет руками через копирование в буфер я могу, но лучше этого не делать, а предложить выбрать из списка. Можно ли так сделать?
Все можно. Например вывести панель с позициями, и в ней выбирать за какими отслеживать. Но это скорее уже как вам сказали выше в Фриланс.
Щелчок по значку открытой позиции/установленного ордера выбирает его в качестве цели трала. Щелчки+Ctrl выбирают множество позиций/ордеров для трала. Нужно лишь вписать реакцию на события клика по объектам. Ну и разрешить выставлять значки позиций/ордеров.
То есть это соответствует выполнению PositionSelect?
Щелчок по значку открытой позиции/установленного ордера выбирает его в качестве цели трала. Щелчки+Ctrl выбирают множество позиций/ордеров для трала. Нужно лишь вписать реакцию на события клика по объектам. Ну и разрешить выставлять значки позиций/ордеров.
Вы наверное имели в виду трал встроенный в терминал? Он не умеет делать частичное закрытие, что я и хочу сделать, потому и получается такой огород.
=Нужно лишь вписать реакцию на события клика по объектам.
А как можно обрабатывать события за пределами графического окна?
Из того что в справке написано ни один тип события не подходит.
Вы наверное имели в виду трал встроенный в терминал? Он не умеет делать частичное закрытие, что я и хочу сделать, потому и получается такой огород.
=Нужно лишь вписать реакцию на события клика по объектам.
А как можно обрабатывать события за пределами графического окна?
Из того что в справке написано ни один тип события не подходит.
Я так понял, вам нужно советнику как-то указать тикет позиции, открытой вручную, которую нужно чтобы он тралил.
Добавляете в советник отслеживание вновь открытых позиций и, если она не имеет магика, значит она открыта вручную. Советник при этом должен выставить значок открытия этой позиции на цене и баре её открытия. В имени объекта обязательно должен присутствовать префикс с общим названием объекта для всех таких объектов, например - "manual_", и обязательно должен присутствовать тикет позиции. В итоге имя создаваемого объекта может быть таким: "manual_12345678". Здесь: manual_ - префикс, 12345678 - тикет позиции.
Добавляете в советник OnChartEvent() и отслеживаете событие щелчка мыши по объекту. Анализируете имя объекта и, если там присутствует подстрока manual_, то смотрите что там за номер после manual_. Этот номер и есть тикет позиции, по значку которой вы щёлкнули мышкой.
Далее дело техники: нужно сохранить найденный номер так, чтобы он не потерялся при перезапуске советника/терминала/компьютера/мира... Например, в ресурсах или глобальных переменных терминала.
Советник должен читать этот ресурс и брать из него тикеты позиций, которые ему предстоит тралить
В цикле трала берёте тикет выбранной позиции и ищете этот номер в сохранённом списке тикетов. Если такой тикет найден, то позицию с этим тикетом нужно тралить.
При изменении количества позиций нужно проверить тикет закрытой позиции и найти его в сохранённом списке. Если такой тикет в списке существует, то его нужно удалить из этого списка - позиции уже нету, и нечего её тикету делать в списке тикетов для трала.
Как-то так примерно. Логику писал на коленке, так что мог не учесть чего...
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Если руками открыто больше одной позиции, то как назначить советнику ту, которую нужно тралить?
Пока придумал только запускать предварительно скрипт, создающий ГП и копировать тикет оттуда.
Можно ли подать значение тикета на вход совы в качестве input int или хотя бы в качестве enum перечислений тикетов всех позиций данного символа?
Щелчок по значку открытой позиции/установленного ордера выбирает его в качестве цели трала. Щелчки+Ctrl выбирают множество позиций/ордеров для трала. Нужно лишь вписать реакцию на события клика по объектам. Ну и разрешить выставлять значки позиций/ордеров.
:)
А если вы советник запустите в 9.22 ?
А если сбой системы или терминала? Цена-то потеряется запомненная.
Т.е., нужно искать то, что было 20 минут назад тогда, когда наступает время этой проверки. Наступило время, в котором минуты больше или равны кратно двадцати - проверили состояние RSI на баре, который был 20 минут назад. Если там есть нужное пересечение, то дальше действуем по плану...
Правда, на тф М15 точное время пересечения и точную цену вы не определите, но можно поглядеть цену на М1 - по крайней мере точнее в 15 раз.
а нельзя сделать к примеру блокнот который будет фиксировать точное время пересечения и цену?))
есть ведь такие советники,которые записывают разную информацию в блокнот
Чаще используется GV от GlobalVariable*** тогда я и не задавал-бы вопрос. В вопросе нет однозначности. Позиций много, но тралить нужно одну... Тралит тот-же советник который ставил позиции? В этом случае странно звучит вопрос. Если-же позиции ставятся руками или другим советником, то во время запуска советника вставить в input тикет и все дела... Ну и если надо чтобы советник тралил случайное количество позиций и список можно было менять на ходу... Фриланс в помощь.
Вы правильно понимаете и даже пишите что нужно делать, но не говорите как :-)
Позиции открываются руками, сова их различить может только по тикету. Вставить тикет руками через копирование в буфер я могу, но лучше этого не делать, а предложить выбрать из списка. Можно ли так сделать?
Вопрос: вы говорите о среде разработки IntelliJ IDEA ?
да, я говорою об IntelliJ IDEA
Похоже, вся жизнь здесь, в отдельные ветки никто не заглядывает.
Посмотрите мой вопрос, плиз: можно ли изобрести аналог CopyBuffer() для МТ4?
https://www.mql5.com/ru/forum/302404
можно, но тогда нужно дописывать и код индикатора, который должен будет выдавать свой буфер
Вы правильно понимаете и даже пишите что нужно делать, но не говорите как :-)
Позиции открываются руками, сова их различить может только по тикету. Вставить тикет руками через копирование в буфер я могу, но лучше этого не делать, а предложить выбрать из списка. Можно ли так сделать?
Все можно. Например вывести панель с позициями, и в ней выбирать за какими отслеживать. Но это скорее уже как вам сказали выше в Фриланс.
Щелчок по значку открытой позиции/установленного ордера выбирает его в качестве цели трала. Щелчки+Ctrl выбирают множество позиций/ордеров для трала. Нужно лишь вписать реакцию на события клика по объектам. Ну и разрешить выставлять значки позиций/ордеров.
То есть это соответствует выполнению PositionSelect?
То есть это соответствует выполнению PositionSelect?
Нет, не соответствует. Это было предложение как можно сделать.
Щелчок по значку открытой позиции/установленного ордера выбирает его в качестве цели трала. Щелчки+Ctrl выбирают множество позиций/ордеров для трала. Нужно лишь вписать реакцию на события клика по объектам. Ну и разрешить выставлять значки позиций/ордеров.
Вы наверное имели в виду трал встроенный в терминал? Он не умеет делать частичное закрытие, что я и хочу сделать, потому и получается такой огород.
=Нужно лишь вписать реакцию на события клика по объектам.
А как можно обрабатывать события за пределами графического окна?
Из того что в справке написано ни один тип события не подходит.
Вы наверное имели в виду трал встроенный в терминал? Он не умеет делать частичное закрытие, что я и хочу сделать, потому и получается такой огород.
=Нужно лишь вписать реакцию на события клика по объектам.
А как можно обрабатывать события за пределами графического окна?
Из того что в справке написано ни один тип события не подходит.
Я так понял, вам нужно советнику как-то указать тикет позиции, открытой вручную, которую нужно чтобы он тралил.