
Вы устали от бесконечных Стоп-Лоссов? Вы - рисковый авантюрист в поискать безграничной прибыли?!
Узрите! Советник, о котором многие мечтали. Советник, которого хотели, но боялись спросить!
Адская смесь из самых глубин ада - Генерик с функцией построения динамической сетки Мартингейл!!! ![]()
Название советника: Generic v14.
Альтернативное название: Геннадий, МартинГена, Гена ![]()
Таймфрейм: М15
Описание: Модернизированная 12 версия всем известного Generic TLP с функцией построения сетки в обе стороны. Сеть строиться динамически при пересечении канала BB при достаточной минимальной дистанции между ордерами, рассчитываемой с помощью ATR.
Лишние на мой взгляд функции выкинуты из кода Генерика, чтобы увеличить его продуктивность.
Отличительной особенностью данного Мартингейла являются очень точные входы первого ордера по сигналам Генерика, что уменьшает риск излишнего построения сетки и увеличивает шанс скорейшего закрытия таковой.
Присутствует БУ, настройка уменьшения ТП с каждым новым коленом сетки, усреднение после N колен сетки, пересчет ТП при начислении свопа, частичное закрытие сетки, тралл. Фильтры для торговли равнонаправленными парами, ограничение входа при большом значении просадки, фильтр максимального количества пар в рынке. В общем, очень навороченный мод.
Настройки
(Если от количества настроек вам стало плохо - подписывайтесь на сигнал автора, там торгует этот же советник)
<==== GENERAL SETTINGS ====>
Set Name - Наименование сет-файла.
Magic Number - Мэджик-номер советника.
Slippage - проскальзывание в старых пунктах.
Lot - Фиксированный объём лота, с которым советник будет открывать ордера.
DepoPer001Lot - Значение АвтоММ, заданное в размере отведенного депозита для 0.01 лота.
Take Profit - Фиксированный размер тейк-профита, в пунктах.
Dynamic TP: Channel Percent - Take Profit высчитывается как указанный процент от ширины текущего канала индикатора Bollinger Bands. При открытии нового ордера Dynamic TP пересчитывается. Если значение параметра = 0, размер ТП берётся из Take Profit.
Dynamic TP: Min Size - Минимальный размер тейк-профита при использовании параметра Dynamic TP: Channel Percent, в пунктах.
TrailingStartLevel - номер колена, с которого начинается тралл всех ордеров сетки.
TrailingStep - шаг тралла между текущей ценой и СЛ. Если тралл начинается с 1 колена, то шаг должен быть больше 10 пп, иначе есть вариант открытия большого количества сделок из-за резкого движения цены.
<==== Extra Settings====>
StopOpenNewOrders - В положении true советник прекратит открывать ордера по паре, которая еще не в рынке.
Max Spread - Максимально допустимый спред в пунктах, выше которого советник не будет открывать ордера, пока спред не стабилизируется. Действует для всей сетки.
Stop Loss - Стоп Лосс в пунктах (задается для всей корзины). При 0 - выкл.
ExitDDPercent - процент просадки, при котором принудительно будут закрыты все ордера по данной паре. При 0 - выкл. Пример: Если по EURUSD 10 сделок в buy и 2 в sell, но суммарная просадка больше ExitDDPercent % - все ордера EURUSD закрывается принудительно.
StopByMaxDD % - процент просадки, при достижении которого советник не будет открывать новую сетку.
StopByMaxDD: Allow Opposite Enter - если true, то при просадке, превышающей StopByMaxDD % разрешен вход противоположным ордеров по этой же паре. Т.е. если сетка в рынке в минусе на бай, то мы позволяем входить на селл (своеобразное хеджирование).
StopByMaxSymbolTrades - фильтр контролирует максимальное количество торговых пар, одновременно разрешенных в рынке.
StopEqualCurrencyTrade - фильтр контролирует однонаправленные торговые пары в рынке и запрещает вход по ним. Если StopEqualCurrencyTrade = 1, и по EURUSD есть открытая сделка в покупку, то EURCAD в покупку уже не откроется. Если StopEqualCurrencyTrade = 2, и есть открытая сделка в покупку по EURUSD, то EURCAD в покупку откроется, а уже третья пара, например EURAUD уже нет.
StopEqualCurrencyDelay произвольная задержка перед проверкой фильтра по валютам от 0 до 10 секунд. Нужна, чтобы избежать входа второй парой, если по двум однонаправленным парам на одном тике появится сигналы.
CurrencyTradeMaxHours - Время в часах, после которого фильтр по валюте перестает работать. При 0 - выкл. Т.е. если у нас висит в рынке сетка больше скажем 24 часов, то мы предполагаем, что входить по однонаправленной паре уже не так страшно, что две сетки уже так сильно не растянутся (гипотетически) и фильтр игнорируем. Полезно, когда не хочешь, чтобы в одну азиатскую сессию входило 2 пары, а на следующий день уже разрешаешь.
<==== ENTER SETTINGS ====>
<== Bollinger Bands Settings ==>
BB: Period - Период индикатора Bollinger Bands.
BB: Deviation - Отклонение индикатора Bollinger Bands.
BB: Delta - Отступ от границ канала индикатора Bollinger Bands, в пунктах. Может быть в обе стороны.
BB: Min Channel Width - Минимальная ширина канала Bollinger Bands, при которой советнику разрешено торговать, в пунктах.
<== CCI Settings ==>
CCI: Period - Период индикатора Commodity Channel Index. При 0 - сигнал с индикатора не берется.
CCI: Level - Уровень индикатора Commodity Channel Index. Расcчитывается для противоположных знаков. Т.е. при CCI: Level = 100 будут браться уровни 100 и -100.
<== Candle Size Filter ==>
UseMaxCandleForAllOrders - проверять фильтр свечи для каждого ордера сетки. При False - выключен.
Max Candle Size - Максимальный размер суммы длин N последних свечей(от High до Low), при превышении которого советник не будет открывать новые ордера.
Bars For Analyze - Количество последних свечей на графике для анализа размера свечи. Отсчёт начинается с [1] свечи.
<==== GRID SETTINGS ====>
ATR Period for Distance - период индикатора ATR для расчета минимально допустимого расстояния между ордерами сетки.
ATR Multiplier - множитель для значения индикатора ATR.
Multiplier 3 level - множитель лота только для третьего колена сетки. Второе колено всегда открывается с первоначальным лотом.
Multiplier > 3 level - множитель лота сетки, начиная с 4 колена.
Same Grid Orders Lot Size - количество ордеров подряд, у которых лот будет одинаковым. При значении меньше, чем 2 - выкл и расчет идет как раньше.
пример:
Multiplier>3 level = 2, Same Grid Orders Lot Size = 2: 0.01-0.01-0.02-0.02-0.04-0.04-0.08-0.08-...
Multiplier>3 level = 2, Same Grid Orders Lot Size = 3: 0.01-0.01-0.01-0.02-0.02-0.02-0.04-0.04-0.04-0.08-0.08-0.08-...
TPDecreasePercent - параметр уменьшения ТП сетки на заданный процент каждый раз при открытии нового колена. К примеру, если Take Profit = 50пп, TPDecreasePercent = 10%, то ТП первого ордера будет равен 50пп, второго - 45пп, третьего - 40пп и т.д.
Breakeven Level - номер колена, с которого ТП сетки переводиться в безубыток. При переводе учитывается своп и комиссия уже открытых ордеров плюс 0.1 пункт.
Breakeven Step - отступ от уровня БУ в старых пунктах. (использовать для компенсации свопов и комиссий при переводе в БУ затяжных по времени сеток)
Breakeven Include Swap and Comission - учитывать своп и комиссии при расчете БУ и ТП.
Averaging_Level - номер колена, на котором лот перестает умножаться на множитель и выставляется равным последнему открытому.
<==== Grid Extra Close Settings ====>
Part Close Level - номер колена с которого советник начнет проверять доход и просадку самого первого и указанного в настройке ордера. При 0 или 1 - параметр выключен.
Part Close Profit Percent - процент дохода между 1 и Part Close Level ордером, после которого советник закроет эти оба ордера. Т.е. если баланс счета 1000$, процент равен Part Close Profit Percent=1 (т.е. 10$) и просадка первого ордера = -40$, а доход Part Close Level ордера равен 50, то 50-40 = 10 что равно нашему проценту закрытия и мы кроем эти ордера. Процент закрытия может быть отрицательным, т.е. при -1 когда у нас перый ордер = -50, а пятый 40, то в сумме это -10 - мы кроем в небольшой минус.
Далее после закрытия этих ордеров в рынке остается на два ордера меньше. Советник пересчитывает цели оставшихся ордеров и продолжает торговать по своей системе. После открытия следующего Part Close Level ордера советник начинает снова проверять этот фильтр на возможность закрытие нового первого ордера и последнего.
<==== EXIT SETTINGS ====>
Exit Profit Percent - Процент от тейк-профита, при достижении которого начинают работать 4 фильтра на выход из позиции.
Exit BB Filter: Out Channel Distance - Дистанция от противоположной границы канала индикатора BB в пунктах, при достижении которой произойдёт закрытие. Если значение параметра = 0 - выключен.
Exit CCI Filter: Period - Период индикатора Commodity Channel Index для принудительного закрытия при появлении противоположного сигнала индикатора.
Exit MA Filter: Period - Период индикатора Moving Average, при изменении направления которого произойдёт принудительное закрытие.
Exit Time Filter: Minutes - Количество минут от последнего ордера, по истечению которых произойдёт принудительное закрытие в плюс.
<==== 1 ORDER TRADE TIME FILTER ====> - параметры действуют только для первого ордера сетки
GMT Offset - Смещение во времени относительно GMT брокера, в часах. Приложенные сеты оптимизировались по GMT+2. Если у вашего брокера другое значение GMT - выставляйте корректное значение. К примеру если у вас GMT+1, то GMT Offset = -1. Если вы используете собственные сеты - настройку менять не нужно.
Start Trade Hour - Час начала торговли.
Start Trade Minute - Минуты начала торговли.
End Trade Hour - Час окончания торговли.
End Trade Minute - Минуты окончания торговли.
<==== 1 ORDER ROLLOVER FILTER ====> - параметры действуют только для первого ордера сетки
Rollover Filter - Если true, фильтр активирован.
Start Rollover Hour - Час начала работы фильтра.
Start Rollover Minute - Минуты начала работы фильтра.
End Rollover Hour - Час окончания работы фильтра.
End Rollover Minute - Минута окончания работы фильтра.
<==== OTHER SETTINGS ====>
Show Panel - Если true, на графике с советником будет отображаться графическая панель с информацией.
Show Signal Points - Если true, на каждой свече графика с советником будут отображаться линии в виде зафиксированных значений канала индикатора Bollinger Bands +/-Delta.
Panel Color - Цвет графической панели.
Logging Mode - Режим логирования: все записи (All), только ошибки (Only Errors), ничего (Off).
Write Log File - Если true, советник будет создавать текстовый файл с логами советника. Расположение в каталоге данных терминала: MQL4 --> Files (при торговле), Tester --> Files (при тестировании).
Особенности установки советника
1. ВАЖНО: Во всех стандартных сетах параметр GMT_Offest имеет значение "0". Сеты делались на котировках брокера, работающего по времени GMT +2 DST (т.е. GMT+3 летом, GMT+2 зимой). Большинство брокеров используют это время.
Примеры настройки смещения времени для наших сетов.
Пример 1: У брокера время GMT+2 DST. (Альпари, робофорекс и все основные). Ничего менять не нужно, GMT_Offset = 0, ведь вы пользуетесь сетами именно под это время.
Пример 2: У брокера время GMT+3 DST. Это значит, что он переходит на зимнее/летнее время, но его GMT отличается от данных сетов, поэтому оффсет нужно выставить постоянно равным -1.
Пример 3: Время брокера GMT+1 DST. Параметр GMT_Offset ставите = 1
Пример 4: У брокера время GMT+2. Нет перехода на зимнее/летнее. Тогда, после того, как Европа перейдет на летнее время вы ставите руками offset = 1, когда вернется на зимнее - ставите 0. Т.е. 2 раза в год.
Если вы пользуетесь своими сетами, то смещение времени должно быть относительно времени, на котором происходили тесты.
2. Все сеты от меня, Mr.Joker или tolyayugan, имеющие в названии старую версию советника, подходят на новые версии. Функции, которые добавлялись позже, по умолчанию в сете отключены. Перед установкой сеты нужно проверять в тестере, т.к. делались они давно, многое могло измениться.
3. Параметры группы "Extra Settings" в сетах имеют произвольное значение. Почти все они не влияют на результаты тестов и работы каждого отдельного сета, а предназначены для контроля просадки и мультиторговли. Каждый пользователь настраивает их под себя, внимательно изучив их описание.
4. Плечо рекомендуется использовать строго 1:500 и выше. Максимальный спред ограничивать значением 3-4 пункта.
5. При работе советник использует глобальные переменные, чтобы запоминать нужное колено сетки и направление этих ордеров. Для стабильной работы удалять их запрещено.
История версий
v.14.01.05 - 2017.04.07
– Добавлен СЛ при достижении процента просадки ExitDDPercent.
v.14.01.06 - 2017.04.09
– Добавлено 2 значения множителя: для третьего и остальных колен. Они никак не зависят друг от друга.
Multiplier1 один раз умножается на лот первого ордера. Multiplier2 высчитывается как степень из лота первого ордера.
v.14.01.07 - 2017.04.10
– Исправлен подсчет суммарного лота для колен на Инфопанеле. Раньше он не отображался.
– Исправлен вывод информации о пунктах прибыли для сетки в журнале.
– Теперь при выходе по фильтрам советник пишет общее количество закрытых пунктов сетки на графике.
– Добавлены 2 линии БУ, если сделки открыты сразу в обе стороны.
– Изменен фильтр Max Candle Size. Теперь он высчитывает общую длину по сумме Bars For Analyze свечей от Хай до Аска при покупках, и от Бида до Лоу при продажах. Тем самым мы узнаем волатильность не последней свечи, а группы свечей.
– Исправлена ошибка преждевременного выхода из сделки при 0.1-1 пункте профита для динамического ТП.
– Добавлена функция TP Decrease Percent. При значении больше 0 с каждым новым коленом сетки она уменьшает общий ТП на заданный процент вплоть до достижения БУ. Например: ТП = 50, TP Decrease Percent = 10%, значит при открытии второго колена сетки ТП будет равен: 50-50*0.01 = 45 пипсов.
v.14.01.08 - 2017.04.13
– Чистка кода, мелкая корректировка недостатков.
– Добавлено усреднение старших лотов Averaging_Level. Если кол-во ордеров больше заданного кол-ва, то следующий ордер откроется с лотом предыдущего.
v.14.01.09 - 2017.04.13
– Переделана проверка на каждом тике, если ATR = 0 - выход из функции. Если будет выдавать ошибку массива, значит советнику недостаточно баров для построения инфопанели.
v.14.01.10 - 2017.04.20
– Убран вывод 0 ошибки.
v.14.01.11 - 2017.06.02
– Исправлена ошибка замены СЛ ордеров, которые были открыты другими советниками/вручную.
v.14.01.13 - 2017.06.23
– Добавлен фильтр максимальной просадки Max_DrawDown, выше которой советник не будет открывать новые сделки.
v.14.01.14 - 2017.09.13
– Исправлен текст записи на графике при касании канала (Filter On: CCI).
v.14.01.15 - 2017.09.21
Добавлено 2 фильтра:
– StopByMaxSymbolTrades: контролирует максимальное количество торговых пар одновременно разрешенных в рынке. Например, если открыто 3 пары в любом направлении, и StopByMaxSymbolTrades = 3, то 4 пара при появлении сигнала не откроет сделку.
– StopEqualCurrencyTrade: контролирует однонаправленные торговые пары в рынке и запрещает вход по ним. Например, в рынке открыта сделка EURUSD на buy, значит советник запрещает любые покупки для пар, название которых начинается с EUR, либо оканчивается на USD, и продажи для пар начинающихся с USD и заканчивающимися на EUR.
v.14.01.16 - 2017.09.24
– Добавлен параметр Breakeven Step - отступ от уровня БУ в старых пунктах.
v.14.01.17 - 2017.09.27
– Косметический ремонт, сортировка переменных и т.п.
– Исправлен параметр Dynamic TP: Channel Percent.
– Исправлена ошибка игнорирования параметра Dynamic TP: Channel Percent.
v.14.01.19 - 2017.10.02
– Исправлен перевод ТП на уровень стоп-левела.
– Добавлен более подробный вывод в лог: вывод основной информации об открытии ордеров, а также возможных ошибках.
v.14.01.27 - 2017.10.10
– Исправлена ошибка "OrderModify error 1".
– Корректировка кода.
v.14.01.32 - 2017.10.14
– Убрана проверка наличия истории котировок, на некоторых терминалах советник спадал.
v.14.01.34 - 2017.10.23
– Исправлена ошибка в Инфопанели с ТП при изменении параметра в свойствах эксперта.
v.14.01.35 - 2017.10.29
– Добавлен параметр UseMaxCandleForAllOrders - проверять фильтр свечи для каждого ордера сетки. При False – выключен.
v.14.01.38 - 2017.11.16
– Изменен фильтр по однонаправленной валюте StopEqualCurrencyTrade. Теперь учитывает префиксы и суффиксы брокера.
v.14.01.39 - 2017.11.20
– Исправлена ошибка в 38 версии
v.14.01.40 - 2017.11.28
– Обновлена проверка на наличие показателей индикаторов. Если они возвращают 0, сигнал отменяется.
v.14.01.41 - 2017.12.04
– Убрано снятие советника с графика при отжатии кнопки Автоторговли.
– Добавлен параметр CurrencyTradeMaxHours. При 0 - выкл. Время в часах, после которого фильтр по валюте перестает работать.
v.14.01.42 - 2017.12.08
– Добавлен параметр StopEqualCurrencyDelay. Если true - то происходит рандомная задержка перед проверкой фильтра валют от 0 до 10 секунд.
v.14.01.43 - 2017.12.11
– Добавлен параметр StopOpenNewOrders. В положении true советник прекратит открывать ордера по паре, которая еще не в рынке.
v.14.01.44 - 2017.12.15
– Исправлена ошибка подсчета БУ. Теперь каждый тик идет проверка на ненулевой уровень БУ.
v.14.01.45 - 2018.01.15
– Исправлена ошибка при включенном Stop EcualCurrency Trade.
v.14.01.46 - 2018.02.15
– Параметр проскальзывания ордеров вынесен в настройки.
v.14.01.47 - 2018.03.01
– Разрешен вход противоположной позиции, даже, если просадка больше допустимой StopByMaxDD. Т.е. если уже есть сделка в покупку, то продажа по этой паре разрешена, независимо от просадки.
v.14.01.48 - 2018.03.18
– Разделение спреда для бай и селл: Max Spread BUY и Max Spread SELL. При 0 - выкл. Покупки открываются по Аску, продажи по Биду.
v.14.01.49 - 2018.03.20
– Добавлен дополнительный перерасчет просадки перед работой фильтра запрета торговли по просадке StopByMaxDD.
– Добавлена дополнительная проверка перед открытием нового ордера на наличие предыдущих в рынке.
– Добавлен параметр Level_for_LastOrderTP. Параметр отвечает за установку отдельного ТП для последнего ордера сетки. Параметр равен колену, с которого начинать выставлять отдельный ТП, значение не может быть меньше 3. ТП выставляется равным цене предпоследнего открытого ордера.
v.14.01.50 - 2018.03.22
– Добавлен параметр TrailingStartPercent: равен проценту до ТП, на котором начнется тралл сетки. При тралле отключается преждевременное закрытие сетки по фильтрам.
v.14.01.51 - 2018.03.26
– Добавлен параметр Same Grid Orders Lot Size - количество ордеров подряд, у которых лот будет одинаковым. При значении меньше, чем 2 - выкл и расчет идет как раньше.
v.14.01.52 - 2018.04.02
– Изменен расчет уровня безубытка сетки. Теперь учитываются комиссия и своп уже открытых ордеров плюс 0.1 старый пункт.
Советник не пересчитывает безубыток каждый ролловер. Для того, чтобы не быть в минусе из-за комиссий брокера есть параметр Breakeven Step - шаг отступа от уровня БУ для компенсации этих затрат, по умолчанию равный 1 пункту.
v.14.01.54 - 2018.04.03
– Добавлен перерасчет уровня БУ также при открытии каждого нового дня для корректировки изменений свопов и комиссий.
– Добавлен параметр Breakeven Include Swap and Comission - учитывать своп и комиссии при расчете БУ и ТП. При false будет работать как все предыдущие версию.
– Добавлен параметр для тралла TrailingStartLevel - колено, с которого начинать траллить сетку.
v.14.01.55 - 2018.04.11
- Исправлена работа тралла с фильтром предварительного закрытия сделок Exit Profit Percent.
v.14.01.56 TRAL TEST - 2018.04.12
- Модифицирован Трайлинг стоп.
v.14.01.57 TRAL TEST - 2018.04.20
- Добавлена проверка на ненулевой тик. Если равен 0 - ежедневный своп советником при расчете бу учитываться не будет.
v.14.01.58 - 2018.05.15
- Увеличено число попыток закрытия ордера при возникновении ошибки: 30 попыток через каждые 5 секунд паузы.
v.14.01.59 - 2018.05.16
- Исправлен фильтр просадки StopByMaxDD.
v.14.01.60 - 2018.05.22
- Изменен перерасчет БУ в начале каждого дня. Теперь советник делает расчеты в 00:05. Это нужно, чтобы пересчет шел корректно у брокер, которые закрывают рынок в 00:00.
v.14.01.61 - 2018.06.07
- Добавлен параметр StopByMaxDD: Allow Opposite Enter. Если true, то при просадке, превышающей StopByMaxDD % разрешен вход противоположным ордеров по этой же паре. Т.е. если сетка в рынке в минусе на бай, то мы позволяем входить на селл (своеобразное хеджирование).
14.01.76
- Исправлена ошибка работы тралла
14.01.77
- Добавлен параметр StopEqualCurrencyCount. Количество однонаправленных валютных пар, разрешенных в рынке.
14.02.79
- Добавлена дополнительная проверка на модификацию
- Добавлена проверка на общих ТП всех ордеров, если он отличается - модифицировать
- Добавлена проверка на динстанцию между ордерами, чтобы она не была отрицательной
14.02.81
- Поправлены комментарии при перевода в БУ ордеров.
14.03.82
- Добавлено частичное закрытие сетки ордеров
14.03.83
- Корректировка частичного закрытия сетки
14.03.84
- Добавлена улучшенная проверка на ошибку модификации ордера №130
- Исправлена ошибка выставления СЛ после ролловера брокера.
14.03.85
- Добавлена проверка на модификацию ТП после начисления свопа.
- Изменена модификация только для ордеров, где разница в 1 старый пункт
14.03.86
- Добавлено дополнительная проверка на корректное закрытие ордеров.
14.03.87
- Уменьшено время отображения комментария о запрете открытия ордера по просадке
14.03.88
- Изменен тралл, если по паре открыт только один ордер и дистанция до СЛ меньше 8пп, то сигнал на вход на этой свече обнуляется
14.03.89
- Добавлен параметр 'Min Time for Maringale' - минимальное время в часах, когда торговый лот сетки не будет увеличиваться.
Расчитывается от последнего по времени ордера, который был открыт не в рамках указанного времени. Выключен при значении, равном 0, либо если 'SameGridLotSize' > 1.
14.03.90
- Добавлен стоп в валюте депозита Exit DD Currency
Мониторинг от автора ReVeR27
___________________________________________________________________
Мониторинги в Роботесте Trade Like a Pro
Набор круглосуточных сетов от ostapbender
Набор сетов для депозита 100$, фиксированные лоты
Набор сетов для депозита 5000$, пропорциональные лоты
___________________________________________________________________
Мониторинг СергейСергей1975
Хочешь отблагодарить творца?
Подпишись на сигнал Советника с авторской подборкой сетов на MQL5.Commumity или SignalStart
Сеты от ostapbender : /laboratoriya-profitfx/24/sovetnik-martingeyl-generic-v14/16148/?page=77&tab=comments#comment-450365
Разработка советника полностью завершена. Любые предложения по дополнениям и изменениям кода не принимаются







