Универсальный советник - стрелочник

Хранилище собственных творений: индикаторы, скрипты, советники, в общем, все, на что муза вдохновила. Так же полезное ПО, взятое из открытых источников в Интернет.
Бонус за сообщение 0.4$
Ответственный Модератор - Рэндом

Универсальный советник - стрелочник

Сообщение Kalkin » 03 сен 2015, 11:12

Есть масса индикаторов, которые выдают торговые сигналы в виде стрелочек или других объектов. Первый взгляд на такие индикаторы просто завораживает, т.к. обычно стрелку вверх (для покупок) рисуют ниже ценового уровня, а стрелку вниз (для продаж) - выше ценового уровня. А как проверить работу сигналов индикатора в реальном времени?

Прежде всего должен упомянуть о нескольких способах задания индикаторами торговых сигналов:
1. В виде индикаторных буферов. Доступ к сигналам индикатора из советника может быть выполнен путем вызова функции iCustom(...), в параметрах которой необходимо указывать номер интересующего буфера индикатора.
Ярким представителем семейства таких индикаторов есть индикатор StopReversal:

Номера индикаторных буферов можно посмотреть хотя бы в окне свойств на вкладке "Цвета".

2. В виде объектов. Их можно выделить мышкой, перетащить в другое место и посмотреть свойства:
(Битое изображение)
Для доступа к сигналам необходимо проверять объекты и находить с требуемыми свойствами. Нас будет интересовать имя объекта на вкладке "Общие" и код значка на вкладке "Параметры".
Для начала для второго варианта сигналов индикаторов предлагаю вниманию сообщества универсальный советник, который будет следить за появлением стрелок на графике цены и открывать/закрывать позиции. Таким образом можно будет легко подключить к работе большую часть индикаторов второго типа.
Параметры советника:
Код: выделить все
input string S1               = "#### Настройки торговли";
input double Lot                    = 0.1;      // Рабочий лот
input bool   AllowBuy               = true;     // Разрешение покупок (BUY)
input bool   AllowSell              = true;     // Разрешение продаж (SELL)
input int    StopLossPips           = 500;      // Stop Loss в пунктах
input int    TakeProfitPips         = 1500;     // Take Profit в пунктах
input int    SignalShift            = 1;        // Номер бара, на котором появляется сигнал (>0)
input bool   CloseOnReverce         = true;     // Закрывать открытую позицию при обратном сигнале
input string PartNameArrowBUY       = "";       // Имя (или часть имени) для стрелки на покупку
input int    ArrowCodeBUY           = 233;      // Код стрелки на покупку
input string PartNameArrowSELL      = "";       // Имя (или часть имени) для стрелки на продажу
input int    ArrowCodeSELL          = 234;      // Код стрелки на продажу
input string S6               = "---------------------------------------------------------";
input string S7                     = "#### Настройки защиты прибыли";
input int    WithoutLossAfterPips   = -1;       // Перевод в безубыток через пунктов (-1 без перевода)
input int    WithoutLossPips        = 10;       // Величина безубытка в пунктах
input int    TrailingAfterPips      = -1;       // Начинать трал после пунктов (-1 без трала)
input int    TrailingPips           = 100;      // Величина трала в пунктах
input string S8               = "---------------------------------------------------------";
input string S9               = "#### Настройки для трендового фильтра (Moving Average)";
input bool   OnTrendMA        = false;          // Использовать фильтр тренда на MA
input int    PeriodMA         = 300;            // Период:
input int    ShiftMA          = 0;              // Сдвиг:
input ENUM_MA_METHOD MethodMA = MODE_EMA;       // Метод МА:
input ENUM_APPLIED_PRICE AppliedMA = PRICE_CLOSE; // Применить к:
input int    MagicNum               = 10000;    // Магический номер


Пример.
Есть некий индикатор (неважно название), который выдает сигналы в виде стрелок-объектов.:
(Битое изображение)
Анализируя эти объекты, выясняем, что их название всегда содержит символы "PZAR", а коды значков для покупок равны 233 и для продаж 234. В таком случае, в параметры советника необходимо внести:
Код: выделить все
Имя (или часть имени) для стрелки на покупку = PZAR
Код стрелки на покупку = 233
Имя (или часть имени) для стрелки на продажу = PZAR
Код стрелки на продажу = 234

Остальные параметры, думаю, интуитивно понятны.
Вложения
kalkin_ArrowTrade.ex4
(29.98 KB) Скачиваний: 317
Аватар пользователя
Kalkin
 
Сообщений: 1589
Зарегистрирован: 05 мар 2015, 06:51
Средств на руках: 108.80 Доллар
Награды: 2
Ветеран I (1) Медаль за научный вклад (1)
Группа: Базовая
Благодарил (а): 633 раз.
Поблагодарили: 1190 раз.
Ace Register Votive

Универсальный советник - стрелочник

Сообщение Haos » 03 сен 2015, 14:54

О-о-о... это может быть гемор еще тот! :du_ma_et: Как минимум стрелочки с разными кодами есть (большие стрелки и маленькие). Также только перебором можно понять через какой буфер эти стрелки индюк выдает на график. Также множество индюков перерисовываются. Да и вообще так и так не будет "чудо-индюка", а если он скомпеллирован, то вообще грош ему цена - только заморочка одна, а если не скомпеллирован, то код виден и стрелки вообще пофиг.
Но за сов. спс. может кому-то будет полезен (кто в стрелочки верит :hi_hi_hi: ).
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Универсальный советник - стрелочник

Сообщение Kalkin » 03 сен 2015, 16:53

Haos писал(а):О-о-о... это может быть гемор еще тот! :du_ma_et: Как минимум стрелочки с разными кодами есть (большие стрелки и маленькие).

Да, и для этого в советнике есть параметры для указания кодов.

Haos писал(а):Также только перебором можно понять через какой буфер эти стрелки индюк выдает на график.

Этот советник работает со стрелками-объектами. По поводу буферов ещё будет разговор, но попозже :-): Будет разновидность сова и скорее всего, выложу шаблон с открытым кодом. Посмотрим, как с этим работа пойдет. Может, оно и не надо никому?..

Haos писал(а):Также множество индюков перерисовываются. Да и вообще так и так не будет "чудо-индюка", а если он скомпеллирован, то вообще грош ему цена - только заморочка одна, а если не скомпеллирован, то код виден и стрелки вообще пофиг.
Но за сов. спс. может кому-то будет полезен (кто в стрелочки верит :hi_hi_hi: ).

Да, и как раз такие типы советников помогут людям, не знакомым с программированием, протестировать эти самые "чудо-индюки".

В дальнейшем в этой ветке я планирую в первую очередь проводить тест индикаторов 2-го типа, а затем плавно переходить к 1-му типу и новому шаблону (индикаторов 1-го типа на порядок больше). Типы индикаторов (буферные и объектные) расписаны в первом посте.
Аватар пользователя
Kalkin
 
Сообщений: 1589
Зарегистрирован: 05 мар 2015, 06:51
Средств на руках: 108.80 Доллар
Награды: 2
Ветеран I (1) Медаль за научный вклад (1)
Группа: Базовая
Благодарил (а): 633 раз.
Поблагодарили: 1190 раз.
Ace Register Votive

Универсальный советник - стрелочник

Сообщение Kalkin » 06 сен 2015, 12:05

Первый индикатор - с громким названием FOREX INVINCIBLE SIGNAL. Индикатор выдает сигналы на пробой минимума/максимума за последние 5 (настраивается) дней. На текущем баре индикатор перерисовывается, но зато на сформировавшемся - не перерисовывает, что добавляет ему бонусов для использования.
FOREX INVINCIBLE SIGNAL.jpg

Как видно в свойствах объектов, стрелка вверх имеет в имени символы "BS", код стрелки 233; стрелка вниз имеет в имени символы "SS", код стрелки 234. Значит, в параметры советника вносим:
Код: выделить все
Имя (или часть имени) для стрелки на покупку = BS
Код стрелки на покупку = 233
Имя (или часть имени) для стрелки на продажу = SS
Код стрелки на продажу = 234

В период флета индикатор может выдать серию сигналов вверх/вниз, но как правило, последний сигнал получается в нужную сторону, что позволяет входить в длительные тренды. Исходя из этого, имеет смысл не обрезать прибыль, а дожидаться, когда профит превысит предыдущую убыточную серию.
Вложения
FOREX INVINCIBLE SIGNAL.ex4
(21.14 KB) Скачиваний: 115
Аватар пользователя
Kalkin
 
Сообщений: 1589
Зарегистрирован: 05 мар 2015, 06:51
Средств на руках: 108.80 Доллар
Награды: 2
Ветеран I (1) Медаль за научный вклад (1)
Группа: Базовая
Благодарил (а): 633 раз.
Поблагодарили: 1190 раз.
Ace Register Votive

Универсальный советник - стрелочник

Сообщение Kalkin » 07 сен 2015, 08:30

Теперь будем немного развивать советник. Как видно по тестам, в период флета происходит основная масса потерь, так как стрелки с большой частотой сменяют друг друга. Бороться с таким явлением можно, используя отложенные стоповые ордера, которые будут активироваться не при каждом чихе, а когда цена действительно пошла в нужном направлении.
Например, на этом участке получается одина убыточная сделка, а не пять, которая к тому же впоследствии с лихвой перекрывается прибыльной:
StopPend.jpg

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

В параметрах советника добавлено:
Код: выделить все
input bool   UseStops               = false;    // Использовать отложенные стоповые ордера вместо рыночных
input int    DistanceStopsPips      = 50;       // Отступ в пунктах для выставления стоповых ордеров
input int    ExpirationStopsInBars  = 10;       // Время жизни отложенного ордера в барах


Кроме этого, в советнике устранена ошибка трала и перевода в б.у. позиций на продажу при отсутствии первоначального стоп-лосса.
Вложения
kalkin_ArrowTrade.ex4
(38.18 KB) Скачиваний: 157
Аватар пользователя
Kalkin
 
Сообщений: 1589
Зарегистрирован: 05 мар 2015, 06:51
Средств на руках: 108.80 Доллар
Награды: 2
Ветеран I (1) Медаль за научный вклад (1)
Группа: Базовая
Благодарил (а): 633 раз.
Поблагодарили: 1190 раз.
Ace Register Votive

Универсальный советник - стрелочник

Сообщение Lyuda Ponomaryova » 18 авг 2016, 09:50

довольно интересно))
Последний раз редактировалось Рэндом 18 авг 2016, 10:28, всего редактировалось 1 раз.
Причина: .
Аватар пользователя
Lyuda Ponomaryova
 
Сообщений: 1
Зарегистрирован: 18 авг 2016, 08:09
Средств на руках: 0.00 Доллар
Группа: Новые пользователи
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Универсальный советник - стрелочник

Сообщение Volopri » 28 авг 2016, 08:47

интересно такое испытать самому)
Последний раз редактировалось Рэндом 28 авг 2016, 08:58, всего редактировалось 1 раз.
Причина: .
Аватар пользователя
Volopri
 
Сообщений: 6
Зарегистрирован: 28 авг 2016, 08:35
Средств на руках: 0.00 Доллар
Группа: Новые пользователи
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Универсальный советник - стрелочник

Сообщение spartak » 21 сен 2016, 09:43

Решил по тестировать, пока без машки, посмотрю как будет вести себя сов. потом и машку включу для отсева лишних ордеров.Кстати, какой рекомендуемый тайм, или без разницы,?Просто что бы ждать меньше сигналы решил на м15 попробовать торговать им.
Аватар пользователя
spartak
 
Сообщений: 4630
Зарегистрирован: 24 апр 2015, 11:24
Средств на руках: 23.30 Доллар
Награды: 2
Ветеран I (1) Медаль за эрудицию (1)
Группа: Базовая
Благодарил (а): 930 раз.
Поблагодарили: 596 раз.

Универсальный советник - стрелочник

Сообщение spartak » 22 сен 2016, 04:48

Сигналы поступают, а входа нету, при этом с левой стороны меню советника отображается, а у меня оно скачет, постоянно то есть. его нету просто мигает и все.
Вложения
индюк.png
Аватар пользователя
spartak
 
Сообщений: 4630
Зарегистрирован: 24 апр 2015, 11:24
Средств на руках: 23.30 Доллар
Награды: 2
Ветеран I (1) Медаль за эрудицию (1)
Группа: Базовая
Благодарил (а): 930 раз.
Поблагодарили: 596 раз.

Универсальный советник - стрелочник

Сообщение spartak » 30 сен 2016, 14:09

Что то ка кто он не торгует, может не то делаю, но сова не открыла не одной сделки, надеюсь я правильно понял, что сов открывает по индикатору ордера.?
Аватар пользователя
spartak
 
Сообщений: 4630
Зарегистрирован: 24 апр 2015, 11:24
Средств на руках: 23.30 Доллар
Награды: 2
Ветеран I (1) Медаль за эрудицию (1)
Группа: Базовая
Благодарил (а): 930 раз.
Поблагодарили: 596 раз.


Вернуться в Творческая мастерская

Кто сейчас на форуме?

Сейчас этот форум просматривают: Haos и гости: 62

Права доступа к форуму

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения