0
Андрей тех.задание на советник написать в этом топике или в новом?
avatar

ID1972

  • 12 января 2018, 20:40
0
Спасибо большое!
avatar

ID1972

  • 12 января 2018, 18:01
0
Андрей здравствуйте. Исправьте пожалуйста выставления без убытка, чтоб соответствовала тех. заданию.
Без убыток на покупку: Если в функциях советника без убыток выставить=0, то по умолчанию советник выставляет без убыток, как только цена дошла до первого уровня сопротивления R1 и первый ордер закрылся по тейк профиту два оставшихся переводятся в без убыток.
Если в функциях советника без убыток указать не ноль, а указать расстояние в пунктах, то без убыток выставляется по пунктам.
Без убыток на продажу: Если в функциях советника без убыток выставить=0, то по умолчанию советник выставляет без убыток, как только цена дошла до первого уровня поддержки S1 и первый ордер закрылся по тейк профиту два оставшихся переводятся в без убыток.
Если в функциях советника без убыток указать не ноль, а указать расстояние в пунктах, то без убыток выставляется по пунктам.
avatar

ID1972

  • 17 декабря 2017, 11:32
0
Андрей здравствуйте. Исправьте, пожалуйста выставление стоп лосса, чтобы соответствовала тех. заданию. Вы сделали стоп лосс выставляется по уровням сопротивления или поддержки по трём разным уровням, а надо чтоб стоп лосс выставлялся по хаю или лоу предыдущего дня все три на одном уровне.
avatar

ID1972

  • 9 декабря 2017, 18:14
0
Это некий фильтр если на открытие дня цена очень близко к уровню пивот на N-расстояние, то ордера не выставляются.
Допустим в этой функции в советнике мы выставили 25 пунктов. А на открытии дня цена от уровня пивот 10 пунктов, значит в этот день ордера не выставляются.
avatar

ID1972

  • 4 декабря 2017, 21:28
0
Спасибо!
avatar

ID1972

  • 1 июня 2017, 22:35
0
Советник своей работой где-то заменяет работу с отложенными ордерами, а где-то действует хитрее… На чарте, на котором запущен данный советник, рисуем горизонтальную или трендовую линию и присваиваем ей название, если хотим открыть BUY ордер — в соответствии с названием Name_BUY_Line или, если SELL, соответственно Name_SELL_Line. Что вы подразумеваете STOP или LIMIT ордер — советник сам разберётся. Если ордер STOP-вый, то ордер будет открыт при пересечении данного уровня, если LIMIT, то советник сначала фиксирует факт пересечения ценой этого уровня, а затем ждёт разворота цены. Работает только с одной линией на графике на котором запущен.
Для чего это нужно — дублировать то, что и так нормально работает? Во-первых, это вселяет в трейдера уверенность, что цена «случайно» не зацепит его отложенный ордер тенью свечи и не развернётся в обратную сторону… Во-вторых, в случае, LIMIT ордеров, ордер будет открыт только после разворота цены. Работа с отложенными ордерами не позволяет настроить очень важный параметр (имхо) — проверку на условия срабатывания в определённый момент (дискретно), а не на каждом тике. Проверка в данном советнике реализована через параметр NewBarInPeriod:
extern int NewBarInPeriod = 1; // <= 0 — работаем на начале периода нового бара, -1 — работаем на каждом тике
Хочу особо подчеркнуть, что графический интерфейс управления ордерами давно и неоднократно прописан программистами, в том числе и в кодах, выложенных в Code Base. Дублировать чужой труд не стояло в моей задаче!!! Для того, чтобы почувствовать разницу открытия ордера при пересечении линии по текущей цене (не однократно реализованное), я вывел в условия как Variant_Send = 0 и вот скрин работы по этим условиям:
а мои условия на открытие ордеров прописаны в Variant_Send = 1 и вот скрин по этим условиям:

Почувствуйте разницу! Я добивался того, чего я добивался (а не отличия с ранее сделанным) — это мой способ уйти от ложного срабатывания\шума (называйте как хотите), который присутствует в любом не линейном процессе.
Что реализовано в данном советнике:
* Открытие рыночных ордеров по линиям на чарте;
* Открытие ордеров по 2-ум настраиваемым тактикам (Variant_Send):
 Variant_Send = 0 — при пересечении уровня открываем по текущей цене ордер по названию линии (как обычный отложенный ордер, только виртуальный);
 Variant_Send = 1 — при пересечении уровня: STOP-ордера открываем по текущей цене, LIMIT открываем после того, как цена развернётся и выйдет за пределы «видимости» уровня (OpenPrice +- Reliable_Area).
** Открытие ордеров по 3-ём настраиваемым тактикам (кроме линий BUY, SELL добавляем тип линий UNI):
 Variant_Send = 0 — при пересечении уровня открываем по текущей цене ордер по названию линии (как обычный отложенный ордер, только виртуальный);
 Variant_Send = 1 — при пересечении уровня: STOP-ордера открываем или после неоднократного пересечения уровня (Time_Validation), или после выхода цены за пределы «видимости» уровня (OpenPice +- Reliable_Area), LIMIT-ордера открываем после разворота цены и выхода её за пределы «видимости» уровня;
 Variant_Send = 2 — при пересечении уровня, а затем выходе цены за пределы «видимости» уровня, открываем ордер по ходу движения цены: если цена пересекла верхнюю границу — BUY, если нижнюю — SELL.
* Открытые ордера имеют свой уникальный номер (MagicNumber);
* Следит за максимальным количеством открытых «своих» ордеров на символе.
** Любое количество линий (уровней). Линии выше цены — UP, линии ниже цены — DW;
** Работа с виртуальными стопами от 1 пп. (и обычные и виртуальные);
** Динамически рассчитываемая «зона видимости» ордера;
* Ведение подробного лога своих действий (отключаемо);
** Анти-реквотная система открытия ордера (многократное повторение при ошибке);
** Звуковое сопровождение событий (отключаемо);
* Контроль ошибок работы кода;
** Трал уровня открытия STOP-ордеров (на откат);
* Трал уровня открытия LIMIT-ордеров;
* MM (v.1.22) — было такое пожелание.
* Работа с «чужими» отложенными ордерами (Integration_ON = TRUE). Советник (v.1.23) считывает информацию с ближайшего к цене отложенного ордера, рисует соответствующую линию, а ордер удаляет.

** Функции, реализованные во второй версии советника (для интересующихся — через личку).
P.S. Для проверки работы советника в тестере реализовано автоматическое рисование линий. И вам ни кто не запрещает вручную в тестере порисовать линии.
P.P.S. Добавил к ранее сделанному:
 добавил (по просьбе) к ранее используемой горизонтальной линии OBJ_HLINE (Variant_Line = 0) и трендовую линию OBJ_TREND (Variant_Line = 1);
 небольшой графический интерфейс (OBJ_LABLE двигаются позволяя останавливать/запускать работу советника, а также переименовывать линию по наименованию Label) — для его работы предпочтительнее запускать советник в цикл (WhileTrade_ON = TRUE);
 после открытия ордера (срабатывания уровня), линия инактивируется, и чтобы её активировать, её нужно сдвинуть;
 по просьбе «не заморачиваться» с названием линий вынес в настройки советника их наименование (Name_BUY_Line и Name_SELL_Line);
 Реализовал просьбу Sancho77 по тралу уровня открытия LIMIT-ордеров (v.1.21).
И вот как это выглядит на графике (красная стрелка «вниз» — это начало работы уровня) (см.нижний рисунок);
 Для реальной торговли не обойтись без MM (для Batuceiro) (v.1.22);
 Добавил возможность работы с «чужими» отложенными ордерами (v.1.23).
 Исправил некоторые неточности (v.1.25).
avatar

ID1972

  • 1 июня 2017, 17:52
0
Спасибо!
avatar

ID1972

  • 9 апреля 2017, 11:49
0
Спасибо!!!
avatar

ID1972

  • 5 апреля 2017, 18:46
0
Андрей может доделаете когда будет больше свободного времени?
avatar

ID1972

  • 11 января 2017, 17:36
0
Андрей спасибо за терпение. Сейчас пин бары распознаёт Buy Stop и Sell Stop уже хорошо. Но пропускает много пин баров, которые подходят под его параметры. Например если в советники в настройках пин бара стоит нос 400 пунктов, а тело 100 пунктов, то советник должен выставлять отложенные ордера везде где нос 400 пунктов и больше, а тело 100 пунктов и меньше. С Уважением!
avatar

ID1972

  • 10 января 2017, 09:57
Начать торговлю с Альпари