Константин

Администратор
Константин!
В технических параметрах Саурона Про есть выбор метода торговли синхронный/асинхронный, можете пояснить что это такое? В инструкции об этом информация отсутствует.
Из справки:
Функция OrderSendAsync() предназначена для проведения асинхронных торговых операций без ожидания ответа торгового сервера на отправленный запрос. Функция предназначена для высокочастотной торговли, когда по условиям торгового алгоритма недопустимо терять время на ожидание ответа от сервера.

Для отправки торговых приказов в языке MQL5 существует две функции — OrderSend() и OrderSendAsync(). На самом деле это две реализации одной функции. Если OrderSend() отправляет торговый запрос и ждет результата его выполнения, то асинхронная OrderSendAsync() просто выстреливает запрос и позволяет работать программе дальше, не дожидаясь ответа торгового сервера.

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

Константин

Администратор
До конца месяца погоняю посмотрю.
Код уже готов, хочу на первом этапе сделать удаление лимитных ордеров и закрытие позиции по отступу от клиринга.
- Смысл в том, чтобы установить к примеру 48 часов до клиринга, за 2 дня до него робот прекращает торговать, принудительно закрывает все ордера и ждет когда трейдер переставит робота на новый контракт.
- Можно сделать что бы эта функция работала через выключатель, не все могут во время переставиться или забыть, а брокер на клиринге спишет все бабло на основной инструмент и потом это бабло через кабинет нужно будет переводить с фондовой на срочную секцию.
- Также можно сделать что бы робот все закрыл, сам пере-установился на новый контракт сменив сам график и начал новую торговлю.
Пока обдумываю как лучше сделать, я люблю сам все перетаскивать когда вижу что валотильность упала из за того что все перешли на новый инструмент, а это может и за неделю произойти.
 

Weather

Пользователь
Конечно лучше в ручную самому переставить робота на новый контракт, да и как забыть то, если уже и на самом графике робот пишет сколько осталось до экспирации, ну а для особо забывчивых напоминалку пускай выдаёт, типа рамочки, пора пора... )))
 

Константин

Администратор
Поймали небольшое упущение в новой версии, по фильтру времени не всегда удаляются лимитки... - в коде нашел где напасть закралась, устраню в следующем обновлении.

В остальных моментах все четко работает, по этому озвучу следующий этап развития алгоритма.
По сути реализовывать его в планах не было, но так сложилось что робота приобретают люди с депозитами 100 т.р. как бы сумма для торговли более чем достаточная, но все же может произойти когда нибудь и кривой вход, вся маржа улетит на поддержание этого входа и придется пересиживать.
- В связи с этим, в планах реализовать дополнительный страховочный алгоритм.
Его суть в следующем.
Весь текущий алгоритм работы остается не измененным, но в блок работы с сеткой лимитных ордеров добавиться еще один алгоритм.
- Нашли плотность ордеров и вошли от нее в позицию SELL
- Сетка по дефолту 50/100
- Ниже у нас широкая, на расстоянии 100 у нас ставиться BUY_LIMIT
- Выше узкая SELL_LIMIT не ставиться.
Но как только цена уходит на расстояние больше 50 пунктов, повторно включается алгоритм поиска плотности ордеров, согласно тому что было настроено на вход, со всеми приблудами фильтрации.
Таким образом, при промахе, в момент когда рынок развернулся, все фильтра так же развернулись, робот не будет увеличивать свою позицию об сетку лимиток, а будет ждать условий по фильтрам + тренду(если включен) будет искать плотность и от нее уже доливать нашу позицию которая промахнулась.

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

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

Weather

Пользователь
Да, сто тысяч достаточно для торговли одним инструментом, можно даже двумя если ГО не очень большое, например можно одновременно торговать фьючем на Газпром и MXI или Сбер и MXI, но в идеале нужен депозит побольше. Сама идея по страховочному алгоритму понравилась, получается что узкая сетка ставится не тупо через столько то пунктов, а по следующему сигналу от плотности, это хорошо при небольшом депо, но возможно уменьшит прибыль, так как сигнал может и поменяться, был вниз, зашли в шорты, а потом как в черный понедельник, резкая движуха, хорошо если в нашу сторону, а если в противоположную? При нынешних параметрах просто наберёт лотность и потом при откате закроется, а тут вся движуха пролетит незаметно. Но идея всё таки интересная, защита небольшого депозита до 100к очень даже актуальна при торговле сеточной версией.
 

Smalex

Пользователь
Усреднение на новом сигнале. Это уже кардинальное изменение алгоритма сопровождения. С одной стороны получается более безопастно, бот не наберёт большой объём, если тренд развернулся, а просто будет пересиживать и ждать разворота. Профит в итоге скорее всего будет меньше, а сигнала придётся ждать неизвестно сколько времени. В сегодняшнем алгоритме сетка набирается быстрее и на откате закрывается, мы имеем больше профита , но и риск более высок.

Мое мнение - идея отличная, но сначала ее нужно проверить.
И обязательно оставить возможность использовать старый алгоритм. Если депо позволяет , старый будет более профитным. А с малым депо - это то что нужно.
 
Последнее редактирование:

Weather

Пользователь
Забыл добавить - я ЗА чтобы в роботе была такая функция, а трейдер пускай сам выбирает алгоритм выставления сетки, обычный по указанным параметрам сетки или защитный...
 

Константин

Администратор
Алгоритм реализован.

2018-05-18_21h09_36.png

Выбираться будет через параметр усреднения.
Так же исправлен фильтрация по времени работы, теперь все четко работает по нему.
Немного усовершенствовал алгоритм расчета, теперь он почти целиком работает по событиям в стакане и быстрее реагирует т.к. если по тикам, то тики могут долго не приходить, но события в стакане всегда динамичны.
Добавил отключаемую линию на график, как бы она мне нужна была что бы видеть где была открыта последняя сделка, что бы ориентироваться, когда цена заедет за нее на выставленный отступ узкой сетки и начнется поиск плотности.
Удалять не стал, как бы полезно знать иногда где что последнее открылось что бы примерно понимать где нулевая точка.

2018-05-18_21h12_53.png

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

Weather

Пользователь
А в процессе торговли можно ли будет менять тип усреднения? Например: перед началом торгового дня выбираем параметр "лимитной сеткой", робот торгует и в итоге наберет 5-6 лотов, можно ли в таком случае поменять тип усреденения на "через плотность"? То есть, получается мы торговали обычной сеткой в надежде побольше заработать, но отката не наступило и чтобы подстраховаться и не набрать ещё кучу лотов, меняем тип усреднения на защитный. Так можно будет?
 

Константин

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

Константин

Администратор

Константин

Администратор
Внимание.
Сегодня у всех трейдеров кто пользуется роботами, в которых на модификацию ордеров используется данный метод
2018-05-21_21h59_01.png
Сыпется данная ошибка, там чего то внедрили новое на бирже и все кричат алярм....
PHP:
2018.05.21 21:21:58.023    Trades    '40947': failed modify order #88866514 buy limit 1.00 SBRF-6.18 at 22539 sl: 0 tp: 0 -> 22628, sl: 0 tp: 0 [Invalid expiration]
К сожалению и Саурона беда не обошла стороной, в нем я так же использую данный метод.

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

Константин

Администратор
Тест от плотности продолжил, но как то он мне не особо нравиться, уж очень долго нужно сидеть иногда что бы заработать свои 100 руб
На скрине методом по сетке могло 2 раза уже сработать и прикрыться, а тут висит и ждет сигнала.
2018-05-21_22h52_11.png
 

Weather

Пользователь
Константин!
Такой вопрос возник, а вы не думали над тем, чтобы в советник встроить ещё и ручной режим сопровождения сетки, ну например как у вас на скрине выше, где советник сигнала ждёт.., как правило трейдер такие уровни и сам неплохо видит от которых возможен откат, вот я и хотел предложить внести ещё и ручной режим работы, то есть не тупо сетка ставиться по выставленным значениям в настройках или по следующему сигналу, а трейдер сам указывает советнику где поставить следующий ордер узкой сетки. Понятно, что такой ордер можно поставить и сейчас, меняя параметры сетки на нужные и удаляя лимитник узкой сетки который был выставлен роботом по параметрам, но как бы это упростить или полу автоматизировать, мне кажется многие кто торгует Сауроном согласились бы со мной, чтобы было бы неплохо иметь возможность торговать через такой режим, и ГО экономит и всегда можно подстроиться под рынок исходя из ситуации на рынке и для небольшого депозита самое то получается и возможно зависшую позу прикроет быстрее без лишнего набора лотности чем тупо по параметрам.
Если мою писанину упростить, то получается - вход от плотности например или вручную, а если промазали, то ждём пока движение против входа приостановиться образуется уровень, ну и ставим там лимитник узкой сетки, если облом и отката не случилось то опять до следующего уровня. Хотелось бы услышать ваше мнение по этому поводу, ну и мнение других трейдеров кто торгует сеткой или собирается ей торговать, норм идея или отстой?
 

Константин

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

Обкатывая новый алгоритм сопровождения входа от плотности, заметил что робот тут пропускает все движение не в нашу сторону и усредняет только на развороте, как бы хорошо, но ему приходиться долго потом подыматься что бы выйти в прибыль.
Сейчас обкатываю вариант, усреднение от плотности, но без участия фильтров, вошли, отошли на расстояние и начали искать плотность... вроде не плохо так идет, при параметре 50, может снизиться на 70-100 и там открыть позицию, в общем может сам растянуть сетку если нет плотностей.
 

Weather

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

Smalex

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

Вложения

Константин

Администратор
На данный момент, нынешняя версия лично меня полностью устраивает, так как настроить робота можно как угодно и под большинство возможных движений, собственно как вы и сказали, если надо, то для полу ручной торговли, он тоже подходит.
Согласен, текущий алгоритм себя показывает очень хорошо, как и планировалось алгоритм целиком и полностью адаптирован под депозит 100к, на котором он чувствует себя как рыба в воде, ну а если депо больше, то там вообще все замечательно, как мне пишут - Это просто сказка...
Глобальные изменения робота позволили использовать меньшую маржу из за отсутствия 3-й лимитки, так же убраны лишние телодвижения по удалению и переустановки лимиток - теперь они просто передвигаются на нужный нам отступ.
Задержка удержания лимиток перед плотностью так же снижает кол-во запросов на сервер и позволяет зайти в рынок.
Расширенный фильтр добавил хорошей точности на вход.
2018-05-25_18h21_56.png

На скрине работа на РТС от плотности 700 - первые 3 сделки
остальные от плотности 500
На РТС вообще шикарно торгует, но депозита для него нужно тысяч 300 минимум т.к. ГО пока 20-ка

Новый алгоритм тестится на реале у меня и друга:
- 2 алгоритма сопровождения
- Сеткой (стандарт)
- Через плотность
Но через плотность будут так же глобальные изменения...
Прошлый озвученный алгоритм не особо себя показал, сопровождение через плотность с фильтром надолго подвешивало сопровождение т.к. нужно было долго ждать разворота, и при развороте по фильтрам был вход, но он может быть очень далеко и придется очень долго ждать выхода в прибыль, если она вообще случиться.
По этому было принято подойти к этому алгоритму более профессионально и дать трейдерам с малыми депозитами более расширенные параметры.
В частности создан отдельный блок по этому алгоритму.
2018-05-25_19h32_23.png

Как видно на скрине, у нас появился новый параметр, -Объем плотности для сопровождения
Получается такая картина.
Робот вошел в рынок от плотности 500, но сопровождаться он будет от плотности 1000... Как только цена спуститься на 20п ниже узкой сетки от последнего открытого ордера, робот будет искать плотность 1000.
- Это дает огромные преимущества сопровождаться с более точным входом т.к. цена в основном летит по тренду вынося чьи то стопы или же людей которые считают что на каком то уровне будет откат, вот на таких уровнях - стопах всегда стоят большие плотности и можно увеличив Объем их определения сопровождаться чисто по ним, а не по всплескам во время тренда.
Посмотрим погоняем во всех ракурсах, если теория совпадет с практикой, данный тип будет внедрен, дополнительно к основному.
 

Константин

Администратор
Сверху