=====  ПАРАМЕТРЫ РОБОТА =====

PairsForTrading = GBPUSD;GBPJPY;EURUSD;EURGBP;EURJPY (и т.д) // [1-28]  Ты можешь ввести от 1 до 28 вал пар разделяя их [ ; ], на конце не нужно ничего вводить или ставить. Если у брокера есть суффикс пары вида EURUSD.m [.m] то мы его обязательно вводим в этом параметре: EURUSDx;GBPUSDx; или EURUSD.m;GBPUSD.m. Робот может работать с одного чарта и с одним сетом на всех валютных парах. Если тебе по каким-то причинам нужно торговать разные валютные пары с разными сетами – то в данном параметре прописывается конкретная отдельная пара и цепляется со своим сетом на эту пару (и так на отдельно каждую несколько роботов). При таком подходе желательно выставить большую цель по средствам во всех сетах.  В последней версии добавлена возможность работы на паре XAUUSD. (Многие юзеры просят закодить в следующих версиях возможность применять робот на Индексах – не парах вида XXX/YYY, к примеру робот не работает на GOLD но работает на XAUUSD хотя по факту это одно и то же). В тестере стратегий мультивалютные сеты в мт4 не работают – в этом параметре нужно вводить только 1 пару и ее же тестировать. Во избежание лишних ошибок при торговле на реал счетах робот должен быть прикреплен только на EURUSD чарт, даже если эта пара не прописана в списке пар данного параметра.

VisualButton = true // показывать ли контрольную панель (mt4gui.dll)?! Этот софт разработан не только как автоматический, но и полуавтоматический для больше прибыли у дневного трейдера (юзер контролирует робот время от времени : закрывает профит, добавляет трендовые локирующие ордера в верном направлении, ставит дополнительные отложенные ордера со специаьными магическими ордерами которые робот подхватывает, изменяет или увеличивает временную цель до которой робот может наторговать новый баланс внутри дня и начать функцию Перекрытия (Overlap) старой просадки …т.п ). Кнопки панели лучше выключать в тестере и в оптимизаторе – тогда робот заработает быстрее. Также если вы используете VPS и/или полностью автоматический режим торговли – данные кнопки вам ни к чему, их лучше выключить это снизит потребление ресурсов компьютера Метатрейдером

NoNewTrade = false // Если в True – робот достигнув TargetEquity(Цель по Средствам) закроет все ордера на счете (включая ваши ручные сделки отличные от мажиков робота и ордера других роботов) и больше не откроет ни одного ордера на счете, доработает до цели и остановится. До того, как робот достигнет цели – он будет открывать новые колени, серии и продолжает работу. Этот параметр для тех, кто хочет в день достигнуть какой-то минимальной цели и остановиться. Чтобы заставить рбот совершить очередной цикл торговли до очередной цели по TargetEquity нужно просто сделать NoNewTrade=false (робот начнет торговать) и как только робот откроет по всем парам сделки ты можешь сделать опять NoNwTrade=true чтобы дать роботу завершить начатый новый цикл и остановится после взятия цели по средствам. В тоже время ты можешь контролировать желаемый % цели по средствам используя кнопки и Global Variable = Depo0. При активации в True – робот не входит по новым парам, на которых нет ордеров или серий текущих, даже если данные пары сигналят открывать ордер! Робот просто продолжит дорабатывать пары, у которых есть серии до TargetEquity или робот позакрывает тейки или стопы у всех ордеров.

TradeBuy = true // if false – робот перестает торговлю в бай по любой паре

TradeSell = true // if false – робот перестает торговлю в селл по любой паре

NewSerialBuy = true // if false – Робот перестает стартовать новые серии в Бай. Он закончит все текущие серии в Бай, но новые бай серии не откроет.

NewSerialSell = true // if false – Робот перестает стартовать новые серии в Бай. Он закончит все текущие серии в Селл, но новые Селл серии не откроет.

NewLevelBuy = true // if false – не открывает новые колени мартингейла в Бай

NewLevelSell = true // if false – не открывает новые колени мартингейла в Селл

RISK & LOT SIZE ————

lotdecimal = 2 // Брокерский decimal. Если у брокера мин лот 0.01 и шаг 0.01 то следующий лот может быть 0.02 и децимал = 2 (скок знаков после запятой). Если мин лот 0.1 и шаг 0.1 и открыть можно только 0.2 следующий то лот Децимал брокера = 1 и на таком брокере не возможно открыть 0.21 или 0.11 лот!

 

StartLot = 0.01 // минимально возможный старт лот брокера (у робофорекса на центах 0.1 но есть также 0.11 лот)

ExMinLot = 0.01 // тоже самое но не пойму зачем прогер его продублировал в мт4 роботе

 

ReverseStartLot = false // реверсировать ли старт ордер в % от суммы противосерии своих же ордеров. Пример у нас открыто 0.1+ 0.1+ 0.1+ 0.2+ 0.3+ 0.4 (суммарно 1.2 lot) в Sell и робот открывает реверсивный старт ордер серии в buy размером CoefReverseStartLot (когда у нас нет ни одного ордера в бай по данной паре) с CoefReveseStartLot = 0.3 (значит 30% от 1.2 sell sum lots) 0.3*1.2= 0.3 lots робот откроет в бай как реверсивный старт лот. После этого робот продолжит бай серию с 0.3 а не с 0.1 как селл, т.е данный параметр повлияет на увеличение лотности Бай серии в сравнении с селл от которой она началась как доля.

CoefReverseStratLot = 0.3 // доля, которую робот считает для реверсивного старт лота. Если в селл открыто 2.2 лота и доля = 0.4 (40%), то робот откроет в бай старт ордер 2.2х0.4=0.88

 

FirstLotExp = 1.0 // [1.0-3.0] Была серия 0.1 0.2 0.3 0.4 а FirstLotExp это множитель для стартового ордера серии. Не влияет на следующие размеры ордеров.

If FirstLotExp=1 то робот увеличит только Старт Ордер серии по лотности в 3 раза, но следующие ордера будут считаться как будто мы ничего не множили 0.1 0.2 0.3 0.4 …

If FirstLotExp=2 то робот увеличит только Старт Ордер серии по лотности в 3 раза, но следующие ордера будут считаться как будто мы ничего не множили 0.2 0.2 0.3 0.4 …

If FirstLotExp=3 то робот увеличит только Старт Ордер серии по лотности в 3 раза, но следующие ордера будут считаться как будто мы ничего не множили 0.3 0.2 0.3 0.4 …

Risk = 0.01 ; 0.03 ; 0.01 ; 0.02 ; 0.01 // вводим отдельный риск для каждой пары, которую мы ввели в первом параметре PairsForTrading. Также разделяются [;]. Рисков должно быть столько же сколько и Валютных пар в параметре PairsForTrading. 0.01 риск базируется на 0.01 лоте для 10 000 Баланса. При риске в 0.33 робот откроет 0.33 лот на балансе 10 000

MaxLotRisk = 20.0 // Этот Макс лот завязан на Риске и растет автоматически c ростом баланса. Если при 10000 бал у нас этот параметр равнялся 20 лот то на любой паре робот мог открыть максимальный лот в 20 лот. Если баланс увеличится или прибылью или доливками до 20 000 ( и этот параметр останется в сете неизменным) то робот при балансе 20 000 будет давать открывать макс лот = 40 так как высчитывает его с прпорции при 10 000 и 20 лотам сета)

MaxTrades = 15 // [1-30] сколько максимум колен в одном направлении робот может дат по мартингейлу на 1 паре. Итого на 1 паре селл и бай ордеров может быть 15+15

GRID ———

TypeOfOrders = 0 // [0 1 2] 0 – все рыночные ордера, 1 – все отложки ползучие, 2 – только старт ордера серий мартина отложки ползучие, а остальные рыночные ордера

TrendStep = 100000 // попытка накидывать старт ордер по тренду не закрывая предидущий (типа пирамиды только одним и тем же ордерм) . Никаких ни стопов и ни ТП….на откатах после тренда висяки в минусе

PIPsStep = 10 // минимальный шаг между ордерами мартингейла 0.1-PipsStep-0.2-PipsStep-0.3-PipsStep-0.4. Четкий пипстеп между ордерами будет если использовать рыночные ордера в безиндикаторном ордере и если у брокера нет реквот. В противном случае и сигналы и отложки могут давать более длинный шаг между гридер ордерами. Так же в последних Версиях появился автопипстеп увеличивающийся в движениях,но если AutoPIPSTEP

AutoPipstepADR=True // True = используем AutoPipStep , False = выключаем AutoPipStep (у меня в мт4 чет не получилось его выключать после того как я его закодил но это даже хорошо ! ). Итак робот для каждой отдельной пары считает свой личный AutoPipStep базирующийся на их HighLow и TF за некоторое количество последних свечей. Если юзать D1 – то будет ADR – Average Daily Range / деленый на спец делитель.

AutoPipstepADRTF=1440 // на каком ТФ мы смотрим AverageHighLow ? 0-Current, 1-M1, 5-M5, 15-M15, 30-M30, 60-H1, 240-H4, 1440-D1

AutoPipstepBars=20 // сколько баров назад мы берем для расчета AutoPipStep на AutoPipstepADRTF периоде графика (включая текущий бар, который еще не закрыт!!! Обязательно!!!)

AutoPipstepADRdivider=6 // спец делитель. И так сов берет 20 свечек на Д1 и суммирует их HighLow и вычисляет среднее (AverageHighLow) поделив на AutoPipstepBars.  Далее полученное значение AverageHighLowделим на AutoPipstepADRdivider и получаем AutoPIPSTEP отдельной пары.

PendingFollowDistance = 22 // [10-50] расстояние от текущей цены до отложки, используется в TypeOfOrders = 1 и 2. Если цена идет вверх то робот тянет отлогу BuyStop ниже цены с дистанцией 22 пип. Робот может перемещать отлогу БАЙ за ценой только ВВЕРХ, но не модифицирует отлогу при возврате цены к ней или заходе цены менее 22 пип между отлогой и текущей ценой – не двигает ее вниз назад. Очень хороший фильтр для мартингейла на старте серии и в трендах дабы не открывать против шерсти много колен мартина ложного в безоткате.

PendingFollowStep = 2 // [1-5] с какой частотой в пип робот переустанавливает и подтягивает отлогу за ценой с дистанцией PendingFollowDistance, если цена убегает от отлоги опять

 

FirstLotExponent = 1.0 // [1.0-3.0] арифмет множитель лотности для следующих ордеров серии. Будет работать до NumberOfLevel2ndLE = 5 на которой после пятого колена заюзает SecondLotExponent. if FirstLotExponent= 1 то робот откроет 5 первых ордеров мартышки вот так : 0.1 0.1 0.1 0.1 0.1 . If =2 то серия выглядеть будет так : 0.1 0.2 0.4 0.8 1.6 . If = 1.4 то  : 0.1 0.14 0.19 0.27 0.38 . (Каждый следующий = предидущий * FirstLotExponent до SecondLotExponent, которая считает по другому)

SecondLotExponent = 1.5 // [1.0-3.0] начнет работу на NumberOfLevel2ndLE = 6 (для примера) используется СреднийЛотСерии * SecondLotExponent . Пример : SecondLotExp начнет работу на №6 мартин колене и у нас уже открыта предварительно серия вида 0.1 0.15 0.22 0.33 0.50. Давайте сделаем расчет #6 колена используя SecondLE = 1.5; (0.1 0.15 0.22 0.33 0.50)/5 = 0.24 это есть СреднийЛотСерии. Считаем лот на #6 колене: 0.24 x SecondLotExponent (1.5) = 0.36.  как видим очень полезно иметь 2 лот экспоненты; 0.1 0.15 0.22 0.33 0.50 0.36 (последнее колено даже ниже немного предпоследнего ). Это дает возможность создать серии вида: 0.1 0.1 0.1 0.15 0.22 0.33 0.50 помогает выживать мультивалютой в безоткатах затяжных

NumberOfLevel2ndLE = 6 // на каком колене начинаем использовать SecondLotExponent

STOP LOSS (VSL)————

VirtualStopLossPips = 100 // Виртуальный стоплосс каждого ордера мартингейла в пиппах. Брокер не видит физические SL этой функции. Робот проверяет каждый ордер на наличие стопа.

VSLLevel = 3 // до этого номера колена робот не использует VSL – на нем и после него начинает задавать ордерам VSL (В идеале я хотел бы ввести 2 доп параметра, которые к примеру после 100 пип каждые 10 пип убивали бы таким ордерам по 10% от лотности в VSL , т.е задаем еще параметры VSLstep=10 pip  и VSLfraction=0.1 (10%) а не весь ордер убивать через 100 пип в VSL как сейчас есть)

LOCK ————

OpenLock = false // если true – робот локирует пару в Доле=LockPercntFromSummary (от открытого по мартину суммарного лота) если та пара залезла в просадку лично на размер LockDraw %. После лока робот ничего с залокированными ордерами не делает. Не ластит не тралит – просто бросает.

LockPercentFromSummary = 0.8 // доля Хеджирования(локирования) .

Открыто селов 0.1 0.2 0.4 0.8 1.6 = 3.1 sum lot. У нас 0.8 означает 80% от 3.1 должно быть открыто в buy для локирвания этой серии на 80%: 3.1*0.8 = 2.48 lot робот должен открыть в Buy

LockDraw = 15 // какую просадку лично должна показать пара и ее серия, чтобы робот залочил ее. (с локами мы с тобой еще подумаем)

VIRTUAL TAKE PROFIT (VTP) “LAST-TP” + OVERLAP ———————-

LastTP = true // если true – робот использует виртуальный тейк профит на последнем ордере мартингейла Virtual Take Profit. Брокер не видит VTP.

TypeOverLap = 3 // [0 1 2 3] Типы откусывания части ордеров из просадки.

0 – ничего не кусаем, тупо накапливаем новый баланс

1- кусам самый дальний ордер самой просадочной серии на самой просадочной паре.

2- робот кусает предласт ордер самой просадочной серии на самой просадочной паре (тут бы я хотел переделать кусать сразу за линией БУ);

3- робот кусает пред-предласт ордер самой просадочной серии на самой просадочной паре;

CoefLast = 1.0 // этот параметр говорит какую долю от LastTP профита мы юзаем в функции перекрытия. ( Я не уверен что она вообще работать будет в последних версиях так как мы банально с балансом добавочным работаем и нам все-равно сколько один LastTP принес прибыли и мы не можем сказать сколько % пускать в лишний баланс с него. Этот параметр удалить по факту нужно) 1=100%, 0.3 = 30%

 

LastTPPips = 10 // Virtual Take Profit (VTP) Сколько пип профита должно быть у Ласта (Last=Последний по англ) ордера гридера, чтобы робот закрыл его? После версии 3.1.3.1 у нас LastTPPips = AutoPIPSTEP разный на отдельных парах

LevelStartLastTP = 1 //[1..10] на каком колене гридера начинаем Ластить (собирать VTP)? (не может быть равна нулю = 0 робот покажет Error. Первое минимальное значение =1

VIRTUAL TRAILING STOP ———————

TrailGo = true // В роботе также есть Трейлинг Стоп – который также по началу не виден брокеру и работает по МА, как только цена трогает МА -ставится физический трал СЛ (VTS). Имеет значение использовать для LevelStartLastTP > 1 [2-3] когда есть смысл стартовые ордера тралить, которые давно в профите.

Tak = 30 // Профит в пип ордера когда VTS начинает свою работу

StepTak = 2 // шаг перемещения трала

TrailDistance = 10 // размер трала от текущей цены до топлосса.

MAGIC NUMBERS ————

BuyGridMagicNumbers = 1000 // Старт ордера Бай серии будут иметь 1000 . Все последующие колени данной серии +1: 1000 1001 1002 1003 …

SellGridMagicNumbers = 4000 // Старт ордера Селл серии будут иметь 4000 . Все последующие колени данной серии +1: 4001 4001 4002 4003 …

CLOSE % OF DEPOSIT ————

CloseEquity = true // Робот создаст в памяти МТ4 Global Variable под названием

Depo0 которое будет равняться вашему Start Balance, когда на аккаунте ни одного ордера и начинаются серии. (часто многие тестировщики заебуют меня что робот не взял правильно данную величину изза того что они тестив 1 счет залогинились в другой в одном и том же терминале с разными балансами. Я хотел бы в названии Depo0_34324566 = 10 000 также добавить номер счета на котором она работает, работала.). Это будет отправной точной для расчетов Целей по средствам. Робот берет Depo0 и прибавляет ему MaxEquityProfit = 2.5 %. Это будет Цель в Средствах при достижении которой, на счете произойдет Тотальное закрытие ЛЮБЫХ СДЕЛОК (и ручных и других роботов).

MaxEquityProfit = 2.5 // на сколько Средства должны вырасти относительно Depo0 или StartDepo (с момента старта серии). После того как робот закроет все в Цель – он перезапишет Depo0 и приравняет его к текущему балансу. При добавлении новый средств на счет лучше отключать робот – удалять GV, пополнять счет и цеплять робот назад на счет с тем же сетом, даже если у вас есть открытые позиции. Робот создаст новую GV более близкую к Текущему новому балансу, которую можно будет подкорректировать.

NDICATORS SIGNALS ON/OFF ? —————

FirstGridOrderSignal = false // Использовать ли Активированные индикаторы как сигналы для Стартового ордера серии гридера? Чем больше включено индикаторов тем реже условия входа…

AllOtherGridOrdersSignal = false // использовать ли активированные индикаторы вход на последующих ордерах гридера после стартового ордера серии?