Много раз на форуме задается вопрос о возможности сопровождения скриптом позиций, открытых руками. Такому скрипту даже дали специальное название "доводчик позиций". Для реализации такой возможности разработчики предлагают сделать покупку/продажу со специально заполненным комментарием в виде "<имя скрипта>.<имя сигнала>", чтобы скрипт смог подхватить позицию, открытую руками.

А между тем должно быть простое решение этой проблемы, если перефразировать этот вопрос: «Возможно ли поделить обязанности между пользователем скрипта и самим скриптом так, чтобы за вход в позицию отвечал один, а за выход из позиции – другой?».

Изначально в одной из интерпретации вопрос звучал примерно так
Originally Posted By: Cosmo
Как заставить скрипт подхватить вручную открытую позицию, чтобы он ее довел и закрыл по условию?

Встречный вопрос: а зачем вообще заставлять скрипт подхватывать на сопровождение чужую позицию, про которую он ничего не знает (ни направление позиции, ни ее лотность и др.)? Очевидно, чтобы скрипт смог сопровождать открытую позицию, достаточно, чтобы ... он сам эту позицию и открыл, но только с разрешения пользователя!

Все просто. Вы создаете скрипт, который тупо, бездумно, т.е. без всяких условий, открывает позиции (но только с разрешения пользователя!), и дальше грамотно их сопровождает. Лучше сделать два скрипта, один - на покупку, а второй - на продажу.

Вся фишка в том, что в свойствах обоих скриптов вы оставляете только одну галку:

"Исполнять входы сразу" - Нет
"Исполнять выходы сразу" - Да

Такая комбинация опций позволяет сигналам на вход ожидать ручного подтверждения открытия позиции, а сигналам на выход - исполняться сразу.

Далее остается только запустить оба скрипта на исполнение, которые тут же сгенерируют сигналы на вход, но исполнены не будут, а будут ожидать подтверждения пользователя в окне «Менеджер команд».

После автоматического закрытия позиции, скрипт снова сгенерирует сигнал на вход, и снова будет ожидать ручного подтверждения в окне «Менеджер команд» и т.д. Если остановить работу скрипта, нажав на кнопку «Стоп», то неподтвержденный сигнал на вход будет удален без исполнения.

Таким образом можно разделить обязанности: реальный момент вход в позицию контролирует пользователь, а сопровождение позиции, включая выход из нее, выполняются уже скриптом без участия пользователя.


Отредактировано Scriptolog (Sun Jul 03 2011 09:32 PM)