Здравствуйте, уважаемые Forex трейдеры!
Представляем вашему вниманию уникальный безиндикаторный советник Setka TLP, разработанный активными участниками нашего форума. Этот советник является самым совершенным сеточным роботом с совершенно фантастическими возможностями настройки параметров торговли, убедительными тестами и отличным независимым мониторингом. Несколько лет разработки, бессонные ночи и тысячи человеко-часов оттачивания алгоритма до совершенства. Все это было не зря.
В данном обзоре мы рассмотрим логику работы советника Setka TLP, его настройки, протестируем на рекомендованных авторами валютных парах и оценим полученные результаты, а также рассмотрим дополнительные утилиты, упрощающие работу с экспертом. Итак, приступим!
СОДЕРЖАНИЕ
1. Команда разработчиков советника Setka TLP
2. Характеристики советника
3. Справка по установке
4. Ой, как много текста, я вам что — Конфуций? Можете суть в 2 словах рассказать?
5. Стратегия советника Setka TLP
6. Важные нюансы и рекомендации по настройке
7. Бэктесты советника
8. Мониторинги
9. Описание настроек советника
10. Рекомендуемый мани-менеджмент
11. Дополнительные утилиты
12. «Модель»
13. «Модель + Анализатор торгов»
14. Индикатор CandlesSingleAverageStatistics 1.7.1ind
15. CandlesSingleAverageStatistics.xlsx
16. Setka — InfoPanel
17. Описание настроек индикатора InfoPanel
18. Итоги
19. «И что мне со всем этим делать?»
20. Скачать советник Setka TLP и дополнительные утилиты
21. Тема на форуме
Команда разработчиков советника Setka TLP
Советник Setka TLP – результат коллективного труда наших форумчан!
- Qj – инициатор и программист, мастер исходного кода;
- Старик – главный идеолог проекта, главный редактор, вождь;
- nixxer – тестирование, анализ;
- ilnur17021992 – разработчик сетов, модов советника, сторонних утилит;
- jocker – разработчик модов и сетов;
- корнет – тестирование, поиск багов;
- EG10 – тестирование, поиск багов;
- pegaskrs – разработчик сетов;
- The NorD – анализ, объективная критика, тестирование;
- DENYA – тестирование, поиск багов;
- va40pud – тестирование, поиск багов;
- Drew – разработка сетов, утилит;
- usver73 – разработка сетов, анализ рынка;
- Monroff – тестирование;
- master_255 – разработка сетов;
- maxand – разработка сетов, идеолог многосеточной торговли;
- NeonIX – тестирование;
- Chex – разработка сетов;
- xFalcon – тестирование;
- Роман26rus – разработка сетов;
- cakrani – разработка сетов;
- Trix – разработка сетов;
- chinch19 – тестирование сетов со стопами;
- Ent – тестирование;
- Oleg Snegov – тестирование, поиск багов.
Характеристики советника
Платформа: Metatrader 4
Версия советника: 1.43
Валютные пары: любые (в соответствии с сетами)
Таймфрейм: не имеет значения
Время работы: круглосуточно (возможны фильтры по времени работы)
Рекомендуемые брокеры: Roboforex, Forex4You, Exness, FortFS
Справка по установке
Советник устанавливаем как обычно. Если вы впервые столкнулись с роботами на Forex и у вас куча вопросов, – качайте и смотрите бесплатный курс Форекс на Автопилоте.
Внимание! Так как советник является потенциально опасным, обязательно прочитайте статью об основных принципах торговли роботами, основанными на усреднении.
Не забудьте загрузить пресеты для оптимальных настроек.
Ой, как много текста, я вам что – Конфуций ? Можете суть в 2 словах рассказать ?
6 лет тому назад, в недрах нашего форума возникла идея – создать хороший советник. Которая потом переросла в идею создать не просто советник, а непобедимого робота, которому нипочем любые колебания рынка, черные лебеди и прочие Армагеддоны.
И вот, долгими зимними вечерами, на протяжении многих лет шла работа. Тестировались и отбраковывались сотни идей, порой начинало казаться, что рынок не победить, но…. как известно даже вода камень точит. И в результате тысяч тестов, проб, ошибок и усовершенствований, родился робот, способный противостоять гигантской машине под названием Forex.
Робот получился сложным, с огромным количеством настроек, чтобы при желании обработать любую ситуацию на рынке, либо выступить вспомогательным инструментом для превращения вашей стратегии в безубыточную (да, так бот тоже умеет). И т.к. бот сложный в нем нужно разобраться.
И тут есть два пути:
- Путь воина
Изучить сам бот, ветку на форуме (ссылка в конце поста), вспомогательные утилиты и стать Мастером сеток. Это даст вам без преувеличения, самое совершенное оружие в борьбе с рынком, которое вы сможете еще и настраивать в зависимости от состояния рынка и личных задач по прибыльности.
Этот путь долгий, но оно того стоит.
- 2. Путь монаха
Установить советник на VPS, соблюдая рекомендации по мани-менеджменту (см. далее) загрузить сеты из архива, периодически проверяя что все работает, дать роботу работать и не вмешиваться в его торговлю.
Этот путь проще, он не требует продвинутых навыков в робо-торговле, но он тоже имеет право на жизнь и в результате вы получите что-то подобное нашему мониторингу в роботесте:
Что тоже, согласитесь, не плохо. В принципе вы можете начать с этого варианта, а затем постепенно перейти на Путь воина, описанный выше.
Большинство информации в данном обзоре посвящено Пути воина. Поэтому, если вы пока не готовы – можете просто скачать советник и установить сеты из архива.
Стратегия советника Setka TLP
Советник “Setka TLP” относится к торговым роботам, использующим в работе сетку ордеров и увеличение лота при убытках, т.е. использует стратегию мартингейла.
Советник “Setka TLP” начинает торговать, используя фильтры для открытия первого ордера. В обычном случае советник просто ждёт, чтобы на выбранном тайфрейме появилось три свечи (по умолчанию три, но можно поменять в настройках) в одном (любом) направлении, и сразу после этого ставит начальный ордер на buy или sell .
⇒Таким образом, для начала торговли не используются какие-либо индикаторы, расчёты или стратегии.
Итак, если фильтры позволяют, то ставится ордер с тейк профитом, но без стопа, а затем, в случае движения цены в направлении, противоположном входу, выставляется серия ордеров с фиксированным расстоянием между ними (так называемая сетка ордеров, из-за чего роботы с таким принципом работы называют сеточниками). Ордера в сетке открываются лотами, каждый последующий из которых умножается на заранее заданный множитель. Советник ждёт откат цены, при котором закрывает серию ордеров с профитом, и цикл повторяется – проверка фильтров открытия первого ордера, выставление первого ордера, и т.д.
Советник умеет торговать сетками единовременно в двух направлениях – сетки строятся и на покупку (buy), и на продажу (sell).
Пример работы советника:
⇒Особенностью советника “Setka TLP” являются весьма широкие настройки торговли:
1) большое количество фильтров первого входа (безиндикаторный – если цена сформировала указанное вами количество однонаправленных свечей подряд, спреда, волатильности, по просадке, от импульса цены, от мартин-гэпа, по количеству одновременно торгуемых валютных пар, по количеству открытых ордеров, по времени открытия);
2) Использование множителя лота может начинаться в произвольно заданном номере (колене) сетки;
3) Возможность корректировки структуры сетки. Советник “Setka TLP” может корректировать:
3.1) Геометрию сетки – добавление либо уменьшение длины между коленами после заранее определённого номера колена. Предусмотрено три независимых друг от друга уровня корректировки сетки, т.е. три заданных колена, каждый со своим корректирующим значением длины между ордерами. Корректировка считается относительно первоначального шага между ордерами в сетке. Величина корректировки длины может быть положительной либо отрицательной величиной и выражается в 4-значных пипсах.
3.2) Множители сетки – увеличение либо уменьшение множителя после заранее определённого номера колена. Предусмотрено три независимых друг от друга уровня корректировки множителей сетки, т.е. три заданных колена, каждый со своим корректирующим значением множителя для величины лота последующего ордера. Корректировка представляет собой число, которое прибавляется к первоначальному множителю. Величина корректировки множителя может быть больше либо меньше нуля.
⇒Корректировки геометрии сетки и множителей сетки являются абсолютно независимыми друг от друга.
4) Корректно обрабатываются импульсы цены и разрывы в котировках(гэпы). При торговле после импульса цены либо гэпа могут применяться: либо увеличенный рыночный пост-гэповый ордер, либо выставление отложенных ордеров на непроторгованном участке графика, соответствующих ордерам сетки, как если бы гэпа не было. Способность советника к корректной торговли после импульса или гэпа обеспечивается алгоритмом, не имеющим аналогов в других советниках.
5) Возможности принудительного закрытия ордеров сетки до достижения расчётного тейк профита – по величине плавающей прибыли, по величине просадки, по заданному времени закрытия торгов.
6) Сетки на покупку (buy) и на продажу (sell) могут иметь разные настройки, что позволяет торговать асимметричными сетами.
Внимание! В данном советнике настройки очень сильно влияют на результаты торговли, и если Вы не разрабатываете свои сеты, то используйте рекомендуемые set-файлы (см. архив в конце данной статьи).
Важные нюансы и рекомендации по настройке
- Бот работает потиково и не зависит от ТФ графика, к которому прикреплен. ТФ свечей, которых бот может анализировать в ходе работы, вы явно задаете в настройках бота. Это полностью реализовано в коде бота.
Однако практика показывает, что МТ4 в разных ДЦ не всегда корректно выдает информацию о свечах разных ТФ, в связи с чем весьма рекомендуется торговать ботом и тестировать бота только на том ТФ, который вами задан в настройках блока безиндикаторного входа.
- Также не рекомендуется часто переключать ТФ графика, к которому прикреплен бот – потому что каждое переключение ТФ графика бота приводит к немедленному прерыванию работы бота и рестарту бота «с нуля» с выполнением массы работы, включая распознавание и полный пересчёт имеющихся сеток ордеров.
Поэтому, если вам надо часто переключать ТФ на валютной паре, на которой торгует бот, крайне рекомендуется открыть еще один график торгуемой ботом валютной пары и переключать ТФ там, не дергая бота без дела.
Бот спроектирован для круглосуточных автоматических торгов без вмешательства человека – но с учетом максимального количества ваших пожеланий/предпочтений и вариантов торговых распоряжений.
- В полуавтоматическом режиме допустимо использование бота для сопровождения сеткой (в т.ч. усреднение) одного рыночного/отложенного ордера, открытого/выставленного вами по вашей ТС вручную/скриптом или другим ботом.
Для этого надо указать S_OpenFirstOrder=false и/или B_OpenFirstOrder= false и, в настройках бота, описать какая сетка должна сопровождать ваш рыночный (или, после активации, отложенный) ордер.
(Пока выставление отложек возможно только при GapControl=0 – отключенном контроле/обработке гэпов/импульсов цены.)
Допустимо даже, что первый ордер одной сетки (например, sell) будет открываться ботом в автомате по свечам – а первый ордер второй сетки (например, buy) вы будете открывать/выставлять сами вручную или другим ботом.
- Все настройки сеток в пипсах задаются (пока) только целыми числами в 4-хзначных пипсах (старые пункты) . Бот автоматически пересчитывает настройки в пипсах под конкретный счет.
Если вы укажете, что первый шаг сетки равен 16, то для 5-тизначного счета бот в расчетах будет использовать значение 160.
Это касается абсолютно всех параметров в пипсах.
- Все цифровые настройки sell и buy сеток полностью раздельны/независимы и могут быть радикально различными – как по геометрии сеток, так и по математике/рискам.
Вплоть до того, что: лоты одной сетки могут быть фиксированными, а другой динамическими согласно ММ – и/или, например, лоты ордеров sell и buy сеток могут вычисляться по двум радикально альтернативным алгоритмам.
- Допустимы торги нескольких копий бота на нескольких графиках одной валютной пары при условии, что у каждой копии бота на всех графиках одной валютной пары будут разные MagicNumber.
Однако опции управления мультивалютными торгами такие мультиторги нескольких копий бота на одной валютной паре пока «не видят» и считают, что на одном графике/паре торгует лишь одна копия бота, а не несколько.
Базовый публичный бот пока безиндикаторный.
- В автоматическом режиме торгов бот открывает первый ордер sell или buy сетки, если цена сформировала указанное вами количество однонаправленных свечей подряд – и нет иных ограничений/запретов на открытие первого ордера сетки.
Все настройки и часть фильтров условий автоматического открытия первых ордеров сеток явно задаются вами в блоке безиндикаторного входа.
Настройки позволяют задавать огромное количество вариантов условий для открытия первого ордера сетки.
- В полуавтомате (S_OpenFirstOrder=false и/или B_OpenFirstOrder= false) блок безиндикаторного входа отключен, но бот готов к работе и ждет от пользователя первого ордера сетки, адекватного/отвечающего заданным в боте настройкам.
При CandlesToOpen1Order=0 блок безиндикаторного входа отключен – а бот открывает первый ордер сетки «где стоит» немедленно после закрытия сетки по ТР без какого либо контроля условий для открытия первого ордера сетки.
- Бот имеет теоретически полные наборы планировщиков торгов и управления торгами в зависимости от просадки, а также опции управления мультивалютными торгами, фильтры спрэда и волатильности и разное нужное другое.
Совокупность порознь простых и понятных опций бота позволяют проектировать и проводить чрезвычайно сложные ординарные и мультивалютные торги, частично или полностью невозможные в иных ботах.
Бот имеет оригинальную систему обработки импульсов цены и мартин-гэпов (разрывов цены или пропуска торгов на части графика) любой длительности/размера и природы.
- На текущий момент реализовано 2 принципиально разных варианта обработки ботом импульсов и мартин-гэпов любых размера и природы – увеличенным первым после гэпа (постгэповым) ордером или выставлением отложек на непроторгованном участке графика.
- Реализованные в боте алгоритмы выставления отложек на непроторгованном участке графика авторские, близких аналогов мы не видели – и, в большинстве случаев, они эффективно обрабатывают мощные новостные импульсы и даже длительную потерю связи.
- Бот имеет ряд параметров, позволяющих существенно более достоверно и сопоставимо тестировать и оптимизировать как обычные, так и экзотические сэты на обычных депо или микро депо-камикадзе – в т.ч. с фиксированным лотом.
- Опция CloseAllOrders_ByDDMoney, заданная равной начальному депо, имитирует постоянный вывод прибыли и позволяет тестировать торги с малым депо-камикадзе, а также корректно выполнять тесты с фиксированным лотом за сколько надо лет.
- Опция FinalGridDate=ГГГГ.ММ.ДД ЧЧ:ММ запрещает открывать новые сетки с указанной даты и времени, что позволяет завершать тесты без зависших, принудительно закрываемых сеток – что существенно повышает эффективность оптимизации сэтов.
- К боту прилагается точно соответствующая боту модель в эксель, позволяющая выполнить высокоточный «зрячий» анализ задаваемых вами настроек сеток и достоверно вычислять депо, минимально необходимый для планируемых вами торгов.
Модель мгновенно выполняет анализ задаваемых вами настроек сетки для конкретных пары и счета и выдает в т.ч. критично важные для торгов данные, которых в тестере стратегий терминала нет и не будет.
⇒Бот [EA] – Setka TLP распространяется на условиях GNU GPL3.
Согласно условий лицензии, на которых распространяется данное ПО, все доработки ПО и связанные с ПО автономные разработки должны выкладываться в исходном коде.
Итак, в отличие от существующих аналогов, данный робот имеет весьма широкие возможности по настройке параметров:
- советник работает потиково и не зависит от таймфрейма, к которому прикреплён;
- возможность полуавтоматической торговли (сопровождение вручную открытой позиции);
- корректная работа после ценовых разрывов (ГЭПах) любой природы;
- три уровня коррекции сеток;
- отсутствие индикаторов для расчёта чего-либо (в базовой версии);
- фильтр входа по количеству однонаправленных свечей;
- фильтр входа по волатильности текущей свечи заданного таймфрейма;
- фильтры спреда, плеча, частоты открытия ордеров и одновременно торгуемых пар и валют;
- весьма подробные планировщики начала и завершения торгов.
Внимание! Советник “Setka TLP” использует стратегию мартингейла. Рано или поздно произойдет крупный проигрыш, однако, при периодическом выводе инвестиций, теория вероятности работает в нашу пользу. После вывода первоначального депозита опасная стратегия мартингейла сразу становится безубыточной и высокоприбыльной.
Бэктесты советника
Бэктесты сделаны по каждой паре в отдельности, т.к. платформа Metatrader 4 не позволяет проводить мультивалютные тесты.
Серия тестов делается фиксированным лотом. Это позволяет оценивать результаты тестирования без учёта мани менеджмента.
Используются сеты, соответствующие мониторингу в Роботесте.
Setka 1.43 EURUSD 2017 robotestРезультаты теста хорошие
Setka 1.43 GBPUSD 2017 robotest
⇒Обращаем Ваше внимание на то, что в тестах отсутствует т.н. “кочерга”, то есть отсутствует слив депозита, характерный для примитивных роботов с усреднением.
Используя программу EA Analyzer, сделаем сводный стейтмент:
Вывод: Советник Setka при работе на парах EURUSD и GBPUSD показывает стабильный рост прибыли без критичных для депозита просадок.
Мониторинги
Мониторинг реального счёта от Chex (разгонный)
Мониторинг в Роботесте
Описание настроек советника
main_settings
Общие настройки и управление торгами
- TradeSell=true – ( true | false ) ( 1 | 0 ) – разрешить | запретить открывать Sell ордера и выставлять SellStop отложки. Применяется немедленно и действует неограниченно долго, пока вы не прикажете/зададите противоположное. Запрет открывать/выставлять ордера может вводиться/отменяться в любой момент времени и вне зависимости от того, есть или нет ордера на графике;
- TradeBuy=true – ( true | false ) ( 1 | 0 ) – разрешить | запретить открывать Buy ордера и выставлять BuyStop отложки;
- S_OpenFirstOrder=true -( true | false ) ( 1 | 0 ) – разрешить | запретить боту самому открывать первый ордер Sell сетки. Запрет боту открывать первый ордер новой сетки используется:
– при полуавтоматической торговле (тогда первый ордер выставляет трейдер или другой бот) или
– для планового вывода бота из торгов после закрытия сетки по ТР.
Запрет боту открывать первый ордер сетки может вводиться/отменяться в любой момент времени и вне зависимости от того, есть или нет ордера на графике.
- B_OpenFirstOrder=true -( true | false ) ( 1 | 0 ) – разрешить | запретить боту самому открывать первый ордер Buy сетки (аналогично S_OpenFirstOrder) ;
- S_CloseAllOrders=false – ( false | true ) ( 0 | 1 ) – когда вы зададите S_CloseAllOrders = true, то по близкой к текущей цене будут сколь возможно быстро закрыты все Sell ордера и удалены все SellStop отложки.
!!!После применения опции и закрытия всех ордеров Sell сетки вы должны самостоятельно (руками) задать S_CloseAllOrders = false – иначе все открываемые ботом Sell ордера будут ботом же немедленно закрываться!; - B_CloseAllOrders=false – ( false | true ) ( 0 | 1 ) – когда вы зададите В_CloseAllOrders = true, то по близкой к текущей цене будут сколь возможно быстро закрыты все Buy ордера и удалены все BuyStop отложки.
!!!После применения опции и закрытия всех ордеров сетки, вы должны самостоятельно (руками) задать B_CloseAllOrders = false – иначе все открываемые ботом Вuy ордера будут немедленно закрываться!; - S_PauseOnClose=0 – Количество минут запрета открытия первого рыночного ордера Sell сетки после закрытия Sell сетки по ТР. Это временное включение опции S_OpenFirstOrder = false;
- B_PauseOnClose=0 -Количество минут запрета открытия первого рыночного ордера Buy сетки после закрытия Buy сетки по ТР. Это временное включение опции B_OpenFirstOrder = false;
- MagicNumber=1110 – Магический номер ордера – одинаковый № (идентификатор) всех ордеров Buy и Sell сеток данной копии бота. Любое целое число. Чаще не обязательно, но весьма рекомендуется в каждой копии бота задавать свой магик.
!!!При торгах на одной валютной паре на одном счете 2-х и более копий бота разные магики у всех копий бота на данной валютной паре строго обязательны – а в мультиторгах лишь рекомендуются; - AddComment – Ваш текстовый комментарий к ордерам (например, цифры магика или текст). Размещается слева от комментария к ордерам бота. Дефолтно пуст. Удобен при торгах 2+ копиями бота, в т.ч. на одном графике. У разных брокеров и на разных счетах может отличаться допустимый размер вашего комментария и применяемые в нем символы. Где-то коммент разрешат более длинный, а где-то есть не разрешенные символы. В одном из ДЦ, например, допустимо в AddComment задавать не более 11 знаков. Допускаются пробелы (можно даже несколько один за другим), а также /.,;:|<>”‘-_. Но не все символы в ДЦ разрешены.
!!!Если в AddComment вы зададите не разрешенные в конкретном ДЦ символы, кириллицу, более длинный коммент – тогда в терминале не будет виден не только ваш коммент, но и комментарий самого бота; - ReflectSellSettingsToBuy=true – Применять или нет настройки Sell сеток в Buy сетках – будут симметричные или нет настройки в обеих сетках бота. Если задать = true, то настройки будут симметричными и Вам достаточно задавать настройки только для Sell сетки – а в Buy сетке будут использоваться копии настроек для Sell сетки. Если задать = false, то настройки Sell и Buy сеток будут разными и Вам их надо задавать раздельно для Sell и Buy сеток.
Filters_Part1
Фильтры спрэда, плеча, частоты открытия ордеров и одновременно торгуемых пар и валют
- MaxSpread=5 – ( =0 – контроль отключен) Предельный размер спрэда в пипсах, до превышения которого боту разрешено открывать рыночные ордера и выставлять отложки в обеих сетках торгуемой ботом валютной пары. Спрэд проверяется только тогда, когда есть условия для открытия ордера. Если текущий спрэд превысит MaxSpread, открытие/выставление ордеров блокируется на MaxSpreadStopTradingTimining секунд.
!!!Применение опции в тестере ограничено или невозможно. На счетах с фиксированным спрэдом применение опции может быть крайне редким и блокировать работу бота от десятков минут до нескольких суток!; - MaxSpreadStopTradingTimining=30 – Количество секунд паузы в торгах (запрета открывать рыночные ордера и выставлять отложки в обеих сетках торгуемой пары), если текущий спрэд стал больше величины, заданной в параметре MaxSpread;
- MinLeverage=0 – минимальное плечо, при котором разрешено открывать 1-е ордера сеток (новые сетки) на торгуемой данной копией бота паре. Если плечо стало меньше указанного – запрет открывать 1-е ордера сеток, действующий до увеличения плеча до указанного в параметре. Уже имеющиеся сетки бот будет пытаться достраивать и при плече, меньше указанного вами. При MinLeverage=0 контроль плеча отключен;
- MinTimeStep=0 – Минимальная пауза между открытием ордеров в секундах. Дефолтно MinTimeStep=0 отключено. Пауза между открытием ордеров в sell и buy сетках контролируется раздельно/автономно, отсчет времени паузы ведется от момента открытия очередного рыночного ордера sell и buy сетки или активировавшейся отложки. Выставленные, но не активировавшиеся отложки не учитываются. При всей простоте, опция «хитрая» и многофункциональная. Во-первых, она позволяет «не частить» с открытием ордеров при сильном или трендовом движении цены, «растягивая» сетку и/или провоцируя выставление отложек вместо открытия рыночных ордеров. Во-вторых, опция онлайн и в тестере приемлемо заменяет режим открытия ордеров на новом баре. Например, при MinTimeStep=900 ордера будут открываться не чаще, чем раз в 15 минут вне зависимости от движения цены за это время.
!!!Злоупотреблять опцией не рекомендуется. На флэтовом рынке (или при больших значениях) применение опции может привести к потере прибыли – или даже не выставлению старших ордеров сетки, часто критично важных для скорейшего закрытия сетки по ТР на достаточных коррекции/откате; - MaxTradePairs=0 – ( =0 – отключено ) Опция влияет на количество одновременно (сейчас) торгуемых валютных пар на всем счете при мультивалютных торгах. Учитываются все ордера – как открытые вручную, так и ботами. Задается максимальное количество одновременно торгуемых пар на всем счете, до достижения которого (включая данную пару) данной копии бота разрешено открывать 1-е ордера сеток (новые сетки).
Если опция включена и на счете торгуется (есть ордера) пар более чем MaxTradePairs (включая валютную пару данного бота) – открытие первого ордера сетки (новой сетки) в данной копии бота блокируется.
То есть это опция самоограничения только данной копии бота на одной паре по факту и только в данный момент: если на счете уже есть ордера MaxTradePairs пар – данный бот новую сетку не откроет.
Т. к. для каждой валютной пары параметр задается раздельно, вы можете одним парам разрешать торговать целой толпой, а другим парам ограничивать вход в рынок от единиц торгующих одновременно пар.
!!!Опция не учитывает магики, поэтому несколько копий бота, торгующих на одной паре и раздельно строящих каждый свои сетки, опцией MaxTradePairs будут ошибочно считаться как одна пара (1 бот на паре); - CurrencyBlock=0 – Опция ограничивает одновременную торговую активность нескольких копий бота на одном счете на разных валютных парах – контролируя сколько раз каждая валюта (из пары) на счете продана и куплена, включая валютную пару с графика, к которой прикреплена данная копия бота. Учитываются все ордера на счете с любыми магиками и без – как открытые вручную/скриптом, так и другими ботами.
Опция контролирует (по всему счету) не количество ордеров с каждой из валют торгуемой данным ботом валютной пары, а лишь факт покупок и продаж каждой из валют пары во всех парах на счете.
При этом покупка/продажа валют в валютных парах по всему счету интерпретируется ботом стандартно. Для пары ВАЛ1/ВАЛ2: sell продажа ВАЛ1 и покупка ВАЛ2 – buy покупка ВАЛ1 и продажа ВАЛ2.
Т. е. если, например, в моменте есть 8 sell ордеров EURUSD, то опция учитывает это «по факту» – как 1 (одну) продажу EUR и 1 (одну) покупку USD. Т. е. только как «направление» операций с каждой валютой пары.
Если же, в этот же момент, на счете открыты еще 7 Sell ордеров GBPUSD, то обе копии бота (с графиков EURUSD и GBPUSD) одновременно «видят» на счете 1 продажу EUR, 1 продажу GBP и 2 (две) покупки USD.
CurrencyBlock=0 – в денной копии бота отключен контроль количества покупок/продаж на счете каждой из валют пары бота.
CurrencyBlock=Х – каждая из 2-х валют (ВАЛ1/ВАЛ2) валютной пары этой копии бота одновременно может продаваться и покупаться не более чем Х раз в любом количестве валютных пар на всём счете.
И если, с учетом запрошенного в боте к открытию первого ордера sell или buy сетки, количество покупок или продаж любой из 2-х валют пары превысит Х раз, открытие первого ордера сетки только в этой копии бота блокируется – до следующей проверки (этой копией бота, но на всём счете) возможности открытия первого ордера одной из сеток.
То есть это опция самоограничения только данной копии бота на одной паре по факту и только в данный момент: если на счете в моменте уже есть Х покупок или Х продаж одной из валют пары графика копии бота и открытие запрошенного первого ордера sell или buy сетки приведет к превышению ограничения Х покупок или продаж одной из валют пары бота – данная копия бота новую сетку не откроет.
!!!Так как для каждой копии бота параметр задается раздельно, вы можете задавать ботам разные значения CurrencyBlock и этим проектировать очень гибкие и сложные варианты мультивалютных торгов.
!!!Опция не учитывает магики, поэтому несколько копий бота, торгующих на одной паре и раздельно строящих каждый свои сетки, опцией CurrencyBlock будут ошибочно считаться как ордера лишь 1 (одного) бота на паре – и каждый бот на счете будет ошибочно засчитывать/интерпретировать ордера всех копий бота на этой одной паре как лишь 1 покупку и 1 продажу каждой из 2-х валют этой валютной пары.
TradeControl_ByDrawdown
Управление торгами в зависимости от просадки
- No1Order_ByDrawdownPercent=0 – ( =0 – отключено) Запрет открывать первые ордера Buy и Sell сеток, если общая просадка (всех бота и чужих рыночных ордеров, что есть на счете) превышает указанный вами % баланса счета (например, =65). Касается только новых сеток – уже открытые сетки растут и сопровождаются без ограничений. Значение параметра в каждой копии бота задается индивидуально и действует только на “своей” валютной паре. На одних парах открытие новых сеток вы можете запрещать при меньшей просадке на счете – а на других парах запрещать открытие первых ордеров сеток позже, давая этим парам больше свободы торгов;
- No1Order_ByDrawdownPercent_Off=0 – ( =0 – отключено) позволяет задать, начиная с какого уровня общей (суммарной) просадки всех пар на счете (в % от баланса), этой копии бота снова разрешается открывать первые ордера сеток;
- StopTrade_ByDrawdownPercent=0 -( =0 – отключено) Запрет открытия/выставления ордеров (в той сетке торгуемой копией бота пары, которая в большей просадке) после достижении указываемой вами просадки в % от депо (например, =65). Просадка считается только от ордеров торгуемой валютной пары с одним магиком, открытых данной копией бота;
- StopTrade_ByDrawdownPercent_Off=0 – ( =0 – отключено) Обратный параметр позволяет задать, начиная с какого уровня просадки в % от депо, снова разрешается открывать/выставлять ордера в просевшей бай или сэлл сетке (например, =62). Просадка считается только от ордеров торгуемой валютной пары с одним магиком, открытых данной копией бота;
- StopTrade_ByDrawdownMoney=0 – ( =0 – отключено) Запрет открытия/выставления ордеров (в той сетке торгуемой копией бота пары, которая в большей просадке) после достижения просадки, равной указанной вами сумме в валюте счета (например, =3000). Просадка считается только от ордеров торгуемой валютной пары с одним магиком, открытых данной копией бота;
- StopTrade_ByDrawdownMoney_Off=0 – ( =0 – отключено) Обратный параметр позволяет задать, начиная с какого уровня просадки в валюте счета снова разрешается открывать/выставлять ордера в просевшей бай или сэлл сетке (например, =2700). Просадка считается только от ордеров торгуемой валютной пары с одним магиком, открытых данной копией бота;
- CloseAllOrders_ByProfitPercent=0.0 – ( =0 – отключено) Закрытие по текущей цене всех Buy и Sell ордеров (с одним магиком) одной валютной пары – по достижении этими ордерами прибыли, равной указанному % от депо. Учитывается прибыль+просадка buy+sell ордеров, открытых только данной копией бота с одним магиком на данной/одной валютной паре – и закрываются все buy+sell ордера только с этим одним магиком. Если на счете будет торговать несколько копий бота (не лишне с разными магиками), то в каждой копии бота можно будет задать свои/разные значения параметра CloseAllOrders_ByProfitPercent;
- CloseAllOrders_ByProfitMoney=0.0 – ( =0 – отключено) Закрытие по текущей цене всех Buy и Sell ордеров (с одним магиком) одной валютной пары – по достижении этими ордерами прибыли, равной указанной сумме в валюте счета ($). Учитывается прибыль+просадка buy+sell ордеров, открытых только данной копией бота с одним магиком на данной/одной валютной паре – и закрываются все buy+sell ордера только с этим одним магиком. Если на счете будет торговать несколько копий бота (желательно с разными магиками), то в каждой копии бота можно будет задать свои/разные значения параметра CloseAllOrders_ByProfitMoney;
- CloseAllOrders_ByDrawdownPercent=0 – ( =0 – отключено) Закрытие по текущей цене всех Buy и Sell ордеров по достижении просадки в % от депо. Учитывается просадка только от ордеров, открытых данной копией бота на данной валютной паре;
- CloseAllOrders_ByDrawdownMoney=0 – ( =0 – отключено) Закрытие по текущей цене всех Buy и Sell ордеров по достижении просадки, равной указанной сумме в валюте счета. Просадка считается только от ордеров, открытых данной копией бота.
!!!Опция очень важна для тестирования ботов, так как позволяет выполнять долгосрочное тестирование с фиксированным лотом с имитацией вывода всей прибыли сверх депо (так, как будто счет реальный). Также опция даёт редкую в мартинах возможность адекватного тестирования всевозможных разгонных торгов со сколь угодно малыми депо-камикадзе, корректно используя ордера с фиксированным лотом; - CloseAllOrders_ByDrawdown_StopTrade = false – ( false | true ) ( 0 | 1 ) – блокировать работу бота после закрытия всех ордеров обеих сеток вследствие достижения (на данной торгуемой копией бота паре) просадки, большей максимально разрешенной вами. Это дополнительный параметр, работающий только в связке с одной из опций CloseAllOrders_ByDrawdownPercent или CloseAllOrders_ByDrawdownMoney (если хоть одна из них включена) и только в этой одной копии бота.
sell_step_settings
SELL сетки – настройки шагов, количества колен и длины сетки
- S_MaxOpenOrders=15 – Максимальное количество SELL ордеров (колен), которое вы разрешаете боту открыть в SELL сетке;
- S_GridStep=14 – Начальный шаг SELL сетки в пипсах;
- S_GridLevel=3 – № п/п ордера (колена) SELL сетки, начиная с которого (включительно) текущий шаг SELL сетки будет корректироваться (на каждом колене) на S_GridStep_AddPips пипсов. Если S_GridLevel>0 (1-я опция коррекции шага сетки включена) и S_GridStop>0, то должна соблюдаться пропорция S_GridStop>= S_GridLevel;
- S_GridStep_AddPips=1 – Количество пипсов, на которое будет корректироваться текущий шаг SELL сетки на каждом колене, начиная с колена S_GridLevel. Может быть =0, >0 и даже <0;
- S_GridStep_Level2=10 – № п/п ордера (колена) SELL сетки, начиная с которого (включительно) текущий шаг SELL сетки будет корректироваться (на каждом колене) на S_GridStep_Level2_AddPips пипсов. Если S_GridStep_Level2>0 (2-я опция коррекции шага сетки включена) и S_GridStop>0, то должны соблюдаться пропорции S_GridStop>= S_GridStep_Level2 и S_GridStep_Level2> S_GridLevel;
- S_GridStep_Level2_AddPips=7 – Количество пипсов, на которое будет корректироваться текущий шаг SELL сетки на каждом колене, начиная с колена S_GridStep_Level2. Может быть =0, >0 и даже <0;
- S_Grid3=0 – № п/п ордера (колена) SELL сетки, начиная с которого (включительно) текущий шаг SELL сетки будет корректироваться (на каждом колене) на S_Grid3Add пипсов. Если S_Grid3>0 (3-я опция коррекции шага сетки включена) и S_GridStop>0, то должны соблюдаться пропорции S_GridStop>= S_Grid3 и S_Grid3> S_GridStep_Level2> S_GridLevel;
- S_Grid3Add=0 – Количество пипсов, на которое будет корректироваться текущий шаг SELL сетки на каждом колене, начиная с колена S_Grid3. Может быть =0, >0 и даже <0;
- S_GridStop=0 – Если =0 – отключен.
Если S_GridStop>0, то это № колена, на котором коррекции/поправки шага сетки (S_GridStep_AddPips, S_GridStep_Level2_AddPips или S_Grid3Add) срабатывают/применяются последний раз. До конца сетки (после S_GridStop колена) шаг становится фиксированным и равным шагу сетки на S_GridStop колене.
sell_lot_settings
SELL сетки – min ордер и множители лота всех колен
- S_CalcLotType = LastOrder|MinOrder – S_CalcLotType = LastOrder|MinOrder – переключатель сомножителя мульта очередного N-го колена SELL сетки. При CalcLotType = LastOrder на мульт текущего N-го колена сетки умножается лот ордера предшествующего N-1 колена SELL сетки (умножается предыдущий ордер). При CalcLotType = MinOrder на мульт текущего N-го колена сетки всегда умножается лот 1-го (первого) минимального ордера сетки. Лот 1-го ордера сетки может быть динамическим (S_CurrencyForMinlot>0). При CalcLotType = LastOrder и CalcLotType = MinOrder все иные/остальные параметры управления мультом и лотом ордера применимы и функционируют одинаково;
- S_CurrencyForMinlot=0 – Вычисления лота первого ордера SELL сетки в зависимости от баланса счета (мини ММ). Если S_CurrencyForMinlot=0, то ММ отключен – лот первого ордера SELL сетки фиксированный и всегда равен S_MinLot. К примеру, если вы задали S_CurrencyForMinlot = 3000 и S_MinLot = 0.01, то при балансе счета менее 6000 первый ордер будет =0.01 лота – а при балансе счета от 6000 до 8999 первый ордер будет =0.02 лота;
- S_MinLot=0. 01 – Лот 1 -го (первого) минимального ордера сетки;
- S_Mult=1. 4 – Начальный множитель лота для ордеров SELL сетки. Чаще всего лот очередного открываемого ордера сетки = лоту последнего ордера SELL сетки * S_Mult (с или без коррекции);
- S_MultStart=3 – № п/п ордера (колена) SELL сетки, начиная с которого начинает применяться S_Mult. До округления лот ордера S_MultStart колена = S_MinLot * S_Mult;
- S_MultLevel2=5 – № п/п ордера (колена) SELL сетки, начиная с которого (включительно) текущее/расчетное значение множителя лота SELL сетки (начиная с S_Mult) корректируется на величину S_MultCorr (на каждом колене). Если S_MultLevel2>0 (1-я опция коррекции мульта сетки включена), то должны соблюдаться пропорции S_MultLevel2> S_MultStart (а если и S_ MultStop >0, то и S_MultStop>= S_MultLevel2);
- S_MultCorr=0. 01 – Величина коррекции (на каждом колене) текущего/расчетного значения множителя лота SELL сетки, начиная с колена S_MultLevel2 включительно;
- S_MultLevel3=8 – № п/п ордера (колена) SELL сетки, начиная с которого (включительно) текущее/расчетное значение множителя лота SELL сетки корректируется на величину MultCorrLevel3 (на каждом колене). Если S_MultLevel3>0 (2-я опция коррекции мульта сетки включена), то должны соблюдаться пропорции S_MultLevel3> S_MultStart и S_MultLevel3> S_MultLevel2 (а если и S_ MultStop >0, то и S_MultStop>= S_MultLevel3);
- S_MultCorrLevel3=0. 02 – Величина коррекции (на каждом колене) текущего/расчетного значения множителя лота SELL сетки, начиная с колена S_MultLevel3 включительно;
- S_Mult3=11 – № п/п ордера (колена) SELL сетки, начиная с которого (включительно) текущее/расчетное значение множителя лота SELL сетки корректируется на величину Mult3Add (на каждом колене). Если S_Mult3>0 (3-я опция коррекции мульта сетки включена), то должны соблюдаться пропорции S_Mult3>S_MultStart и S_Mult3>S_MultLevel3> S_MultLevel2 (а если и S_ MultStop >0, то и S_MultStop>= S_Mult3);
- S_Mult3Add=0. 03 – Величина коррекции (на каждом колене) текущего/расчетного значения множителя лота SELL сетки, начиная с колена S_Mult3 включительно;
- S_MultStop=0 – Если = 0 – отключена. S_MultStop это №колена, на котором последний раз применяются корректирующие мульт параметры S_MultCorr, S_MultCorrLevel3 или S_Mult3Add (если пользователь их задействовал). S_MultStop это номер колена, после которого до конца sell сетки множитель лота (мульт) фиксируется и будет одинаковым вплоть до последнего колена сетки (включительно);
- S_MaxLotCoef=0 – S_MaxLotCoef это задаваемый пользователем коэффициент максимального лота ордера любого колена Sell сетки.
S_MaxLotCoef позволяет вычислить максимальный лот, с которым боту разрешено открывать рыночные (выставлять отложенные) ордера.
Ордера с лотом большим, чем разрешенным|заданным S_MaxLotCoef, бот открывать не будет. Если S_MaxLotCoef=0 – контроль/ограничение максимального лота ордера отключено. Традиционно в ботах максимально разрешенный лот ордера в сетке задается константой в лотах. У нас максимально допустимый лот ордера в сетке вычисляется от лота первого ордера сетки – что делает максимального лот ордера динамическим и пропорциональным размеру депо (если S_CurrencyForMinlot>0 и лот первого ордера сетки не фиксированный, а вычисляемый в зависимости от размера депо).
S_MaxLotCoef указывает максимальный ордер в сетке как максимально разрешенное количество первых ордеров сетки – с лотом фиксированным или вычисленным в зависимости от размера депо. Если расчетный лот очередного ордера сетки превысит MaxLotCoef * лот первого ордера сетки, то откроется ордер с лотом равным MaxLotCoef * лот первого ордера сетки. Например, S_MaxLotCoef=150, при первом ордере sell сетки 0. 02 лота, разрешают максимальный ордер для sell сеток =3 лота. Данная опция позволяет применять усреднение на последних ордерах сеток.
sell_tp_settings
SELL сетки: настройки TP (пипсов чистой прибыли) –> [уровень_БУ] – ТР
- S_TakeProffitType= tp_level_without_loss (=1) – Вы выбираете алгоритм/способ расчета ТР сетки: tp_avg – по среднему взвешенному или tp_level_without_loss – относительно уровня безубытка. Оба алгоритма расчета уровня ТР сетки дают близкие цифры. Но при tp_level_without_loss учитываются комиссия и своп и, если сетка живет долго и своп ощутимый, то почти ежедневно после полуночи ТР сетки пересчитывается и корректируется на 1-2 пипса;
- S_ TakeProffit =14 – Начальное количество пипсов ТР – прибыли от сетки. Прибавляется (с минусом) к уровню без убытка или среднеарифметическому взвешенному SELL сетки;
- S_ TakeProffit_Level1=4 – № п/п ордера (колена) SELL сетки, начиная с которого текущее/расчетное значение ТР сетки будет корректироваться на S_TakeProffit_Level1Corr пипсов (на каждом колене). 1-я опция коррекции ТР сетки;
- S_TakeProffit_Level1Corr=1 – Количество пипсов, на которое корректируется текущее/расчетное значение ТР сетки в пипсах, начиная с S_ TakeProffit_Level1 колена. Может быть >0 или <0;
- S_TakeProffit_Level1_5=12 – № п/п ордера (колена) SELL сетки, начиная с которого текущий/расчетный TР сетки (в пипсах) будет корректироваться на S_TakeProffit_Level1_5Corr пипсов (на каждом колене). 2-я опция коррекции ТР сетки. Если S_TakeProffit_Level1_5>0, то должна выполняться пропорция S_TakeProffit_Level1_5 > S_TakeProffit_Level1;
- S_TakeProffit_Level1_5Corr=-1 – Количество пипсов, на которое корректируется текущее/расчетное значение ТР сетки в пипсах, начиная с S_ TakeProffit_Level1_5 колена. Может быть >0 или <0;
- S_TakeProffit_Level2=0 – № п/п ордера (колена) SELL сетки, начиная с которого уровень ТР сетки в пипсах фиксируется и жестко выставляется на уровень без убытка минус S_TakeProffit_Level2FixPips. 3-я опция управлением ТР сетки. Если S_TakeProffit_Level2>0, то должны выполняться пропорции S_TakeProffit_Level2 > S_TakeProffit_Level1_5 > S_TakeProffit_Level1;
- S_TakeProffit_Level2FixPips=0 – Количество пипсов отступа в плюс (прибыли) от уровня безубытка SELL сетки, фиксировано выставляемого начиная с S_ TakeProffit_Level2 колена сетки.
buy_step_settings
BUY сетки – настройки шагов, количества колен и длины сетки
Аналогичны настройкам для Sell ордеров
B_MaxOpenOrders=15
B_GridStep=14
B_GridLevel=3
B_GridStep_AddPips=1
B_GridStep_Level2=10
B_GridStep_Level2_AddPips=7
B_Grid3=0
B_Grid3Add=0
B_GridStop=0
buy_lot_settings
BUY сетки – min ордер и множители лота всех колен
Аналогичны настройкам для Sell ордеров
В_CalcLotType = LastOrder|MinOrder
B_CurrencyForMinlot=0
B_MinLot=0. 01
B_Mult=1. 4
B_MultStart=3
B_MultLevel2=5
B_MultCorr=0. 01
B_MultLevel3=8
B_MultCorrLevel3=0. 02
B_Mult3=11
B_Mult3Add=0. 03
B_MultStop=0
B_MaxLotCoef=0
buy_tp_settings
BUY сетки: настройки TP (пипсов чистой прибыли) –> [уровень_БУ]+ТР
Аналогичны настройкам для Sell ордеров (кроме направления и использования TP в формулах: в Buy сетках TP прибавляют к уровню БУ, а в Sell сетках TP вычитают из уровня БУ. )
B_TakeProffitType=1
B_ TakeProffit =14
B_ TakeProffit_LEVEL1=4
B_TakeProffit_Level1Corr=1
B_ TakeProffit_LEVEL1_5=12
B_TakeProffit_Level1_5Corr=-1
B_ TakeProffit_LEVEL2=0
B_TakeProffit_Level2FixPips=0
without_indicator_settings
Блок безиндикаторного входа – настройки параметров и фильтров. Используется только для открытия первого ордера сетки. Анализируются закрытые свечи.
- OpenFirstOrderTF=1 – Таймфрэйм свечей, которые анализируются блоком безиндикаторного входа бота при принятии решения об открытии/неоткрытии первого ордера Buy или Sell сетки;
- CandlesToOpen1Order=3 – Сколько должно быть свечей в одном направление подряд для открытия первого ордера Buy или Sell сетки. Допустимо любое количество от 0 (нуля), рекомендуется не менее двух.
!!! При CandlesToOpen1Order=0 блок/фильтры безиндикаторного входа полностью отключены. Бот откроет первый ордер сетки по текущей цене немедленно после закрытия предшествующей сетки по ТР (или, в случае отсутствия сетки, на «новом» графике), полностью игнорируя все остальные настройки и фильтры блока безиндикаторного входа; - CandlesToOpen1Order_OpenClose=true – ( false|true). Параметр указывает как (по телам или теням) измерять размер (в пипсах) группы CandlesToOpen1Order свечей ТФ OpenFirstOrderTF. Если =true, то суммируется и учитывается размер тел (OpenClose) группы CandlesToOpen1Order свечей. Если =false, то учитывается зазор между противоположными тенями, локальными экстремумами (HighLow) группы CandlesToOpen1Order закрытых свечей;
- CandlesToOpen1Order_MinPips=4 – минимальный (не менее) размер в пипсах группы CandlesToOpen1Order свечей ТФ OpenFirstOrderTF, необходимый для открытия первого ордера новой сетки ордеров. Если вы задали >0 и размер в пипсах группы CandlesToOpen1Order свечей менее CandlesToOpen1Order_MinPips, то это ботом расценивается как «глухой флэт» и первый ордер сетки не открывается. Если CandlesToOpen1Order_MinPips=0, то контроль минимального суммарного размера в пипсах группы CandlesToOpen1Order свечей отключен;
- CandlesToOpen1Order_MaxPips=18 – максимальный (не более) размер в пипсах группы CandlesToOpen1Order свечей ТФ OpenFirstOrderTF, допустимый для открытия первого ордера новой сетки ордеров.
Если размер в пипсах группы CandlesToOpen1Order свечей более CandlesToOpen1Order_MaxPips, это расценивается как «импульс», первый ордер сетки не открывается и бот ждет еще свечу. Если CandlesToOpen1Order_MaxPips=0, то контроль максимального суммарного размера в пипсах группы CandlesToOpen1Order свечей отключен; - ReversSignalToOpen1Order=true – Реверс сигнала на вход (по свечам): открывать 1 -вый ордер (новой сетки ордеров) по направлению (= false) или против направления (= true) последних CandlesToOpen1Order свечей ТФ OpenFirstOrderTF.
gap_settings
Блок гэп-контроля: настройки блока выявления и обработки мартин-гэпов
- GapControl=2 – Режим обработки мартин-гэпов. Мартин-гэпом называем участки на графике (далее/более чем шаг сетки), на которых должен был бы быть открыт минимум 1 очередной ордер сетки – но открыт не был.
Мартин-гэп или непроторгованный участок графика может возникнуть по множеству причин – понедельничный гэп, новостной импульс, подвис сервер ДЦ, забыли оплатить инет, пролили пиво на комп…
Но как только бот увидит, что на графике пары нет хотя бы одного ордера (где должен быть) – бот интерпретирует это как мартин-гэп и выполняет его обработку одним из нижеперечисленных способов:
=0 no_gap – Мартин-гэп не компенсируется. После мартин-гэпа по текущей цене открывается рыночный ордер следующего колена сетки того же лота, какой был бы у данного ордера и без мартин-гэпа;
=1 inc_lot – Искажение сетки из-за мартин-гэп частично компенсируется открытием по текущей цене 1 рыночного ордера, увеличенного по формуле с учетом настроек GapLotKoef и GapLastOrderKoef;
=2 op_stop – В мартин-гэп встраивается не более GapMaxStopOrders отложек вместо всех или части пропущенных рыночных ордеров. Лоты выставляемых отложек будут такими же, какие были бы лоты рыночных ордеров очередных колен сетки, если бы не мартин-гэп – т. е. пропуск открытия ордеров. GapControl=2 обычно оптимально для ускорения закрытия сетки по ТР с меньшей, но хорошей прибылью; - GapMaxStopOrders=3 – Максимальное количество выставляемых отложенных ордеров подряд при обработке одного или более мартин-гэпов подряд. Открытие рыночного ордера разрывает цепочку мартин-гэпов (если их было 2 или более подряд) или «закрывает» один мартин-гэп – и отсчет подлежащих обработке мартин-гэпов и отложек начинается с 0. Если в одной сетке гэпов было несколько, но с открытием между ними хотя бы одного рыночного ордера, то отложек в одной сетке ордеров (как следствие нескольких мартин-гэпов) может быть 3-6 и более. Рекомендуется значение GapMaxStopOrders= количеству старших/наибольших ордеров сеток, закрывающихся в плюс при закрытии сетки по ТР. Обычно таких ордеров 2-3, а в густых сетках бывает и более. Применяется только при режиме обработки мартин гэпа GapControl=2 (=op_stop);
- GapMinDistanceFromMarket=4 – Дополнительный (сверх StopLevel) отступ наибольшей выставляемой отложки от текущей цены. Рекомендуется 4-2 пипса – для того, чтобы снизить риск случайной активации отложки дергающейся ценой. Применяется только при режиме обработки мартин гэпа GapControl= 2 (=op_stop);
- S_GapMinPips=10 – Минимум пипсов (для выявления и «объявления» мартин-гэпа и срабатывания блока гэп- контроля), на сколько цена должна «заступить» дальше расчетного уровня открытия очередного ордера SELL сетки, который не был открыт где был должен (по любой причине). S_GapMinPips всегда должен быть min на 2+ пипса меньше любого очередного шага сетки – между двумя любыми смежными ордерами SELL сетки;
- S_GapMinPercent=0 – То же, что и S_GapMinPips, только «заступ цены» дальше расчетного уровня открытия очередного ордера, необходимый для опознания и обработки мартин-гэпа, задается в %% от очередного шага SELL сетки. Например, S_GapMinPercent=50;
- S_GapLotKoef=0. 5 – Эмпирический понижающий коэффициент, применяемый при расчете лота первого после мартин-гэпа (постгэпового) рыночного увеличенного ордера SELL сетки. Применяется только при режиме обработки гэпа GapControl=Inc_lot. Увеличенный лот первого пост гэпового ордера вычисляться по формуле =лот_последнего_ордера * (текущий_множитель_лота + текущий_множитель_лота * S_GapLotKoef );
- S_GapLastOrderKoef=2. 0 – Открываемый рыночный постгэповый SELL ордер должен быть не более чем в S_GapLastOrderKoef раз больше последнего до мартин-гэпа (перед мартин-гэпом) рыночного ордера SELL сетки. Применяется только при режиме обработки гэпа GapControl=Inc_lot;
- B_GapMinPips=10 – Минимум пипсов (для выявления и «объявления» мартин-гэпа и срабатывания блока гэп- контроля), на сколько цена должна «заступить» дальше расчетного уровня открытия очередного ордера BUY сетки, который не был открыт где был должен (по любой причине). В_GapMinPips всегда должен быть min на 2+ пипса меньше любого очередного шага сетки – между двумя любыми смежными ордерами BUY сетки;
- B_GapMinPercent=0 – То же, что и В_GapMinPips, только «заступ цены» дальше расчетного уровня открытия очередного ордера, необходимый для фиксации и обработки мартин-гэпа, задается в %% от очередного шага Buy сетки. Например, В_GapMinPercent=50;
- B_GapLotKoef=0. 5 – эмпирический понижающий коэффициент, применяемый при расчете лота первого после мартин-гэпа (постгэпового) рыночного увеличенного ордера BUY сетки. Применяется только при режиме обработки гэпа GapControl=Inc_lot. Увеличенный лот первого пост гэпового ордера вычислятся по формуле =лот_последнего_ордера * (текущий_множитель_лота + текущий_множитель_лота * B _GapLotKoef );
- B_GapLastOrderKoef=2. 0 – Открываемый рыночный постгэповый BUY ордер должен быть не более чем в B_GapLastOrderKoef раз больше последнего до мартин-гэпа (перед мартин-гэпом) рыночного ордера BUY сетки. Применяется только при режиме обработки гэпа GapControl=Inc_lot.
vol_filter_settings
Фильтр волатильности – Запрет открывать ордера, если импульс
- VolCandleTF=1 – Таймфрэйм текущей свечи, по которой замеряется волатильность цены в моменте. Рекомендуется и дефолтно =M1;
- VolCandleMaxSize=15 – Максимально допустимый размер текущей свечи в пипсах, high – low. Если текущая свеча превышает VolCandleMaxSize пипсов, на VolStopTradeTimining секунд включается полный запрет открывать/выставлять ордера во всех сетках. Если задать большое значение VolCandleMaxSize (например, 500 пипсов), фильтр волатильности де-факто будет отключен;
- VolStopTradeTimining=60 – Время/интервал (в секундах) действия запрета открытия/выставления ордеров после того, как фильтр волатильности выявит импульс цены.
!!! фильтр волатильности будет блокировать открытие/выставление ордеров, пока не закроется текущая свеча VolCandleTF. Просто если свеча уже стала больше VolCandleMaxSize, то она будет продолжать «сигналить» и активировать фильтр волатильности пока не закроется. Поэтому VolStopTradeTimining рекомендуется/можно задавать равным от 60*TimeFrame секунд (+ добавить еще 10-20 секунд на «дать цене на новой свече определиться – бежим дальше или хватит пока»).
sheduler_settings
Настройки планировщиков торговли – 6 разных планировщиков
sheduler_trade_week_settings
№1 Еженедельно: можно/разрешено открывать 1-е ордера сеток (S_OpenFirstOrder=true и B_OpenFirstOrder=true) со Start_дня|время по End_день|время.
- TradeStartDay=0 – День недели начала торговли;
- TradeStartHour=0 – Час начала торговли;
- TradeStartMinute=0 – Минута начала торговли (в этот момент начнет действовать S_OpenFirstOrder=true и B_OpenFirstOrder=true, если эти режимы 3-м и/или 4-м параметрами не будут явно запрещены вами вручную);
- TradeEndDay=6 – День недели конца торговли;
- TradeEndHour=12 – Час конца торговли;
- TradeEndMinute=0 – Минута конца торговли (В этот момент включится S_OpenFirstOrder=false и B_OpenFirstOrder=false. Имеющиеся в этом момент ордера/сетки могут расти и будут сопровождаться ботом до их закрытия по ТР).
sheduler_new_position_pause_settings
№2 Однократно: от и до – запрещено открывать первые ордера сеток. Задавать в формате ГГГГ. ММ. ДД ЧЧ:ММ (Паузы могут задаваться заранее и любой длительности, хоть и на год).
- NewPositionPause2Start=0 – Дата и время начала паузы №2 планировщика №2;
- NewPositionPause2End=0 – Дата и время конца паузы №2 планировщика №2;
- NewPositionPause3Start=0 – Дата и время начала паузы №3 планировщика №2;
- NewPositionPause3End=0 – Дата и время конца паузы №3 планировщика №2;
- NewPositionPause4Start=0 – Дата и время начала паузы №4 планировщика №2;
- NewPositionPause4End=0 – Дата и время конца паузы №4 планировщика №2;
- NewPositionPause5Start=0 – Дата и время начала паузы №5 планировщика №2;
- NewPositionPause5End=0 – Дата и время конца паузы №5 планировщика №2;
- NewPositionPause6Start=0 – Дата и время начала паузы №6 планировщика №2;
- NewPositionPause6End=0 – Дата и время конца паузы №6 планировщика №2;
- NewPositionPause7Start=0 – Дата и время начала паузы №7 планировщика №2;
- NewPositionPause7End=0 – Дата и время конца паузы №7 планировщика №2;
- NewPositionPause8Start=0 – Дата и время начала паузы №8 планировщика №2;
- NewPositionPause8End=0 – Дата и время конца паузы №8 планировщика №2;
- NewPositionPause9Start=0 – Дата и время начала паузы №9 планировщика №2;
- NewPositionPause9End=0 – Дата и время конца паузы №9 планировщика №2;
- NewPositionPause10Start=0 – Дата и время начала паузы №10 планировщика №2;
- NewPositionPause10End=0 – Дата и время конца паузы №10 планировщика №2.
sheduler_trade_day_settings
№3 Ежедневно: интервалы времени, когда можно открывать 1-е ордера сеток – до 10 интервалов в течение суток. Если заданы, действуют во все дни недели.
- IntraDay1StartHour=0 – Час начала внутридневного/ежедневного интервала №1, когда разрешено открывать первые ордера сеток;
- IntraDay1StartMinute=0 – Минута начала внутридневного/ежедневного интервала №1, когда разрешено открывать первые ордера сеток. С этого момента применяются параметры S_OpenFirstOrder=true и B_OpenFirstOrder=true, если эти режимы 3-м и/или 4-м параметрами/настройками бота не будут явно запрещены вами вручную;
- IntraDay1EndHour=0 – Час завершения внутридневного/ежедневного интервала №1;
- IntraDay1EndMinute=0 – Минута завершения внутридневного/ежедневного интервала №1.
С этого момента начинают применяться параметры S_OpenFirstOrder=false и B_OpenFirstOrder=false.
Имеющиеся в этот момент ордера/сетки могут расти и будут сопровождаться ботом сколь надо долго до их закрытия по ТР.
Настройки внутридневного/ежедневного интервала №2 планировщика №3
IntraDay2StartHour=0
IntraDay2StartMinute=0
IntraDay2EndHour=0
IntraDay2EndMinute=0
Настройки внутридневного/ежедневного интервала №3 планировщика №3
IntraDay3StartHour=0
IntraDay3StartMinute=0
IntraDay3EndHour=0
IntraDay3EndMinute=0
Настройки внутридневного/ежедневного интервала №4 планировщика №3
IntraDay4StartHour=0
IntraDay4StartMinute=0
IntraDay4EndHour=0
IntraDay4EndMinute=0
Настройки внутридневного/ежедневного интервала №5 планировщика №3
IntraDay5StartMinute=0
IntraDay5EndHour=0
IntraDay5EndMinute=0
IntraDay5EndMinute=0
Настройки внутридневного/ежедневного интервала №6 планировщика №3
IntraDay6StartHour=0
IntraDay6StartMinute=0
IntraDay6EndHour=0
IntraDay6EndMinute=0
Настройки внутридневного/ежедневного интервала №7 планировщика №3
IntraDay7StartHour=0
IntraDay7StartMinute=0
IntraDay7EndHour=0
IntraDay7EndMinute=0
Настройки внутридневного/ежедневного интервала №8 планировщика №3
IntraDay8StartHour=0
IntraDay8StartMinute=0
IntraDay8EndHour=0
IntraDay8EndMinute=0
Настройки внутридневного/ежедневного интервала №9 планировщика №3
IntraDay9StartHour=0
IntraDay9StartMinute=0
IntraDay9EndHour=0
IntraDay9EndMinute=0
Настройки внутридневного/ежедневного интервала №10 планировщика №3
IntraDay10StartHour=0
IntraDay10StartMinute=0
IntraDay10EndHour=0
IntraDay10EndMinute=0
sheduler_trade_pause_settings
№4 Однократно: от и до – запрещено открывать/выставлять ордера. Задавать в формате ГГГГ. ММ. ДД ЧЧ:ММ (Паузы могут задаваться заранее на любой день и время хоть на годы вперед).
- TradePause1Start=0 – Дата и время начала паузы №1, в течение которой запрещено открывать рыночные и выставлять отложенные ордера. Например, TradePause1Start=2015. 05. 12 20:45. !!!Задается в окне настроек бота!;
- TradePause1End=0 – Дата и время конца паузы №1, в течение которой запрещено открывать рыночные и выставлять отложенные ордера. Например, TradePause1 End =2015. 05. 12 22:15 – это запрет 1. 5 часа открывать ордера;
- TradePause2Start=0 – Дата и время начала паузы №2 планировщика №4;
- TradePause2End=0 – Дата и время конца паузы №2 планировщика №4;
- TradePause3Start=0 – Дата и время начала паузы №3 планировщика №4;
- TradePause3End=0 – Дата и время конца паузы №3 планировщика №4;
- TradePause4Start=0 – Дата и время начала паузы №4 планировщика №4;
- TradePause4End=0 – Дата и время конца паузы №4 планировщика №4;
- TradePause5Start=0 – Дата и время начала паузы №5 планировщика №4;
- TradePause5End=0 – Дата и время конца паузы №5 планировщика №4;
- TradePause6Start=0 – Дата и время начала паузы №6 планировщика №4;
- TradePause6End=0 – Дата и время конца паузы №6 планировщика №4;
- TradePause7Start=0 – Дата и время начала паузы №7 планировщика №4;
- TradePause7End=0 – Дата и время конца паузы №7 планировщика №4;
- TradePause8Start=0 – Дата и время начала паузы №8 планировщика №4;
- TradePause8End=0 – Дата и время конца паузы №8 планировщика №4;
- TradePause9Start=0 – Дата и время начала паузы №9 планировщика №4;
- TradePause9End=0 – Дата и время конца паузы №9 планировщика №4;
- TradePause10Start=0 – Дата и время начала паузы №10 планировщика №4;
- TradePause10End=0 – Дата и время конца паузы №10 планировщика №4.
sheduler_trade_stop_settings
№5 Ежедневно – до 10 интервалов запрета открывать рыночные и выставлять отложенные ордера. Если заданы, действуют во все дни недели.
IntraDayStopTrade1StartHour=0 – Час начала внутридневного/ежедневного интервала №1, когда запрещено открывать рыночные и выставлять отложенные ордера;
IntraDayStopTrade1StartMinute=0 – Минута начала внутридневного/ежедневного интервала №1, когда запрещено открывать рыночные и выставлять отложенные ордера;
IntraDayStopTrade1EndHour=0 – Час завершения внутридневного/ежедневного интервала №1;
IntraDayStopTrade1EndMinute=0 – Минута завершения внутридневного/ежедневного интервала №1.
Настройки внутридневного/ежедневного интервала №2 планировщика №5
IntraDayStopTrade2StartHour=0
IntraDayStopTrade2StartMinute=0
IntraDayStopTrade2EndHour=0
IntraDayStopTrade2EndMinute=0
Настройки внутридневного/ежедневного интервала №3 планировщика №5
IntraDayStopTrade3StartHour=0
IntraDayStopTrade3StartMinute=0
IntraDayStopTrade3EndHour=0
IntraDayStopTrade3EndMinute=0
Настройки внутридневного/ежедневного интервала №4 планировщика №5
IntraDayStopTrade4StartHour=0
IntraDayStopTrade4StartMinute=0
IntraDayStopTrade4EndHour=0
IntraDayStopTrade4EndMinute=0
Настройки внутридневного/ежедневного интервала №5 планировщика №5
IntraDayStopTrade5StartHour=0
IntraDayStopTrade5StartMinute=0
IntraDayStopTrade5EndHour=0
IntraDayStopTrade5EndMinute=0
Настройки внутридневного/ежедневного интервала №6 планировщика №5
IntraDayStopTrade6StartHour=0
IntraDayStopTrade6StartMinute=0
IntraDayStopTrade6EndHour=0
IntraDayStopTrade6EndMinute=0
Настройки внутридневного/ежедневного интервала №7 планировщика №5
IntraDayStopTrade7StartHour=0
IntraDayStopTrade7StartMinute=0
IntraDayStopTrade7EndHour=0
IntraDayStopTrade7EndMinute=0
Настройки внутридневного/ежедневного интервала №8 планировщика №5
IntraDayStopTrade8StartHour=0
IntraDayStopTrade8StartMinute=0
IntraDayStopTrade8EndHour=0
IntraDayStopTrade8EndMinute=0
Настройки внутридневного/ежедневного интервала №9 планировщика №5
IntraDayStopTrade9StartHour=0
IntraDayStopTrade9StartMinute=0
IntraDayStopTrade9EndHour=0
IntraDayStopTrade9EndMinute=0
Настройки внутридневного/ежедневного интервала №10 планировщика №5
IntraDayStopTrade10StartHour=0
IntraDayStopTrade10StartMinute=0
IntraDayStopTrade10EndHour=0
IntraDayStopTrade10EndMinute=0
sheduler_close_all_order_settings
№6 Ежедневно – закрытие обеих сеток в одно время. Если заданы, действуют во все дни недели.
- CloseAllOrders_EveryDay_Hour=0 – Час (время ХХ часов), начиная с которого будут предприниматься попытки закрытия всех рыночных ордеров и удаления всех отложенных ордеров (часы 24 часового времени сервера, например =10);
- CloseAllOrders_EveryDay_Minute=0 – Длительность (минут) периода попыток закрытия и удаления всех ордеров на графике (на случай, есть в начале часа в ХХ:00 не будет связи с сервером).
other_settings
Прочие общие настройки
- TAKEPROFFITControlTiming=90 – ( =0 – выключено, >0 – включено) Количество секунд, через которые перепроверяется и, если надо, корректируется уровень ТР во всех ордерах sell и/или buy сеток;
- TAKEPROFFITControlNoLossFixPips=3 – Кол-во пипсов для опции TAKEPROFFITNoLossControlTiming. Если, из-за настроек, ТР сетки оказывается в минусе, ТР всех ордеров сетки будет установлен на уровень Б/У + TAKEPROFFITControlNoLossFixPips;
- FinalGridDate=1609286400 – Параметр задает дату и время, после которых запрещено открывать первые ордера sell и buy сеток. Например, FinalGridDate=2015. 05. 12 20:45 !!!Задается только в окне настроек бота!!!
Если опцию применять в тестах, задавая дату за несколько дней до конца тестируемого периода, то в конце теста не будет зависших сеток и сопоставимость результатов тестов/оптимизации резко возрастет; - GlobalParamsUpdateTiming=60 – Время в секундах для обновления глобальных переменных (служебная опция);
- LogVerbose=2 – ( 0 = выключено, 1 = только ошибки, 2 = мелкая информация, 3 = более детальная информация, 4 = полная отладочная информация). Отображение в логе – степень детализации информации о работе бота.
⇒Краткая иллюстрация по сути отложенных ордеров:
Рекомендуемый мани-менеджмент
Рекомендуется предварительно ориентироваться на депозит не менее 10000 единиц валюты на лот 0.01 для каждой используемой пары.
Тип счета | Минимальный лот и шаг лота | Мин. стартовый депозит | Примеры Брокеров |
---|---|---|---|
Сent-mini | 0.01 | 100$ (10000 центов) | Forex4you |
Центовый | 0.1 | $1000 | Roboforex |
Стандарт | 0.01 | $10000 | Alpari |
Про-счета | 0.1 | $100000 | Классический тип счета у большинства брокеров |
⇒Внимание! Для точного расчёта величины депозита необходимо использовать утилиту “Модель” (см. ниже описание).
Дополнительные утилиты
Дополнительные утилиты обязательно нужны тем, кто разрабатывает собственные сеты.
“Модель”
Расчёт геометрии сеток, множителей, просадок и прибылей
Утилита “Модель” представляет из себя файл в формате Excel, предназначенный для автоматического расчёта параметров и результатов работы советника Setka TLP.
Скриншот главного листа Модели
Визуально наша Модель состоит из 2-х блоков по вертикали и 6-ти блоков по горизонтали.
По вертикали мы имеем 2 блока:
1) доступный пользователям блок ячеек для ввода параметров/настроек сетки и необходимых для расчетов параметров конкретного счета и конкретной валютной пары (цена пункта, комиссия, залог за одну пару и stop out в %%) – для каждой пары и каждого счета они разные. Причем, залог и цена пипса меняется вместе с ценой пары – и их надо достаточно регулярно уточнять и обновлять в Модели;
2) защищенный от случайного стирания/повреждения блок собственно модели, где выполняются все необходимые пользователям расчеты и визуализируется вся необходимая пользователям советника Setka TLP информация.
По горизонтали мы имеем 6 блоков:
1) Блок расчета и визуализации ТakeРrofit: количества пипсов чистой прибыли – размещаются после/дальше уровня безубытка сетки в направлении начала сетки. Зона ТР сетки, в зависимости от количества колен и длины сетки, может начинаться как в 7-10, так и в 100 пипсах от старшего ордера сетки. В большинстве средних по агрессивности сеток из 3-х и более ордеров зона ТР размещается/завершается в районе 3-го из максимальных ордеров сетки;
2) Блок расчета и визуализации шагов колен/ордеров сетки и критично важной длины сетки. В этом блоке определяется расстановка ордеров таким образом, чтобы не только перекрыть вероятный торговый диапазон пары (например, =350 пипсов), но и расставить первые 5-7-10 ордеров (в среднем >95% сеток именно таких) оптимально для быстрого закрытия сетки по ТР на минимальном отскоке цены и с учетом устраивающей вас прибыли;
3) Блок расчета и визуализации лотов ордеров сетки;
4) Блок расчета и визуализации первой, наиболее анализируемой части характеристик проектируемой сетки. Здесь, для каждого колена сетки, показаны уровни безубытка и ТР сетки – информация исключительной важности для оценки вероятности и частоты закрываемости сетки по ТР с учетом фибо уровней вероятных отскоков/коррекций. Здесь же расчетная просадка, крайне важная для верного контроля ММ. Здесь же и расчетная прибыль на каждом колене – крайне важная для анализа степени агрессивности сетки и адекватности проектирования сетки, в том числе на младших коленах;
5) Блок расчета и визуализации информации о залоге и средствах, которые необходимо на залог резервировать. По данному вопросу терминал информации практически не выдает – а она исключительно важна. Многих удивит, что даже на плече 1:500 на первых 7-ми коленах сетки залог обычно превышает просадку – что означает, что минимальный депо должен более чем вдвое превышать просадку, на которую все не отрывая глаз смотрят при тестировании ботов.
⇒Так что тем, кто хочет пробовать торговать “депо-камикадзе”, надо предельно серьёзно отнестись к информации из 5-го блока Модели;
6) Блок расчета и визуализации информации о депо, необходимом для проектируемой вами сетки, и финальная информация о том на сколько пипсов движения цены хватит указанного вами депо. Вычисление необходимого вам для торгов спроектированной вами сеткой депо требует максимум одного сложения или вычитания с занесением результата в ячейку “Депо, $”.
7) Блок расчета и визуализации информации о залоге к просадке (включая комиссию) и депо;
⇒Для заполнения вкладки “Залоги и Цена пункта” можно использовать скрипт AccountInfo+” из архива в конце данной статьи. Внимание! Скрипт даёт цену пунткта для 5-го знака в 5-значных коировках, а Модель работает с 4-значными пунктами.
“Модель + Анализатор торгов” (версия от Drew)
Анализатор рассчитывает параметры сетки, используя результаты при тестирования сета в Метатрейдере
Утилита представляет из себя “Модель” Старика с уникальными дополнительными функциями расчёта статистики торгов от Drew.
В Модели проектируется сет, затем прогоняем тест и отчет теста вставляем в анализатор от Drew. Если статистика сеток не нравится, уточняем в “Модели” сет, выполняем тест с обновленным сетом и отчет теста загружаем в анализатор торгов.
Скриншот главного листа “Модели +Анализатора торгов”
Инструкция по использованию Анализатора торгов
Подсчёт сеток.
1. ⇒Очень важный пункт! Настраиваем Excel. Файл=>Параметры=>Дополнительно находим параметр «Использовать системные разделители». Убираем галочку, если стоит, а затем в параметре «Разделитель целой и дробной части:» ставим ТОЧКУ. Нажимаем «Ок». Делаем это для того, чтобы скопированные данные из MT4 вставлялись корректно. Этот пункт необходим и для корректного импорта и экспорта сетов;
2. Открываем модель и переходим на лист «Данные из терминала»;
3. Переключаемся на МТ4, в тестере стратегий выбираем вкладку «Результаты» и нажимаем Alt+A (Копировать все);
4. Переключаемся на Excel, на листе «Данные из терминала» встаем в ячейку A1 и нажимаем Ctrl+V;
5. Переходим на лист «Сводная МОДЕЛЬ 1×1» в ячейке AJ14 выбираем пару;
6. Нажимаем кнопку «Подсчёт Дан из Терм». Ждём, пока обновятся сводные таблицы. В результате, получаем информацию о построенных советником сетках.
Подсчёт сеток из отчётов Statement, DetailedStatement, StrategyTester.
1. На листе «Сводная МОДЕЛЬ 1×1» в ячейке AJ14 выбираем пару;
2. Переходим на лист «DSt». Встаём в ячейку A1;
3. Вкладка «Данные», получение внешних данных, выбираем «Из других источников», затем нажимаем «Из импорта данных XML». В окне «Выбор источника данных» выбираем файл с отчётом Statement или DetailedStatement и нажимаем «Открыть»;
4. В окне «Создание веб-запроса» нажимаем «Импорт». Откроется «Импорт данных», жмём свойства, убираем галку «Сохранить определение запроса», «Ок», еще раз «Ок»;
5. Переходим на лист «Сводная МОДЕЛЬ 1×1». Используем кнопку «Подсчёт DSt». Формат и подсчёт не мгновенен, ждём 1-3 минут, в зависимости от характеристик ПК. Если в загруженном файле несколько валют, то для пересчёта достаточно выбрать другую пару, и нажать «Подсчёт DSt» (только для отчётов Statement /DetailedStatement). Аналогично действуем для подсчёта сеток из отчёта StrategyTester. На соответствующем листе импортируем данные, и нажимаем кнопку «Подсчёт StratTester». Перед импортом нового отчёта или вставки данных из терминала очищаем лист: Ctrl+A, Delete.
Импорт, экспорт сетов.
Выполняем 1-ый пункт инструкции подсчёта сеток.
- Кнопка «ИМПОРТ сета» – загрузить сет в файл. Чтобы при импорте видеть файлы с расширением «set» выбираем «Все файлы». Корректно импортируются только файлы «*.set» или «*.txt». При отмене импорта, выскакивает ошибка «1004» (баг, не удалось пока победить), просто нажимаем «End» и работаем дальше;
- Кнопка «к МОДЕЛИ Sell» – применить к модели значения параметров для сеток Sell, из загруженного сета;
- Кнопка «к МОДЕЛИ Buy» – применить к модели значения параметров для сеток Buy, из загруженного сета;
- Кнопка «к СЕТу как Sell» – применить к сету, который будет выгружаться, текущие значения параметров модели, и сохранить их как настройки параметров для сеток Sell;
- Кнопка «к СЕТу как Buy» – применить к сету, который будет выгружаться, текущие значения параметров модели, и сохранить их как настройки параметров для сеток Buy;
- Кнопка «ЭКСПОРТ сета» – выгрузить сет из файла. Экспорт осуществляется в формате «txt», т.о. в MT4 при загрузке выбираем «AllFiles». Актуальное состояние настроек сета для экспорта можно посмотреть (только посмотреть!) на листе «SET_export»;
- Параметры, которые можно изменить в сете, указаны на картинке «Параметры» во вложении. Т.е. остальные настройки загруженного сета не меняются. По умолчанию загружен дефолтный сет.
⇒Итак, любой технология работы с сетами следующая.
В метатрейдере прогоняем версию советника для оптимизации и находим сеты, которые нам нравятся по прибыльности, просадке либо другим признакам. Затем сет прогоняется в тестере метатрейдера, как обычно. Затем стейтмент с теста “заряжается” в анализатор статистики сеток от Drew и вы получаете просто феерическую таблицу со статистикой сеток из стейтмента теста. Из таблицы вы узнаете максимальное количество колен, достигнутое в ходе теста/опта!
Далее тоже в автомате, нажатием кнопок и кликами мыши, вы загружаете в модель анализируемый сет.
Скрипт AccountInfo+ дает вам подлинную информацию о свойствах тестируемой валютной пары в вашем ДЦ и вы вводите в модель точные настройки на пару|ДЦ – цену пипса, залог, %stopout.
Имея в модели сет, настройки на пару|ДЦ и количество колен, вы точно вычисляете размер депозита, необходимый для сета с известным количеством колен и выявленной в тестах просадкой!
Осталось в сет ввести реальное количество колен – и у Вас есть сет для торговли, рассчитанный с помощью математического анализа поведения сета на выбранном интервале времени.
Таким образом, мы не вслепую задаём параметры советника, надеясь, что он выдержит рыночные движения, а конструируем сеты, исходя из рыночных условий.
Индикатор CandlesSingleAverageStatistics 1.7.1ind (автор – usver73)
Индикатор служит для получения информации о волатильности на заданном таймфрейме у заданной пары – необходимо для проектирования оптимальной длины сеток
Утилита CandlesSingleAverageStatistics 1.7.1ind представляет из себя индикатор, устанавливающийся по стандартной инструкции, который запускается на нужном таймфрейме и рассчитывает статистику по размеру свечей в заданном периоде. Эта информация весьма полезна для проектирования торгов с мартингейлом.
За указанный в настройках период, по инструменту и таймфрейму, на котором висит индикатор, собирается статистика по свечам. Информация группируется по 12 однотипным блокам (каждый блок – свой период), которые, в свою очередь, выдают следующую информацию:
- Количество баров;
- Средняя волатильность;
- Среднее тело;
- Средняя верхняя тень;
- Средняя нижняя тень;
- Максимальная свеча;
- Максимальное тело свечи;
- Максимальная верхняя тень;
- Максимальная нижняя тень.
Данный набор считается отдельно для следующих периодов (отдельный блок для каждого периода):
- весь период (все свечи, только БАЙ, только СЕЛЛ);
- по дням недели (все свечи, только БАЙ, только СЕЛЛ):
понедельник
вторник
среда
четверг
пятница
Те же периоды, но за определенный промежуток внутри дня. Например, Европейская сессия:
- весь период (т.е. все свечи в Европейскую сессию);
- по дням недели (также учитываются только свечи в Европейскую сессию):
понедельник
вторник
среда
четверг
пятница
Скриншот настроек индикатора
BeginDateCalc = D’2017.01.01′; – начало анализируемого периода;
EndDateCalc = D’2017.06.30 23:59:59′; – конец анализируемого периода.
“Интрадей периоды”:
IDbegin=0;// Интрадей начало периода – начало внутридневного периода (час);
IDlenth=2;// Интрадей продолжительность периода – продолжительность внутридневного периода (час). Если интрадей-анализ не проводится (IDlenth=0), то на экран выводится только 6 блоков.
Настройки панели:
BackColor = clrWhiteSmoke; //Цвет фона;
FontColor = clrDarkBlue; //Цвет шрифта.
Скриншот результатов работы индикатора
X – крестик справа вверху – кнопка закрытия результатов расчётов;
O – буква справа вверху – кнопка “обновить”. Полезно, если нужно подгрузить историю путем прокрутки графика назад.
⇒Вся информация также записывается в csv-файл, находящийся по пути:
TerminalMQL4Files (если тестирование на счете), либо по пути:
Terminaltesterfiles (если тестирование в тестере стратегий).
Имя файла : “Имя индикатора_Инструмент_Таймфрейм”.csv
например, “CandlesSingleAverageStatistics_GBPUSD_M15.csv”.
Если делать прогон по одному и тому же инструменту на одном и том же таймфрейме, то новая информация записывается в конец файла.
Если индикатор висит на графике, то файл *.csv заблокирован и не доступен для чтения. Также будет ошибка, если запустить индикатор на другом графике с тем же инструментом и таймфреймом.
CandlesSingleAverageStatistics.xlsx (автор – Drew)
Файл служит для получения информации о волатильности на заданном таймфрейме у заданной пары, но не с помощью индикатора, а используя архив котировок в терминале Метатрейдера
Это аналог индикатора CandlesSingleAverageStatistics 1.7.1ind в виде экселевской таблицы. Это может быть полезно тем, кто хочет получить данные непосредственно в формате Excel.
Скриншот начального экрана таблицы
1) Очень важный пункт! Настраиваем Excel. Файл=>Параметры=>Дополнительно находим параметр «Использовать системные разделители». Убираем галочку, если стоит, а затем в параметре «Разделитель целой и дробной части:» ставим ТОЧКУ. Нажимаем «OK»;
2) Указываем в настройках терминала макс. баров в истории не более 500000;
3) Из архива котировок терминала, экспортируем данные, нужной пары и необходимого таймфрейма, в файл формата csv;
4) Открываем файл «CandlesSingleAverageStatistics.xlsx». На листе «result» в ячейке B2 выбираем пару, историю которой ранее выгрузили из терминала;
5) В закладке «Данные» нажимаем «Обновить все». Выбираем в появившемся окне ранее выгруженный файл с историей, в формате csv. Жмём «Открыть»;
6) После загрузки, в соответствующих ячейках прописываем интересующий период и интервал сессии.
Данные в ячейках рассчитаются автоматически.
Setka – InfoPanel (автор – ilnur17021992)
Скриншот InfoPanel в отображении Full (полный вариант)
Скриншот InfoPanel в отображении Light (облегчённый вариант)
Отображаемая информация и пояснения к ней
Account information – блок информации по счету:
- Balance: 3095.49 USD – баланс в валюте счета;
- Profit/DD: -94.61 (-3.06%) – текущая прибыль/просадка счета (в % от баланса);
- Max DD: -94.61 (-3.06%) – максимальная просадка зафиксированная с момента запуска панели (в % от баланса);
- Equity: 3000.88 – средства;
- Free margin: 2936.69 – свободная маржа.
Sell grid information – блок информации по Sell сетке:
- Level: 14 Lots: 0.38 – количество колен и сумма лотов;
- Length: 147 TP: 44 (29.93%) – длина сетки и расстояние от последнего колена до ТП (в % от длины сетки);
- Closing profit: 33.65 (1.09%) – сумма прибыли по закрытию текущей сетки по ТП (в % от баланса);
- TP distance: 33 (22.45%) – текущее расстояние от цены до ТП (в % от длины сетки);
- Stop Out distance: 783 – текущее расстояние от цены до Stop Out;
- Profit/DD: -92.75 (-3.00%) – текущая прибыль/просадка сетки (в % от баланса).
Buy grid information – блок информации по Buy сетке
…аналогично блоку Sell grid information
Pair information – блок информации по торгуемой паре:
- Pair: AUDCHF – имя символа;
- Total profit: 310.13 USD – сумма прибыли в валюте счета, заработанная на этой паре начиная с даты, указанной в ProfitFromDateTime;
- Margin required: 153.68 $ – маржинальные требования;
- Price pips: 10.08 $ – цена пипса;
- Spread: 8 – спред;
- Leverage: 1:500 – плечо.
История (сетка) ордеров, сумма прибыли после закрытия сетки и уровень безубытка на графике:
Описание настроек индикатора InfoPanel
Display – Настройки отображения:
- Mode – режим (Light – облегченный, отображение только блоков информации по сеткам, Full – полноценный, отображение всех блоков информации);
- HorizontalPosition – горизонтальная позиция панели на графике;
- VerticalPosition – вертикальная позиция панели на графике;
- SellGridInformationColor – цвет фона информации Sell сеток;
- BuyGridInformationColor – цвет фона информации Buy сеток;
- UseNoLossLevel – отображать уровень безубытка сеток на графике;
- NoLossLevelColor – цвет уровня безубытка;
- UseHistoryOrders – отображать историю ордеров/профита на графике;
- ProfitFromDateTime – дата с которой будет отображаться история ордеров/профита на графике, а так же дата с которой будет подсчитываться;
- FontSize – размер текста;
- SellColor – цвет фона профита для Sell сеток;
- BuyColor – цвет фона профита для Buy сеток;
- ProfitColor – цвет профита;
- Timing – количество секунд для подсчета профита закрытых сеток.
MagicNumberControl – контроль Magic номера:
- MagicNumber – мэджики ордеров сетки;
- MagicAlertPeriod – период отправки оповещения/отчета в секундах о магическом номере ордера;
- PopupMagicAlert – выводить оповещение/отчет на экран в терминале о контроле магиков ордеров;
- EmailMagicAlert – выводить оповещение/отчет на электронную почту в терминале о контроле магиков ордеров;
- PushMagicAlert – отправлять оповещение/отчет на мобильные устройства о контроле магиков ордеров.
OpenFirstOrderAlert – Оповещение об открытии первого ордера сетки:
- PopupOpenFirstOrderAlert – выводить оповещение/отчет на экран в терминале об открытии первого ордера сетки;
- EmailOpenFirstOrderAlert – выводить оповещение/отчет на электронную почту в терминале об открытии первого ордера сетки;
- PushOpenFirstOrderAlert – отправлять оповещение/отчет на мобильные устройства об открытии первого ордера сетки.
SpreadControl – контроль спреда:
- MaxSpread – максимально допустимый спред;
- MaxSpreadAlertPeriod – период отправки оповещения/отчета в секундах о максимальном спреде;
- PopupMaxSpreadAlert – выводить оповещение/отчет на экран в терминале о максимальном спреде;
- EmailMaxSpreadAlert – выводить оповещение/отчет на электронную почту в терминале о максимальном спреде;
- PushMaxSpreadAlert – отправлять оповещение/отчет на мобильные устройства о максимальном спреде.
LeverageControl – контроль кредитного плеча:
- MinLiverage – минимально допустимое плечо;
- MinLiverageAlertPeriod – период отправки оповещения/отчета в секундах о минимально допустимом плече;
- PopupMinLiverageAlert – выводить оповещение/отчет на экран в терминале о минимально допустимом плече;
- EmailMinLiverageAlert – выводить оповещение/отчет на электронную почту в терминале о минимально допустимом плече;
- PushMinLiverageAlert – отправлять оповещение/отчет на мобильные устройства о минимально допустимом плече.
DrawdownControl – контроль просадки:
- DrawdownMoney – максимально допустимая просадка в деньгах депозита;
- DrawdownPercent – максимально допустимая просадка в процентах;
- DrawdownAlertPeriod – период отправки оповещения/отчета в секундах о максимально допустимой просадке;
- PopupDrawdownAlert – выводить оповещение/отчет на экран в терминале о максимально допустимой просадке;
- EmailDrawdownAlert – выводить оповещение/отчет на электронную почту в терминале о максимально допустимой просадке;
- PushDrawdownAlert – отправлять оповещение/отчет на мобильные устройства о максимально допустимой просадке.
OpenFirstOrderAlert – оповещение об открытии первого ордера сетки + цена открытия первого ордера:
- PopupOpenFirstOrderAlert – выводить оповещение/отчет на экран в терминале о открытии первого ордера сетки и его цене;
- EmailOpenFirstOrderAlert – выводить оповещение/отчет на электронную почту в терминале о открытии первого ордера сетки и его цене;
- PushOpenFirstOrderAlert – отправлять оповещение/отчет на мобильные устройства о открытии первого ордера сетки и его цене.
CloseGridAlert – оповещение о закрытии сетки + сумма профита по закрытию сетки:
- PopupCloseGridAlert – выводить оповещение/отчет на экран в терминале о закрытии сетки и сумме профита;
- EmailCloseGridAlert – выводить оповещение/отчет на электронную почту в терминале о закрытии сетки и сумме профита;
- PushCloseGridAlert – отправлять оповещение/отчет на мобильные устройства о закрытии сетки и сумме профита.
NoLossLevelAlert – Оповещении о достижении цены уровня безубытка (БУ) сетки:
- NoLossLevelAlertPeriod – период отправки оповещения/отчета в секундах о достижении цены уровня безубытка;
- PopupNoLossLevelAlert – выводить оповещение/отчет на экран в терминале о о достижении цены уровня безубытка;
- EmailNoLossLevelAlert – выводить оповещение/отчет на электронную почту в терминале о достижении цены уровня безубытка;
- PushNoLossLevelAlert – отправлять оповещение/отчет на мобильные устройства о достижении цены уровня безубытка.
Report – отправка отчёта о текущем состоянии счета и сеток:
-
- ReportPeriod – период отправки оповещения/отчета о текущем состоянии счета и сеток;
- PopupReport – выводить оповещение/отчет на экран о текущем состоянии счета и сеток;
- EmailReport – выводить оповещение/отчет на электронную почту в терминале о текущем состоянии счета и сеток;
- PushReport – отправлять оповещение/отчет на мобильные устройства о текущем состоянии счета и сеток.
- AddComment – Ваш комментарий, который будет присутствовать во всех оповещениях и отчетах индикатора.
Примечание: Для того, чтобы панель “увидела” ваши ордера, нужно обязательно заполнить MagicNumber в настройках. Панель не привязана жестко к графику, ее можно сворачивать и перетаскивать в любое удобное место. Так же можно заранее узнать какой будет прибыль/просадка для текущих сеток на определенном уровне цены. Для этого нужно перетащить мышкой уровень БУ вверх или вниз на определенную цену (и не отпускать), на следующем тике панель рассчитает прибыль/просадку и отобразит в Profit/DD. Если отпустить линию БУ, то на следующем тике она встанет на свое место, то есть на уровень БУ.
⇒Как настроить терминал для отправки сообщений на почту написано в официальной справке тут;
⇒Как настроить терминал для отправки Push-сообщений на мобильные устройства написано в официальной справке тут.
Итоги
Советник Setka TLP и дополнительные утилиты – это профессиональный набор инструментов для зарабатывания прибыли.
Автономные настройки сеток отдельно на покупку (buy) и на продажу (sell), возможность корректировки геометрии и множителей ордеров, большое количество условий на открытие и принудительное закрытие, уникальная обработка импульсов и гэпов позволяют настраивать советник в зависимости от характера рынка и валютной пары, в том числе асимметричной для направлений buy и sell.
Дополнительные утилиты – это совершенно необходимый “джентльменский набор” для разработчиков сетов, т.к . параметры эксперта Setka TLP рассчитываются, исходя из данных тестирования в терминале или торговли на счёте. Мы настраиваем робота под рынок, а не ждём, когда рынок подстроится под нас!
Правильность такого подхода проверена тестами, мониторингами и большим количеством трейдеров, которые уже успешно торгуют советником Setka TLP на реальных счетах.
“И что мне со всем этим делать ?”
⇒Если Вы не имеете большого опыта в торговле сеточниками или просто хотите использовать проверенный надёжный вариант, то Вам следует использовать сеты и пары из архива (EUR/USD и GBP/USD, депозит от 15 000 единиц) – они настроены консервативно, результат их использования Вы можете наблюдать на мониторинге в Роботесте.
Если же Вы готовы исследовать возможности максимально эффективной работы советником Setka TLP, то Вам необходимо использовать дополнительные утилиты для тестирования и анализа, это стало де-факто стандартной процедурой в разработке профессиональных сетов для советника Setka TLP на нашем форуме. И, придется изучать ветку советника на форуме. Да, на это уйдет время, но и бот на данный момент – самый совершенный и продвинутый сеточник в мире.
Важно !
Для корректной работы советника торговый терминал должен быть включенным с открытия рынка вечером в воскресенье до его закрытия вечером в пятницу. Если у вас нет возможности держать компьютер в рабочем состоянии 24/5, то рекомендуется использовать услугу VPS сервера.
Скачать советник Setka TLP и дополнительные утилиты
Пароль к архиву – setka
С уважением, Алексей aka Мерлин
TradeLikeaPro.ru
Топ Брокеров 2025 по версии TLAP
Центовые счета
Быстрый ввод и вывод
Платформа CopyFx для копирования сигналов
Отличное исполнение
На рынке с 1998 года
Низкие спреды
Быстрый ввод и вывод
Хорошее исполнение
Множество способов пополнения
С 2007 года на рынке
Счета Zero с нулевыми спредами
Система Копи-трейдинга
Хорошее исполнение
Более 500 торговых инструментов
Комиссия на пополнение 0%
Лицензия ЦБ РФ
Удобный ввод и вывод средств
Подходит для крупных трейдеров
Крупнейший форекс дилер в России
Компания – налоговый агент, выплата налогов без участия клиента
Торговля через MetaTrader 5
Форекс, фондовые индексы и нефть
Низкие спреды
Хорошее исполнение
Подходит для торговли советниками
Торговля криптовалютами
Центовые счета со стартовым лотом 0.01
Система копирования сделок Share4You
Низкие спреды
Подходит для новичков
Лучшие на рынке условия для работы с сеточниками и мартингейлом
Исполнение без вмешательства дилинга
Низкие спреды
Трейдинг Forex, CFD и Crypto
Полная прозрачность работы
Множество представительств компании, в том числе в Великобритании
На рынке с 2006 года
| ||
| ||
| ||
| ||
| ||
| ||
|