Техзадание для советника.

Тема в разделе "Зиг-Заг. Системы с использованием ZigZag.", создана пользователем nen, 18 июн 2012.

  1. nen

    nen Профи форума

  2. Putnik_odessa

    Putnik_odessa Профи форума

    Общие положения.

    Модуль должен использоваться для торговли в ручном, полуавтоматическом и автоматическом режимах.
    Помимо графической установки ордеров, должно быть предусмотрено использование клавиатурных команд на однозначные операции, например открытие покупки или продажи по рыночной цене без защитных ордеров или с их заранее предустановленными параметрами.
    Настройка модуля должна осуществляться с помощью внешнего полнофункционального интерфейса, облегчающего управление многочисленными параметрами, но работающего по принципу настроил и забыл (спрятал).
    Использование настроечной панели в окне индикатора (по подобию AG) – недопустимо!
    Панель команд (исполнительные инструменты) должна также вызываться «вызываться» на поле графика клавиатурной командой в момент необходимости и затем «скрываться» повторной командой, после выполнения функций выставления ордеров.
    Положение «вызова» Панели Команд определяется первоначальными настройками, задаваемыми с помощью внешнего интерфейса, затем, выделив ее можно перемещать в удобное положение.

    Режим ручного управления (mode of manual control).

    В ручном режиме управление торговыми ордерами осуществляется путем перетаскивания управляющих значков с панели инструментов с помощью мыши. Рыночный ордер будет открыт по рыночной цене, отложенный ордер должен быть открыт по той цене, на которой будет установлен управляющий значок.​
    Модификации ордеров осуществляется путем выделения и перемещения ордерной линии на новое место с помощью мышьи. При этом если модифицируется отложенный ордер, то модификация затрагивает также его защитные ордера StopLoss и TakeProfit - заявленные цены стоп-приказов изменяются одновременно с изменением цены ордера, сохраняя ранее заданное расстояние от них до отложенного ордера в пунктах. Затем стоп-приказы (защитные ордера можно откорректировать раздельно путем переноса их ордерных линий).​
    Удаление ордеров должно осуществляется путем выделения соответствующей ордерной линии с помощью мыши и последующим выполнением команды Delete либо специальных команд “Удалить все”, “Удалить позиции BUY”, “Удалить позиции SELL”, выполняемых без выделения ордерных линий. При выполнении этих операций удаляются отложенные ордера и закрываются соответствующие открытые позиции.
    Также должна быть определена опция «Закрытие всех ордеров в определенное время».
    (В программе AutoGraf вычисляется оптимальная последовательность закрытия ордеров, в частности, в случае возможности, с целью экономии выполняется встречное закрытие ордеров. Также в программе AutoGraf учитываются все необходимые ограничения - минимальная дистанция, установленная брокером на текущий момент, дистанция заморозки, допустимые значения стоимости ордеров и т.д.)​
    Ручной режим должен иметь наиболее высокий приоритет. Это означает, что любое ручное управляющее воздействие должно всегда восприниматься программой независимо от установленного режима (полуавтоматический или ручной).​

    Полуавтоматический режим управления (semi-automatic control mode).

    Полуавтоматический режим управления торговыми ордерами связан с графическими инструментами (объектами) входящими в индикаторную платформу ZUP.
    Используя соответствующие исполнительные инструменты Модуля Графического Управления Ордерами (далее МГУО) можно настроить торговые команды с учётом положения, наклона и взаимного расположения графических инструментов входящих в индикаторную платформу ZUP.
    То есть, обычным способом (вручную с помощью мыши или программно), выбирается графический инструмент на ценовом графике, а затем к нему «привязывается» исполнительный инструмент МГУО, далее исполнение ордеров происходит автоматически без участия пользователя в момент тестирования ценой выбранных графических инструментов.​
    В зависимости от выбора типа исполнительного инструмента отработка торговых ордеров должна осуществляться по «касанию» графического инструмента, либо верхней или нижней (ближней / дальней) границы целевого диапазона ограниченного на графическом инструменте ценовыми метками.​

    Автоматический режим.




    Автоматический режим управления торговыми ордерами предполагает исполнение алгоритма функции автоматической торговли настраиваемой в зависимости от типа вил или их комбинации на смежных операционных масштабах.
    К автоматическим режимам можно отнести и команды перемещения защитных ордеров в «безубыток» при достижении ценой определенного графического инструмента или определенного ценового пути.​

    Ретранслятор торговых сигналов.

    Торговые ордера, установленные, любым из выше перечисленных способов на мастер-счете (счете источнике) должны при необходимости автоматически копироваться на ранее заданные ведомые счета (счета приемники). То есть советник постоянно следит за изменениями на отслеживаемом счете (источнике) и при появлении нового ордера незамедлительно копирует его на счет или счета (приемники).
    Обычно такие системы разделяют на два советника R-Trader»и «R-Investor»
    Копирование ордеров (ретрансляция) должна обеспечивать:​
    1. Копирование неограниченного количества торговых сигналов с клиентского терминала любого мастер-счета на любое количество ведомых счетов расположенных как на ДЦ масстер-счета, так и на клиентских терминалах любых других ДЦ.
    2. Копирование сигналов должно производиться напрямую на брокерские серверы клиентских терминалов. То есть вовсе не обязательно, чтобы клиентская торговая система была в режиме «онлайн».
    3. Минимальную задержку в копировании сигналов (миллисекунды).
    4. Копирование сигналов должны поддерживать как четырех, так и пятизначные системы котировок (количество знаком после запятой).
    5. Согласования разных тикеров для одного и того же инструмента принятых в разных ДЦ.
    6. Согласование (отклонения от) времени по Гринвичу, чтобы привести время в терминалах разных ДЦ к общему знаменателю и избежать копирования старых сделок.
    7. Раздельную настройку коэффициентов изменения объёма копируемой сделки для каждого ведомого счета.
    8. Возможность перекрестного транслирования торговых сигналов.
    9. Возможность мультикопирования, то есть транслирования сигналов, как из MT4 в MT5, так и наоборот.
    10. Возможность автоматической идентификации "автора" торговых сигналов по заранее вводимому псевдониму или идентификационному номеру.
    11. Код советников должен быть оптимизирован таким образом, чтобы при обрывах связи, выключении, или других сбоях система работала стабильно и без ошибок на операционных системах от Windows XP до Windows 7 (32, 64) и выше.
     
  3. nen

    nen Профи форума

    Непонятно, какое отношение имеет Ретранслятор сигналов к Советнику.
    У Советника основная функция - торговать.

    Всякие коллективные штучки давай отодвинем на потом. Я даже индивидуальной торговли на большом временнОм интервале не видел ни у кого прибыльной. Все больше общие рассуждения, пожелания, хвастовство, либо заманухи... Можно какое-то время питаться иллюзиями, Но через некоторое время инстинкт "кушать хочется" побеждает. Либо уходишь туда, где не умрешь с голоду, либо... А тут что-то коллективное. Причем, я пока вижу в этом коллективном только такую составляющую, которая кормит дающего сигналы, безотносительно к тому насколько эти сигналы действительно могут дать прибыль получающему сигналы.
     
  4. Putnik_odessa

    Putnik_odessa Профи форума

    Объясняю, начал с конца, так как это было под рукой.

    А ретранслятор нужен не сколько для коллективной работы, сколько для индивидуальной.
    Не держу деньги на одном счету и никому не советую.

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

    Поэтому установку ордеров, управление ими и транслировавшие считаю неотделимым процессом. Если решать, то решать комплексно, если нет - отдельными частями и так все существует.

    Это ты о чем? О советнике?
    Вопрос о написании поставил ты. Я лишь поддержал.

    Если будем делать, давай обсуждать, что и как.
    Если опять какие-то (откровенно не понятные мне) недомолвки, скрытые претензии - так нужно их решить.
    Писать ТЗ конечно несравненно проще чем программировать, но время просто так терять все равно не хочется.
     
  5. nen

    nen Профи форума

    Это я про ретранслятор.

    Я поставил вопрос про Советник. Надо разобраться с Советником.
     
  6. nen

    nen Профи форума

    Если с Советником все более менее понятно, то с ретранслятором полный ноль. Ретранслятор к Советнику, по крайней мере на начальном этапе, никакого отношения не имеет. Если сейчас думать про Ретранслятор, то... можно ставить и на Советнике крест.

    Если б В самом начале разработки ZUP была поставлена задача получения того, к чему все привело, то ZUP не было бы. И вообще многого не было бы.

    Не надо мешать все в одну кучу.
     
  7. Putnik_odessa

    Putnik_odessa Профи форума

    С этим я согласен, начинать нужно с другого.
    Но я уже ответил, что было под рукой, то сразу и выложил.

    С другой стороны, уже проходили этапы, когда методом проб и ошибок двигались вслепую, как результат излишне все усложняли.
    Теперь можно изначально описать весь круг проблем, а затем уже приступать к решенеию.
     
  8. nen

    nen Профи форума

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

    Putnik_odessa Профи форума

    Режим ручного управления (mode of manual control).

    Типы ордеров открываемых в ручном режиме:

    X и XX - инструменты для открытия рыночных ордеров Buy и Sell без предварительно установленных защитных приказов StopLoss и TakeProfit. Ордер открывается по рыночной цене независимо от координаты цены значка ордера в момент, когда был отпущен значок.
    Для последующей установки любого защитного приказа (StopLoss и TakeProfit) необходимо выделить линию ордера, и при нажатой клавише Ctrl перетащить ее в соответствующем направлении на нужное место. В результате этого события на сервер будет отправлен торговый приказ на модификацию ордера для установки соответствующего защитного приказа.
    Данные приказы могут дублироваться задаваемой пользователем комбинацией клавиш, например: открытия Sell ордера по цене рынка установлены Ctrl+S, для Buy ордера Ctrl+B (Для закрытия ордеров соответственно Alt+S и Alt+B.

    X и XX - инструменты для открытия рыночных ордеров Buy и Sell с предварительно заданными параметрами защитных приказов StopLoss и TakeProfit (значения параметров задаются с помощью внешнего интерфейса настроек и отображаются на ордерных линиях); ордер открывается по рыночной цене независимо от координаты цены значка ордера в момент, когда был отпущен значок.
    Для последующей модификации любого защитного приказа (StopLoss и TakeProfit) необходимо выделить его линию, и перетащить ее на нужное место. В результате этого события на сервер будет отправлен торговый приказ на модификацию ордера для изменения соответствующего защитного приказа.
    Данные приказы могут дублироваться задаваемой пользователем комбинацией клавиш, например: открытия Sell ордера по цене рынка установлены Ctrl+S, для Buy ордера Ctrl+B (Для закрытия ордеров соответственно Alt+S и Alt+B.
    X, XX, X и XX, - инструменты для отложенных открытия ордеров BuyLimit, SellLimit, BuyStop и SellStop с заданными параметрами защитных приказов StopLoss и TakeProfit (значения параметров задаются с помощью внешнего интерфейса настроек и отображаются на ордерных линиях); ордер открывается по цене, на которой отпущен значок ордера.
    Для последующей модификации любого ордера или защитного приказа (StopLoss и TakeProfit) необходимо выделить его линию, и перетащить ее на нужное место. В результате этого события на сервер будет отправлен торговый приказ на модификацию ордера или соответствующего защитного приказа.
    Причем при изменении ордера защитные приказы, связанные с ним, также займут новые места в соответствии с ранее заданными настройками.
    Открытие данных типов ордеров клавиатурными командами не предусмотрено.
    Приказы НА ЗАКРЫТИЕ могут дублироваться задаваемой пользователем комбинацией клавиш, например: закрытие Sell ордера по цене рынка установлены Alt+S, для Buy ордера Alt+B.


    Закрытие ордеров, открытых в ручном режиме:

    1. Закрытие ордеров или удаление защитных приказов, открытых в ручном режиме производится путем выделения их ордерных линий и последующего выполнение команды Delete.
    2. Выполнением команд “Удалить все”, “Удалить позиции BUY”, “Удалить позиции SELL”, выполняемых с «Панели команд (исполнительные инструменты)» вызванной на активный график (Удаляются ордера и защитные приказы только активного графика).
    3. Выполнением команд “Удалить ВСЕ”, “Удалить позиции BUY”, “Удалить позиции SELL”, “Удалить позиции BuyLimit и BuyStop», “Удалить позиции SellLimit и Sell Stop» выполняемых с внешнего интерфейса (удаление ордеров производится на всех графиках при условии предварительно выбора из выпадающего списка валютной пары, если выбор пары не указан удаление происходит на всех инструментах).
    4. Клавиатурные команды (см. типы ордеров).

    Предварительно настраиваемые параметры:
    1. Объем открываемой позиции.
    2. Цена StopLoss = 0, в пунктах относительно цены от открываемой сделки.
    3. Цена TakeProfit = 0, в пунктах относительно цены от открываемой сделки.
    4. Максимально допустимое отклонение от заявленной цены.
    Ордерная линия

    Ордерная линия - это графический объект - горизонтальная линия, покрывающая линию ордера, или защитных приказов: StopLoss или TakeProfit. Каждому типу линии ордера устанавливается определённый стиль линии. Цвет ордерной линии задается в настройках эксперта.
    1. Все типы рыночных ордеров - сплошная линия.
    2. Защитные ордера всех типов TakeProfit - точечная линия.
    3. Защитные ордера всех типов StopLoss - штрихпунктирная линия.
    4. Отложенные ордера все типов - пунктирная линия.
    Все линии ордеров отображаются на графике финансового инструмента с установленным советником независимо от настроек клиентского терминала MetаTrader 4.
    ...​
    P.S. не завершено, в работе
    P.P.S. Принципиально значки и стили линий можно заимствовать из AG, для тез кто привык не будет отличий.

    Практически ничего нового или специфического в выше написанном нет, это как подготовка к следующему разделу.
     
  10. Putnik_odessa

    Putnik_odessa Профи форума

    Ручной режим пока оставляем для корректировки и дополнений, если у кого то они появятся.

    Более усложнять я его не хочу. Ни реверсов, ни "подтяжки" стоп приказов, ничего не хочу в него вводить. Оставить как самый простой и наиболее легко управляемый режим - такие режимы порой и бывают самыми востребованными при оперативном управлении.
    Если его будем усложнять - будем терять оперативность.
     
  11. Putnik_odessa

    Putnik_odessa Профи форума

    Хочу сразу отметить, что активное участие в формирование ТЗ принимают члены клуба: madcatt, sander34, wik, Yury62.
    Не я один являюсь автором этого "творения".
     
  12. Putnik_odessa

    Putnik_odessa Профи форума

    Далее самое интересное Полуавтоматический режим, в котором, как промежуточном этапе перехода к автоматическому, постараемся учесть все требования DML&EWA Technique применительно с совместным использованием ZUP.
     
  13. Putnik_odessa

    Putnik_odessa Профи форума

     
  14. nen

    nen Профи форума

    Смотрел описание AG на http://autograf.dp.ua/index.htm
    AG у себя не устанавливал, поэтому некоторые значки, мне кажется, взяты из специального шрифта. ВОзможно, я в этом ошибаюсь.
     
  15. madcatt

    madcatt Активный пользователь

    Именно так, шрифт себе ставил для корректного отображения
     
  16. Putnik_odessa

    Putnik_odessa Профи форума

    Евгений, предлагаю в ZUP ввести изменение:
    ценовые метки статических и динамических вил выводятся раздельно, а в файл запись разрешается одной командой.
    Запись в файл предлагаю тоже разделить, создав больше места для маневра между визуальной оценкой и работой автоматики - иначе потом предвижу трудности.
     
  17. nen

    nen Профи форума

    Попробую установить AG и некоторое время понаблюдать за его работой. Из описания уже многое понятно. Но надо посмотреть вживую.
    В FxPro, по моему, в любое время его можно установить.

    Советник необходимо делать именно для работы в связке с ZUP (с различными его инструментами) или с вывеленными на график другими способами вилами Эндрюса. И если он в чем-то будет конкурировать с AG - это не главное. То есть задача не ставится прямой конкуренции. Нам надо реализовывать свои идеи, без какой-либо привязки к уже существующим в природе разработкам.
     
  18. nen

    nen Профи форума

    Сейчас же раздельно выводится информация по меткам для динамического режима и для статического. В разные файлы. Какая тут проблема?
     
  19. Putnik_odessa

    Putnik_odessa Профи форума

    Ну в прицепе можно и с этой стороны подойти, потом в советнике считывать ту или иную папку в зависимости от настройки.
     
  20. nen

    nen Профи форума

    Интересное поведение индикатора InputResizer. Поставил его в МТ от Forex4you. Сейчас также открыт терминал от FxPro, в котором этот индикатор не установлен. Но он срабатывает и в терминале от FxPro.

    Знакомиться с работой AG буду ближе к концу июля. Сейчас перехожу в FxPro.
     

Поделиться этой страницей