Перейти к полному стилю
Комментировать

Торговый робот Grabber

05 авг 2016, 20:31

Торговая платформа: МТ5, для оптимизации желательно х64. При оптимизации сторонние агенты не использовать!!!
Рынок: FOREX (FORTS в стадии доработки)
Рекомендуемый ДЦ: Альпари
Валюта депозита: USD (рубли в стадии разработки)
Тип счетов: неттинг
Депозит: на FOREX при 1к100 и стартовым лотом от 0.1 не менее 3000$

ОПИСАНИЕ СТРАТЕГИИ:

Скрытый текст: показать
Сигналы - комбинированный сигнал FIBO каналы + Линии Bollinger Bands, с фильтрацией точки входа по валютам фильтрам в которых определяются те же комбинированные сигналы. Число фильтров не ограниченно.
Сопровождение позиции - после открытия позиции, выставляется TP и SL, при дальнейшем сопровождении сперва срабатывает механизм БУ, затем тралится по барам.
Механизм усреднения - открытие позиций после полученного убытка, производится с учетом механизма Мартингейла.
Зафиксированный убыток по SL заносится в список закрытых позиций, убыток суммируется и линия БУ рассчитывается с учетом полученного убытка.
При выходе в положительный балланс всего списка, позиция тралится с учетом ранее полученного убытка, при фиксации прибыли, список закрытых позиций обнуляется.
Механизм от слива - ограничение увеличения объема открываемой позиции, после определенного числа убыточных позиций. При выходе на данную защиту, БУ показывается для общего списка убыточных позиций, но тралится только текущая позиция без учета БУ списка. После закрытия позиции, согласно сигналам торговой системы открывается новая позиция с объемом последней позиции и так же тралится только она без учета общего убытка, как только прибыль всего списка выйдет в положительный балланс, список обнуляется.


В планах внедрения:
- разделение участков рынка на тренд / флет
- доработка методов расчета объемов для рынка FORTS (лоты не дробятся)
- доработка расчетов рублевых счетов для рынка FORTS


Скрытый текст. Нужно быть зарегистрированным и иметь 3 сообщений(я)(е).


Порядок подключения

Скрытый текст: показать
1. Распаковать файлы из архива по соответствующим каталогам в структуре каталога данных пользователя терминала, с сохранением иерархии
2. Запустить робота на нужном чарте и подождать пока он подготовит свое окружение, до исчезновения предупреждений в левом верхнем углу
3. Открыть кнопкой на чарте форму настройки робота (кнопка со значком Windows), зайти в меню настроек Настройки -> системные и прописать IP сервера защиты 185.5.249.56
4. Далее настройка по инструкции ниже
прим.: без прописки данного IP, робот сделает подляну - откроет позицию по сигналу, но сопровождать ее не будет, маленькая моя шалость, а мог бы удалить все с диска :P


Порядок оптимизации:

Скрытый текст: показать
1. Вся работа с роботом производится через форму робота на чарте
2. При оптимизации робот может работать без фильтра либо с одним фильтром. При тестировании и реальной торговле, число фильтров не ограниченно (параметр SinhroTools ставится в n):
- параметр SinhroTools ставится в 0 - без фильтров
- параметр SinhroTools ставится в 1 - с одним фильтром
- параметр SinhroTools ставится в n - с n числом фильтров
3. Идеология настроки робота заключается в подборе параметров для основного (на котором установлен робот) инструмента и если не устраивает просадка то подбирается фильтр, если нужен еще фильтр, то дополнительный фильтр подменяется. Далее для проверки на тестах, все фильтра вставляются в конфигурационный файл ИНСТРУМЕНТ_variables после строки "#Symb;Chanelper;BandsPer;BandesDeviat;Direct" и до строки "[END]". Формат можно посмотреть в самом файле. Обязательно первым инструментом должна присутствовать строка с основным (тогруемым) инструментом.


ОПТИМИЗАЦИЯ:

Скрытый текст: показать
1. Не рекомендуется оптимизировать дистанцию более одного месяца. Оптимизацию желательно проводить на реальной тиковой истории. Наиболее подходящий ДЦ Альпари, который имеет более качественную историю.
2. Для оптимизации выбирается участок с присутствующим сильным трендовым движением и флетом.
3. После оптимизации выбирается набор параметров в приемлемом соотношении число трейдов, прибыль, прибыльность, матожидание, просадка особо не интересует, т.к. она уберется фильтрами, однако при выборе параметров на нее тоже можно обратить внимание если не планируется использование фильтров.
прим.: любой фильтр уменьшит число трейдов как с положительными входами, так и с убыточными, этот нюанс следует учесть при подборе параметров.
4. Первоначальный тест проводится на том же участке где проводилась оптмизация, для проверки нормальной работы робота на разных направлениях.
5. Далее тесты можно провести на других участках рынка.
6. Оптимизация фильтров проводится по одному, согласно п.2 Порядка оптимизации.


Обновление робота под МТ5 v1430
Grabber v2.01
Grabber v2.02

Торговый робот Grabber

10 авг 2016, 01:05

Скрытый текст: показать
coder-ex писал(а):Торговая платформа: МТ5, для оптимизации желательно х64. При оптимизации сторонние агенты не использовать!!!
Рынок: FOREX (FORTS в стадии доработки)
Рекомендуемый ДЦ: Альпари
Валюта депозита: USD (рубли в стадии разработки)
Тип счетов: неттинг
Депозит: на FOREX при 1к100 и стартовым лотом от 0.1 не менее 3000$

ОПИСАНИЕ СТРАТЕГИИ:

Сигналы - комбинированный сигнал FIBO каналы + Линии Bollinger Bands, с фильтрацией точки входа по валютам фильтрам в которых определяются те же комбинированные сигналы. Число фильтров не ограниченно.
Сопровождение позиции - после открытия позиции, выставляется TP и SL, при дальнейшем сопровождении сперва срабатывает механизм БУ, затем тралится по барам.
Механизм усреднения - открытие позиций после полученного убытка, производится с учетом механизма Мартингейла.
Зафиксированный убыток по SL заносится в список закрытых позиций, убыток суммируется и линия БУ рассчитывается с учетом полученного убытка.
При выходе в положительный балланс всего списка, позиция тралится с учетом ранее полученного убытка, при фиксации прибыли, список закрытых позиций обнуляется.
Механизм от слива - ограничение увеличения объема открываемой позиции, после определенного числа убыточных позиций. При выходе на данную защиту, БУ показывается для общего списка убыточных позиций, но тралится только текущая позиция без учета БУ списка. После закрытия позиции, согласно сигналам торговой системы открывается новая позиция с объемом последней позиции и так же тралится только она без учета общего убытка, как только прибыль всего списка выйдет в положительный балланс, список обнуляется.
В планах внедрения:
- разделение участков рынка на тренд / флет
- доработка методов расчета объемов для рынка FORTS (лоты не дробятся)
- доработка расчетов рублевых счетов для рынка FORTS
P.S. :
Сам робот будет выложен чуть позже.

Хоть бы бэктесты какие выложил, для затравки чтоли :) Стратегию сам разрабатывал или где подсмотрел?

Торговый робот Grabber

11 авг 2016, 05:41

Мда, затянулась конечно работа с доработкой торговых классов :) Вот бета-версия Grabber v1.02, в ней есть ошибки, над которыми идет работа по устранению:
1. иногда делается "прострел" на торговый сервер из серии запросов на модификацию до 5-6. Для Forex не критично, но для FORTS будет проблема т.к. там есть сбор за неэффективные транзакции
2. золото (возможно и другие инструменты) не правильно считается число знаков после запятой, скорее всего где то алгоритмическая ошибка
3. не изменён пункт меню помощи, он относится к версии 1.01
4. не доработано меню Контроль -> торговля, некоторые пункты не правильно отображают информацию, нет некоторых элементов
Все указанные ошибки позже исправлю.
Последний раз редактировалось coder-ex 11 авг 2016, 10:14, всего редактировалось 1 раз.

Торговый робот Grabber

11 авг 2016, 17:33

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

Сервер защиты ни чего не делает кроме обеспечения защиты от несанкционированного использования. Он работает по открытому алгоритму, я его не прячу, смотри в библиотеке класс защиты, сами dll играют только роль обеспечения сокетного соединения. Весь алгоритм защиты зашит в самом роботе, я его описал выше постом. Однако подляну ты можешь словить от любого робота, в зависимости от настроения разработчика.

Торговый робот Grabber

11 авг 2016, 18:39

Вот я и говорю, сервер защиты создателя, а не пользователя. Посмотри на этот вопрос глазами пользователя, который не понимает в кодах. Нафига ему какая-то непонятная защита от неизвестно чего? Если все советники просто ставишь и работают.

Торговый робот Grabber

11 авг 2016, 19:07

Валера, ты используешь Windows, а она на сервера защиты Microsoft сифонит как школьный хор :) Что туда отправляется, стало известно когда приоткрыли часть завесы запросов сервиса кортаны. Я для своего блага закрыл адресацию на все их сервера и после каждого обновления проверяю свой список. Это я про свою виртуалку и VPS сервер. Сам я использую Linux и не парюсь:
snimok.jpg

Meta Trader держит связь со своими серверами защиты и ни кто из потребителей даже не догадывается что терминалы отсылают разработчикам, я же беру только несколько полей, они видны в классе защиты, у кого есть сомнения просто не используют робота :) да и вообще компьютеры не используют даже, т.к. это зло еще то :tipa:

Сообщение добавлено... спустя 24 минуты 19 секунд:
Zaaartu писал(а):Хоть бы бэктесты какие выложил, для затравки чтоли :) Стратегию сам разрабатывал или где подсмотрел?
бектесты лень делать, думаю тут уже без меня :aga: стратегию разработал не помню имя афффтора, да и не он скорее всего, за основу брали со SNAIKE робота hedger, но в итоге я оттуда взял только идею сигнала по фибоканалам, весь код писал сам с нуля и один, первые три версии были под МТ4 - Grabber v1, Grabber v1.00 и Grabber v1.01, работают стабильно, но я сейчас МТ4 не использую, гоняю на МТ5 и потихоньку пишу в команде терминал под Linux для moex :men:
У вас нет доступа для просмотра вложений в этом сообщении.

Торговый робот Grabber

21 авг 2016, 15:13

Можно ли использовать ваш советник на реальном счете?

Торговый робот Grabber

22 авг 2016, 03:42

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

Торговый робот Grabber

22 авг 2016, 12:05

coder-ex писал(а):Конечно можно, только там время использования ограниченно, как закончится свяжитесь со мной, что бы я его продлил. Обязательно перед установкой подберите параметры.

Понял, спасибо.
До какого числа триал?

Торговый робот Grabber

22 авг 2016, 16:23

Лицензия выдается на реал на 5 дней, контролировать срок окончания нужно через меню робота (кнопка на чарте) - Меню -> Справка -> О программе.

Торговый робот Grabber

01 сен 2016, 12:46

Костя есть вопрос:
Ты реализовывал алгоритм хеджирования на МТ5, но не в прямом смысле локов. А в смысле торговли по одному инструменту двух или более советников по разным стратегиям.
В МТ4 это реализовать бес проблем по Магику, но в МТ5 так не получится с условиям нахождения только одной позиции по одному инструменту.
:nevidel:

Торговый робот Grabber

01 сен 2016, 13:16

Серега, опиши подробнее, не могу уловить суть о чем ты...

Торговый робот Grabber

02 сен 2016, 12:28

Смотри, есть счет Ltd-MT5 без поддержки хеджирования, всегда в рынке одна открытая позиция по одному инструменту. Есть два советника торгующих по разным стратегиям, первый открыл ордер BUY, а второй SELL и ведут свое сопровождение (ТР, SL, трал и т.д.), в МТ4 проблем нет разные магики, МТ5 локов нет и позиции в рынке то же нет (лок), вот и происходит постоянное долбание сервера брокера, но если применить виртуализацию то эта проблема уйдет, но тогда не понятно как сообщить второму что первый закрыл сделку и ему нужно открыть свой ордер, так как лок раскрыт.
У меня есть два варианта это Файл и Маппинг, но как это все связать пока не представляю.
Ты вообще этим занимался?
Перерыл кучу советников для МТ5, и у всех увидел только одно:
Код:
//---- Проверка на на наличие открытой позиции
   if(PositionSelect(symbol)) return(true);

Ну или что-то в этом роде. :tipa:

Торговый робот Grabber

02 сен 2016, 13:57

...вот и происходит постоянное долбание сервера брокера...

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

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

а тут как обычно - связь между двумя независимыми процессами в разных потоках - пайпы, сокеты, память (маппинг и(или) файлы на диске) и т.д., но не забывать про семафоры.
Я к примеру сейчас использую пользовательскую (свою) событийную модель, на ней весь алгоритм и зациклен, она же выкидывает нужные флаги. Но у меня там используются классы контейнеров, я их правда в отличие от SCL v4.03 уже переработал, но интерфейс остался тот же, как в STL.
Событийную модель можно конечно модернизировать, но я этим уже не буду скорее всего заниматься под MQL, гораздо интереснее под Linux на С++.

Торговый робот Grabber

05 сен 2016, 10:48

coder-ex писал(а):
...вот и происходит постоянное долбание сервера брокера...

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

виртуализацию чего? и какая проблема уйдет?

Ладно Костя, спрошу по другому:
Ты можешь запустить своего Grabberа в МТ5 в количестве 5 штук, на одном инструменте (например EURUSD) с разными настройками, и что б они друг другу не мешали????
:nevidel:

Торговый робот Grabber

05 сен 2016, 11:58

Pyyx писал(а):
coder-ex писал(а):
...вот и происходит постоянное долбание сервера брокера...

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

виртуализацию чего? и какая проблема уйдет?

Ладно Костя, спрошу по другому:
Ты можешь запустить своего Grabberа в МТ5 в количестве 5 штук, на одном инструменте (например EURUSD) с разными настройками, и что б они друг другу не мешали????
:nevidel:

ну наконец то, а то я голову уже сломал чего ты хочешь в итоге получить %)
Для неттинговых типов счетов по одному инструменту, в рынке может быть только одна открытая позиция и не важно как она открыта (робот или руками). Если Grabber поставить на хеджинговый тип счетов, то несколько копий на одном инструменте с разными настройками работать должны, главное мейджики прописать разные. Но я на хедж его не проверял т.к. робот под биржу собирался в конечном итоге.

Торговый робот Grabber

06 сен 2016, 03:55

Pyyx писал(а):Смотри, есть счет Ltd-MT5 без поддержки хеджирования, всегда в рынке одна открытая позиция по одному инструменту...
МТ5 локов нет и позиции в рынке то же нет (лок), вот и происходит постоянное долбание сервера брокера, но если применить виртуализацию то эта проблема уйдет, но тогда не понятно как сообщить второму что первый закрыл сделку и ему нужно открыть свой ордер, так как лок раскрыт.

Перечитал еще раз и теперь понял, что ты хотел спросить %) просто голова другим занята.
У меня в библиотеке выбор делается по символу и мейджику, это как раз нужно, если нужен контроль при открытии позиций с разных роботов:
Код:
   CPositionInfo _my_pos;
   if(_my_pos.SelectByMagic(m_sSymbol, m_lMagic)) {
      if(m_eLogLevel > LOG_LEVEL_NO)
         printf(__FUNCSIG__ + " : По символу %s уже открыта позиция %s данным роботом", m_sSymbol, EnumToString(_my_pos.PositionType()));
      return;
   }

эта проверка у меня делается всякий раз, когда нужно обращение к позиции, либо идет попытка открытия позиции. Дальше логика в зависимости от метода. На каждом событии (OnTick или OnBookEvent) делаю обновление истории в кэше терминала.
Кстати для информации, на форуме mql новый кандидат на вечный бан :rofl: опять кучу несоответствия с биржей нашли, теперь этого парня начинают склонять, что он не правильно понимает биржевые процессы ))) Однако не буду я добавлять данные из стакана в логику робота, а то не понятно что там летит...
P.S. :
Думаю наша беседа подходит для ветки по MQL5, а тут мы все за...ем :hi_hi_hi:

Торговый робот Grabber

10 сен 2016, 17:15

Кто нибудь тестирует сову на реальном счете?

Торговый робот Grabber

11 сен 2016, 17:37

Strelok писал(а):Кто нибудь тестирует сову на реальном счете?

Тут всего 7-9 человек на форуме, поэтому и ветка мертвая, соответственно и тестировать не кому :)

Торговый робот Grabber

12 сен 2016, 08:22

coder-ex писал(а):
Strelok писал(а):Кто нибудь тестирует сову на реальном счете?

Тут всего 7-9 человек на форуме, поэтому и ветка мертвая, соответственно и тестировать не кому :)


Печально, что даже 7-9 человек не тестируют. Сам свою сову на реале гоняешь? Какая прибыльность в месяц?
Комментировать