Forex Robot EA MPGO v3.2.3.15 Parameters

PairsForTrading=EURGBP;EURAUD;EURNZD;EURUSD;EURCAD …. etc up to 28 FX pairs ( XAUUSD, us500, nasdaq, dax and any other indices/commodities/shares can be used in this parameter (!) but only with indicators that builtin EA for 1 pair (please do not use IndexAll indicator at dax).

Robot can work from 1 chart at all pairs ! [1-28] but its not necessary to use all 28.  You may enter from 1 up to 28 pairs and each pair will share the same EA settings. Please input all required pairs and separate them using symbol [ ; ] as above, and at the end of last pair do not input anything. Add also Suffix for your pairs if broker have them: EURUSDx;GBPUSDx; or EURUSD.m;GBPUSD.m;…Before use some pairs – open all pairs in Market Watch of MT4 and check – does your pairs tradable or not (try to put little pending order at less. Sometimes Broker have EURUSD and EURUSDm at one account). If you wish to trade any pairs with separate EA settings than open a separate chart and enter alternative settings as required.

In strategy Tester of MT4 please use Only 1 Pair in this parameter and use 1 pair Indicator types of entry! MT4 tester cannot open orders in Tester more then at 1 pair !!! MT4 tester cannot analyse Muti-pair indicators!!! Don’t try to run multi-pair IndexAll entry or multi-pair robots in tester of MT4 –  you will have ZeroDivide Error! (Multi-pair Tester Metaquotes coded only in MT5). In version v3.1.4.0 to use signal Index_all need to entry all 28 pairs in PairsForTrading parameter (indicator use all 28 pairs to build 8 indexes and signals) there you can copy 28 pairs if need :


Please attach EA at the fastest TF you use in SET (see indicators entries Block). MT4 cannot read M15 from H1 (if you attached EA at H1)

LoadHistoricalData = True // If True – it will update once per 1 bar (where you installed/attached EA) your all MarketWatch pairs tick data and all TimeFrames  automatically for correct indicators work and calculations. Also EA will do same first time when you attach it on chart (patience – it can take up to 5 minutes and will not open any trades until will not finish it process )

TimeStartEnd = False // Use Trading Time Filter – Yes/No
 = 0; // Time for EA start work if all orders are Closed before that time
HourEnd = 20 // Time to Finish trading Today and Close any possible little profit and all orders at account at that time if CurrentEquity>StartDepo (or Depo0 in GlobalVariables) balance when EA started New Last Serial. If you entry HourStart=8 and HourEnd=20 (by your broker server time) it means EA will trade between this time and try to reach MaxEquityProfit MANY TIMES ! If after HourEnd=20 robot see that at account Equity StartDepo(Depo0) – robot will Close all orders at account to fix even Little Profit Today and Depo0 EA will rewrite to Current balance! If You don’t like to use new Daily Time of trading! Make like this: HourStart=0 and HourEnd=25 (its impossible parameters). This parameter sometimes not work good in different GMT time zones (make errors sometimes – better test it first at Demo)

VisualButton = True // show control panel buttons Yes/No. This software is designed not only for Automated trading type but also to perform in semi-automated mode for bigger profit (user control and help EA from time to time, i.e. close current profits reached, add trend orders in hedge of global direction, additional pending orders for News trading across the price, change temporary Equity Targets to start OverLap function … etc) . TurnOff this parameter in Tester and Optimisation – Ea will work faster, also TurnOff if you work in Total Automated mode

Debug = True // Parameter for Testers users that in ‘journal’ check different debug stuff that we coded for them (for example if Debug=True you can how EA print TMA indicators values for TypeTMA8 and 9…etc)

NoNewTrade = False // if True – after EA reach Target Equity and close all orders at Account (including your manual and other EAs orders) EA will not open any new order and serials in any direction. But if EA not reaching target yet and EA have existed serials with NoNewTrade=true – it can open new grid orders in existed serials to try reach target equity and will not open any new Serials (Start orders of new Serial). This parameter for thous who need only 1 target+ EA Stop and do not start new Serials until user will make manually in Set NoNewTrade=False. To make EA working one more cycle and reach new TargetEquity just make NoNewTrade = False (EA Start to trade) and after EA just opened orders – you can make again NoNewTrade = True if you like EA to Stop after its reached Target Equity (at same time you can control EquityTarget % from EA buttons if you like). If activate this parameter in True – so EA not entry at NEW PAIRS even if signal coming, its only continue work at existed pairs that have already orders to finish current serial till TargetEquity, or EA will use LastTp (or TrailingStop) at every order if all orders goes profit…

Control_LimitStop = True; // Allow management of the advisor, using manual pending orders without any comments or magic numbers as Signals for Grid serial at separate pairs.


  1. if True – EA will not open sell or buy until Human will not place Sell Limit (for Sell direction) or Buy Limit (for Buy direction) at pair he would like to trade such directions.
  2. Start and continue Trading Sell of EA MPGO at pair: just put at this pair Sell Limit order above current price any lot size with MagicNumber=0 (or empty Magic Number). This pair must be also in parameter PairsForTrading
  3. Stop Trading Sell direction of EA MPGO at pair: delete all Sell Limit orders with MagicNumber=0 (or empty Magic Number) at such pair
  4. Close all opened Sell positions at pair: put at pair Sell Stop below the current price any lot size with MagicNumber=0 (or empty Magic Number) at such pair

TradeBuy = True // if False – EA will not open any Buy order at any pair

 = EURUSD ; GBPUSD; NZDUSD // enter there pairs that you would like to trade only Buy (enter also this pairs in 1st parameter called PairsForTrading. All Signals Must be OFF to use this option of separate SELL and BUY direction in 1 Set at all pairs)

TradeSell = True // if False – EA will not open any sell order at any pair

 = EURJPY ; GBPJPY; CADJPY //enter there pairs that you would like to trade only Sell (enter also this pairs in 1st parameter called PairsForTrading. All Signals Must be OFF to use this option of separate SELL and BUY direction in 1 Set at all pairs)

NewSerialBuy = True // if False – EA will not open new buy Grid serial trades. It will finish any/all existing buy serial trades

NewSerialSell = True // if False – EA will not open new sell Grid serial trades. It will finish any/all existing sell serial trades

NewLevelBuy = True // if False – no new grid level in buy series (level = Next Grid order in Grid serial, example of 4 levels of 1 grid series : 0.01 0.02 0.03 0.04)

NewLevelSell = true // if False – no new grid level in sell series


StartLot = 0.0 // Use in Default 0 . EA dedicate Minimal Start lot of any broker automatically

ReverseStartLot = False // multiplier for only first (start) level of the grid based at Hedge % from opposite serial. It can effect also next grid levels after reversed order in his serial, all lot multiplier will use this order lots to calculate next levels in same direction. Example: EA have 0.1+ 0.1+ 0.1+ 0.2+ 0.3+ 0.4 (sum total 1.2 lot) already opened in Sell direction and will try to open reverse start order in buy using the settings of CoefReverseStartLot below; (he have no buy orders yet) with CoefReveseStartLot = 0.3 (means 30% from 1.2 of sell sum lots) 0.3*1.2= 0.3 lots will be start lot of buy serial. After this EA will continue buy serial like this 0.3 0.3 0.3 0.5 0.7…means it will effect at next orders – they will be bigger than opposite sell serial levels

CoefReverseStratLot = 0.3 // portion of reverse start lot (in 1st grid level only). If sum sell lots at 1 pair = 1.5 lots EA will try to open in start lot of buy serial 30% from 1.5 sell lots : 1.5*0.3=0.5 lots is a start order of buy grid serial

FirstLotFactor = 1.0 // [1.0-3.0] multiplier only for 1st level of grid that not effect next levels. If FirstLotFactor=2 then EA will use multiplier only for 1st level of grid 0.2 0.1 0.1…and will not effect next grid levels. if FirstLotFactor=2.5 then EA will open 0.25 0.1 0.1…(that change only 1st start order of serial and all next calculation in serial think that nothing happened)

StopFirstLot = 10; // after what level of grid we stop use function called FirstLotFactor

Risk = 0.001  // Use 1 time parameter to trade same Risk at all pairs in one Set. To use separate Risks at different pairs in one set entry separate Risks using comma 0.01;0.02;0.01;0.05 …. The number and order of risks should correspond to the number of pairs that you entered in the PairsForTrading parameter. This EA coded for default balance = 10 000 (Cents or Standard account). Examples of using different risk and start orders of grid serial:
Standard or ECN Account (min lot of Broker = 0.01) | Balance = 10 000 | Risk = 0.001 | Grid Start Order = 0.01 lot
Standard or ECN Account (min lot of Broker = 0.01) | Balance = 10 000 | Risk = 0.02   | Grid Start Order = 0.02 lot
Standard or ECN Account (min lot of Broker = 0.01) | Balance = 10 000 | Risk = 0.22   | Grid Start Order = 0.22 lot
Standard or ECN Account (min lot of Broker = 0.01) | Balance = 20 000 | Risk = 0.03   | Grid Start Order = 0.06 lot (because 20000/10000=2 and 2*0.03=0.06)

Roboforex Cent Account (min lot of Broker = 0.1) | Balance = 10 000 | Risk = 0.001 | Grid Start Order = 0.1 lot (because EA dedicate MinLot of Broker automatically – learn parameter StartLot = 0.0)
Roboforex Cent Account (min lot of Broker = 0.1) | Balance = 10 000 | Risk = 0.01 | Grid Start Order = 0.1 lot (again because of parameter StartLot = 0.0)
Roboforex Cent Account (min lot of Broker = 0.1) | Balance = 10 000 | Risk = 0.10 | Grid Start Order = 0.1 lot
Roboforex Cent Account (min lot of Broker = 0.1) | Balance = 30 000 | Risk = 0.11 | Grid Start Order = 0.33 lot

UseCostOfPip = True // important parameter only for Multi-pair Set. EA use every pair cost of 1 pip and pickup such started lots of serial that give in money same values per 1 pip at any pair

MaxLotRisk = 20.0 // this is max lot that EA can use in Grid serial at one level. Calculation based at 10 000 balance and EA will grow MaxLotRisk if your balance also grow. If your balance grows to 20 000 from 10 000 the EA will understand that 20 max lot was for 10 000 and will automatically adjust this setting for 20 000, it will hold MaxLotRisk=40 (as double from MaxLotRisk=20 because start deposit doubled also from 10 000 to 20 000). No need to change it manually from 20 to 40. More balance – mоre MaxLotRisk EA can use based at proportion of 10 000 balance. this is why its called MaxLotRisk – based at risk calculation with current balance in proportion from 10 000 Balance:
Examples when during trading MaxLotRisk same but MaxLot that EA can use grow with current balance:
If MaxLotRisk=10
Balance=10 000 | MaxLot that EA can use=10 >>> Balance=20 000 | MaxLot that EA can use=20 >>> Balance=25 000 | MaxLot that EA can use=25

MaxTrades = 15 // [1-30] how many levels of grid the EA can open in 1 direction at 1 pair. If = 15 it means the EA can open up to 15 sell and 15 buy grid levels per pair (total 30 per 1 pair, no more)

MaxSpreadPips = 4.5 // Filter : EA will not trade this pair if it has Current Spread over this value in pip


TypeOfOrders = 0 // [0 1 2] 0 – all market orders, 1 – only start orders of serials will be pending orders that follow the price, 2 – all pending orders

TrendStep = 100000 // ea will use only start lot order of serial and continue this in trend every TrendStep pips 0.1 0.1 0.1 0.1 …it some kind of pyramid hedging in trend but with constant same order based at start order of serial. If price retrace after trend – possible this orders will have some minus and need to manage them manually if you used this function. (Also if profit – this orders can be used in VirtualTrailingStop below parameter to trail them)

PIPsStep = 10 // minimal step between 2 market type grid levels (orders) 0.1-PipsStep-0.1-PipsStep-0.1-PipsStep-0.2 . Ea will use this distance between levels only if you use non-indicator modes and only Market Types of orders (pending orders type can filter bigger distance because of trail pending orders in trends). Otherwise there will be bigger step>10 because of indicator and pending orders filtering and New function AutoPipStep. In version v3.1.3.3 – once AutoPIPSTEP=True // True = Turn on AutoPipStep , False = TurnOff AutoPipStep. EA can calculate separate AutoPipStep for different pairs based at their HighLow bars at any TF per any candles. If use D1 – it will be ADR – Average Daily Range / divided by some value

AutoPipstepADR=False // ON / OFF function of Autopipstep

AutoPipstepADRTF=2 // what TF use to calculate Average High-Low ? 0-Current, 1-M1, 5-M5, 15-M15, 30-M30, 60-H1, 240-H4, 1440-D1. Added also M2 M3 or any other Renko Offline charts can be used that generated already with some other software.

AutoPipstepBars=2 // how many bars back EA take to calculate AutoPipStep at AutoPipstepADRTF(including Current Bar that not closed yet)

AutoPipstepADRdivider=4 // EA will look at 19 bars back + 1 bar (current bar) and will calculate “Averages of their High-Low-s”, and will divide it to 6 (AutoPipstepADRdivider). The found value will be AutoPipStep for Current pair (for all pairs will be different personal AutoPipStep in this case)

Pending Orders Filter

PendingFollowDistance = 22 // [10-50] If you use TypeOfOrders = 1 or 2, the EA will start to use pending Stop orders to filter price. If price go up – the EA will follow current price (like a trailing stop) with sell stop order at a distance of 22 pips under the price. A good filter to not open many orders opposite the trend direction or price spikes and can be used also as additional temporary filter at news trading (this parameter will be used only in TypeOfOrders = 1 & 2)

PendingFollowStep = 2 // [1-5] if price runaway from pending stop order ea will replace every 2 pips PendingFollowDistance to follow the price if its become > then 22 pips (PendingFollowDistance = 22). Similar to trailing stop working – we can call it trail of Pending Stop orders (this parameter will be used only in TypeOfOrders = 1 & 2)

DeletePendIfSignal=False; // EA can place pending order with some indicator signal but if this parameter will be in TRUE and signal change to opposite – EA will delete such wrong pending order by signal changes or repaints.

Lot Exponents

TypeFirtsLotExponent = 1; // 0 — Next Order of Grid = Previous * FirstLotExponent .  1 — Next Order of Grid = Previous + Start Lot of Serial (0.1 | 0.1+0.1=0.2 | 0.2+0.1=0.3 | 0.3+0.1=0.4 | …. )

FirstLotExponent = 1.0 // [1.0-3.0] multiplier for next levels of the grid for TypeFirstLotExponent=0. If FirstLotExponent=1.5 and TypeFirstLotExponent=0 ea will open serial like this: 0.1 | 0.1*1.5=0.15 | 0.15*1.5=0.22 | 0.22*1.5=0.33 | …If NumberOfLevel2ndLE = 5 and if FirstLotExponent= 1 ea will open 5 first orders of grid like this : 0.1 0.1 0.1 0.1 0.1 . If FirstLotExponent=2 ea will open 5 next orders with lot sizes : 0.1 0.2 0.4 0.8 1.6 . If = 1.4 ea will open next : 0.1 0.14 0.19 0.27 0.38 . (every next order = previous * FirstLotExponent till SecondLotExponent that can have different value and calculation method)

NumberOfLevel2ndLE = 6 // at what level of the grid ea stop using FirstLotExponent and start use SeconLotExponent

TypeSecondLotExponent = 0 , 1 or 2 // 0 – NextGridLot = Previous * SecondLotExponent, 1 – NextGridLot = Previous + (SummaryGridSerialLot * SecondLotExponent),  2 – NextGridLot = Previous + MinimalBrokerLot

SecondLotExponent = 1.5 // lot multiplier factor that will be used in 3 formulas in parameter TypeSecondLotExponent


VirtualStopLossPips = 100 // Virtual Stop Loss for every grid order in pips. Brokers do not see physical StopLoss – the EA keep SL pips in memory and closes each order once it reach this value in pips

VSLLevel = 3 // before this level of grid VirtualStopLossPips not working and will start working for grid orders that will be opened after and at this level


ColOrPyr=1000 // After what level of the Grid the Pyramid trend function start working

PyramidStepI=15 // Step of Pyramid orders (minimal distance in pips between 2 pyramid orders)

PyramidLotExponentI=1.3 // Next Pyramid Lot = Previous Pyramid Order * PyramidLotExponentI

PyrStartSL = 30 // StopLoss of Pyramid order during opening (later it can be modified due Trailing Stop), if  PyrStartSL=0 then EA do not place any SL for Pyramid orders. Physical SL

SLPyramidIBU=10 // If price go in profit in that pips value from pyramid order – EA place SL=BreakEven (at OrderOpenPrice). If SLPyramidIBU=0 then EA do not place any BreakEven after some profit pips to pyramid orders.

RzSmSt=30 // If pyramid order go in this profit pips EA will open Pyramid of Pyramid (duplicate)

LotExponentPyr=1 // exponent factor of pyramid orders at first step

RzSmSt2=30 // What is the gap between 2 and the following orders to open a new pyramid level (knee)

LotExponentPyr2=1 // exponent factor of pyramid orders between 2 and next following pyramid orders

PyrScalpPip = 10 // EA will put SL = BreakEven for Pyramid orders + this Some pips in Profit

PyramidTral = 100 // Trailing Stop of Pyramid Orders

CoefRaz=5 // The share of possible pyramids orders from the Grid (after the appearance of a stop-loss at the pyramids, they are not taken a part into calculations as they not exist)

CountCoefRaz=4 // How many orders to split Recovery to CoefRaz


OpenLock = false // if true EA will lock current grid serial with hedge order and drop this serial. EA will not open any new grid order after locking of this serial

LockPercentFromSummary = 0.8 // portion of Hedging . For example you have sell serial 0.1 0.2 0.4 0.8 1.6 = 3.1 summ lot. 0.8 means 80% from 3.1 must be opened in buy to hedge this serial in 80% : 3.1*0.8 = 2.48 lot ea will open in Buy and drop this serial until user will not back to comp and will not decide what to do with that and how to help it. Some kind of protection. recommended only for traders who can open lock in positive. Otherwise better do not use this function at all because it temporary hedge or lock only minus equity, not plus and need knowledge and experience to open negative lock. Good thing that it will not let blow your acc if you use nonindicator mode without limitation in MaxTrades

LockDraw = 15 // what drawdown ea must dedicate at 1 pair to start hedge it with Lock order ?


LastTP = true // if true – ea use Virtual Take Profit for last biggest order in grid serial to close it in profit. Broker do not see (VTP) take profits of this EA

TypeOverLap = 4 // [0 1 2 3 4] 0 – EA does not use new profit to cancel out old orders to minimise DrawDown (eat pieces of old orders with Cross-Closing by using New Profit = OverLap); 1- EA will cancel out older orders to minimise DrawDown starting with the oldest or the very first order; 2- EA will start cancelling out the most recent trade; 3- EA will start cancelling out starting from the second last order. TypeOverlap fixed in New version v3. – if EA cannot use TypeOverlap=3 (when serial do not have 3 orders) it will try use TypeOverlap=2 for 2 orders ! if not possible use TypeOverlap=2 ea will use TypeOverlap=1. 4- EA will use New profit to eat pieces of order near BreakEven Line in Serial of Grid at most “drawdown” pair and serial that it trade

CoefLast = 1.0 // portion, how much EA can use from lastTP profit in OverLap function. 1=100% , 0.3 = 30% to eat pieces of old orders by profit/loss in proportion

LastTPPips = 10 // Virtual Take Profit (VTP) of last order of grid. Broker do not see this TP – ea hold this in memory and check every tick. How much pips last order must go in profit to close it by LastTP function of robot. Ea can reopen several times this order and close them to VTP – in flat ea doing lots of profit and rebates. LastTPPips after version always = AutoPopstep at your separate pair! Also in Function of Autopipstep added protection from low pipstep in Flat

LevelStartLastTP = 1 // [1..10] at what level of grid ea start use LastTP (or VTP) function . (cannot equal = 0 or ea will show Error. First minimal level of Grid =1

LastTPFixedPips = False // if True – EA will always use constant LastTPPips for Take Profit that disconnected from Autopipstep. If False – EA use LastTPPips = current AutoPipstep, but LastTPPips cannot be < PipStep (protection from low AutoPipstep and low LastTPPips) ExMinLotKys= 0.01; // minimal part of lot to eat in overlap function (default of most brokers is 0.01 but you can make it 0.1 then EA will do less operation in overlap)


TrailGo = true // use virtual trailing stop (VTS) ? it make sense use in True only if you use LevelStartLastTP > 1 [2-3] and you need to trail sometimes start orders

Tak = 30 // Profit in pips to start using VTS in Grid Ordes

StepTak = 2 // step to move VTS for profit order to follow current price with distance TrailDistance

TrailDistance = 10 // minimal Trail Stop from current price where ea follow SL in profit for order. ( Learn your broker StopLevels for SL! )

fGloseOrdPr=False // Close trailing stop once signal changed to opposite


CloseTP = True // If true we use function Virtual TP from BreakEven + some pips called TakeProfit

ColCloseTP = 3 // ea take 1 pair (sell or buy separate) breakeven level and add TakeProfit=10 pips to close this serial. ColCloseTP means from what level of grid it will start to work. If ColCloseTP = 3 it means after 3 level of grid EA will close all orders at Sell or Buy if they not closed by LastTP or Trailing Stop once this 3 or more orders are in profit pips now = BreakEven+TakeProfit

TakeProfit = 10 // how many pips form break even in pluss ea must see to cloase all serial ( in buy or sell ) if CloseTP activated and we already have ColCloseTP = 3 orders in this separate direction serial


CloseEquity = true // Robot will create in memory of MT4 Global Variables (GV) called  Depo0 that equal to your Start Balance  when at account No orders (press F3 is MT4 to see Global Variables). It will be Start point for calculation % of profit from StartBalance. EA take Depo0 and add  MaxEquityProfit = 5 %. That will be Target in Equity to Close All Orders at Account (including your manual or other EAs orders too). Once you attached EA at EURUSD chart – and EA created Depo0 in GV it will start collect new Balance until we reach TargetEquity value by current balance. But at same time our Current Equity will be less then current balance because of drawdown at old orders! Next what EA will do – it continue collect new balance profit in LastTP function, but every new additional balance, that more TargetEquity value, EA will use in OverLap Function to EAT pieces of orders from old drawdown.

MaxEquityProfit = 5 // how much current equity most be bigger in % then Depo0 or StartDepo (when serial started). After ea will finish current serial and close all orders he will change (rewrite) Depo0 = as CurrentBalance for new future serial. If you have opened orders at account and you like to Deposit more Money – turn off EA, change Depo0 (in Global variable) to new expected Balance or balance where you like to start Function OverLap. Check if all Correct. Turn On EA after Deposit. During Updates at New Version – if you have opened orders at acc please do not Delete Global Variable (New version will use old version GV) because you can loose part of balance.

MaxBalanceToOverlapEquity = 2.5 // this parameter must be between Zero and MaxEquityProfit (0>MaxBalanceToOverlapEquity>MaxEquityProfit). If Current Equity < Depo0 and Current Balance reached MaxBalanceToOverlap so EA will start forcibly Overlap and will use all additional balance that will be higher MaxBalanceToOverlapEquity in Overlap to eat pieces of orders from drawdown. Overlap will continue until Current Equity will bee higher Depo0. NumberGoalsDay=5 // how many Equity Targets EA can close Today and will stop trading till tomorrow and/or HourStart parameter if activated (parameter will start work in case DynamicTargetEquity=False)

Depo0_Overlap = True // If current equity goes less then Depo0 EA will start OverLap immediately

DynamicTargetEquity=True // if True, then the balance target  will rise by MaxEquityProfit (%%) above current Equity (they will grow together with this distance and EA will never close all orders until user will not make it False or manually will not close all Orders from Buttons)

MethodClosePos=0 // 0- first all profitable and the rest. 1- first, the most unprofitable order, then the most profitable order, and so on in a cycle

CloseBY=False // When EA close all orders after it reached Target – it place LOCK order to fix profit – after this it will close all orders using portion from pieces of Lock order. Example in sell opened 0.1+0.2+0.3+0.4+0.5=1.5 lots so EA will place 1.5 buy lots and will close them step by step: 1)  0.1 sell + 0.1 buy (lock piece), 2) 0.2 sell + 0.2 buy (lock piece)…. till end

UseNewBar=False // if EA attached at H1 and UseNewBar=true EA will not make more 1 order per 1 H1 candle at 1 pair

Pause=0 // pause between EA operations in minutes

Slippage=5 // how much pips price can change fast so ea will try to reopen order if did not do during re-quotes


ExBuyGridMagicNumbers = 1000 // Start order of Buy serial will have 1000 magic number. All next levels +1. 1000 1001 1002 1003 …
ExMagicBuyP = 2000 // Start order of Sell Pyramid serial will have this Magic Number. Next levels+1. 2001 2002 2003 2004…
ExMagicBuyPT = 3000 // Start order of Buy Pyramid will have such magic number. Next Pyramid levels will be +1 : 3000 3001 3002 3003…

ExSellGridMagicNumbers = 4000 // Start order of Sell serial will have 4000 magic number. All next levels +1. 4001 4001 4002 4003 …
ExMagicSellP = 5000 // Start order of Buy Pyramid serial will have this Magic Number. Next levels+1. 5001 5002 5003 5004…
ExMagicSellPT = 6000 // Start order of Sell Pyramid will have such magic number. Next Pyramid levels will be +1 : 6000 6001 6002 6003…


FirstGridOrderSignal = false // use activated indicators as Signal in EA at grid start orders in New Serials ?

AllOtherGridOrdersSignal = false // use activated indicators as Signal n EA at Next grid levels after StartOrders ?

OnlyOneTypeOrders = False; // If True – opposite signal will close current signal orders (if EA traded into Buy signal and Sell signal coming EA will close all Buy orders at this pair and start trade Sell signal)

OnlySignalTrading=False // For HiLow Renko confirmation of Trend

SglStartPyramid=False; // If True – Pyramid will work only with activated Signals. If False – pyramid will work in NonIndicator Mode

SglStartPyramid=False; // do we need signal be used to start pyramid serial?


PARAMETRS SAR  (How to use SAR indicator in EA )
TypeSarFiltre = 0; // 0-Off. 1- not constant Signal only if Sell P-SAR change to BUY or BUY to SELL at SAR_TF (lowTF) & Higher SAR_TF_T must show same dirrection (for scalpers with maxtrades=1). 2-Constant signal when 2 TF looks same direction. 3-Constant signal when 2 TF looks different direction (SAR_TF trade to SAR_TF_T)
Sar_Step = 0.02; // sar ind parameter
Sar_maximum = 0.2; // sar ind parameter
SAR_TF = 15; // Low SAR TF. timeframe where ea read SAR ind. 0=Current TF where EA attached at Chart; 1=M1; 5=M5 15=M15; 30=M30; 60=H1; 240=H4 1440=D1
SAR_TF_T = 240; // High TF. timeframe where ea read SAR ind. 0=Current TF where EA attached at Chart; 1=M1; 5=M5 15=M15; 30=M30; 60=H1; 240=H4 1440=D1
SAR_Signal_BAR = 1 // 0=Current bar, 1= one bar beck before current 0; 2= two bar beck before current 0… its a Bar where EA compare 2TF SAR signal

All_Index = 1 // 0=Off . 1, 2, 3, 4, 5 = ON. Learn more about Multipair Index_ALL_MA entry there –

SignalBar = 1 // EA will use previous (1) and pre-previous (2) bar to compare indexes
MA_Period = 7 // Index_All_MA indicator MA Period
Index_Trend = true // ON/OFF Trend entry
IndexReversalAfterLevel = true // ON/OFF Reversal entry
LevelRevSign = 2000 // value of indicator for reversal trading
Index_TF = 60 // what tf EA will use to read Index_All values 1=M1; 5=M5 15=M15; 30=M30; 60=H1; 240=H4 1440=D1
Suffix = ”  ” // if your pair have suffix enter it there EURUSDx
ControlBars = 50 // how much last bars Index_All indicator take to analyze and paint

PARAMETERS TMA (How to use TMA indicator in EA
TypeTMAFiltre=0; // What type of TMA Filter EA must use :
0 – off,
1 – if price go out TMA Channel – EA will open order to expect price will back inside channel of TMA.
2 – if price go out the channel EA will open order to continue this trend – breakout signal (opposite signal to type1).
3 – price  go out the channel and bar must be closed outside the TMA channel, after this once price touch channel EA open order to expect price will back inside channel (same direction signal as type1)
4 – Double TF TMA Fast and Slow based at 2 TMA indicators (in tester work from Slow TF). Sell signal once upper band of Fast TMA will be > than upper band of SlowTMA. Buy signal once lower band of FastTMA will be < than lower band of SlowTMA) 5 – EA use Central line of SlowTMA and compare it with MA. If MA < CentralTMALine its a Buy Signal, if MA > CentralTMALine – its a Sell signal
6 – EA compare Current Price with Upper and Lower band + MA with Central Line of SlowTMA indicator. For SELL price must go outside upper band of SlowTMA and  MA must be higher Central line of SlowTMA. For BUY price must go down outside lower band of SlowTMA and  MA must be lower Central line of SlowTMA
7 – Sell signal between Upper and Central line of SlowTMA. Buy Signal between Lower and Central line of SlowTMA indicator. This method do not signal outside TMA bands!
8 – same entry point as DoubleTF TypeTMAfiltre=4 but it hold and Continue this Signal inside SlowTMA until TypeTMA=4 will not show opposite signal
9 – similar entry point as DoubleTF TypeTMAfiltre=4 (fast TMA must go out Slow TMA ) but it hold and Continue this Signal inside SlowTMA  (higher TF) until TypeTMAFiltre=4 will not show opposite signal and (!!!) Price must go out from 2 TMA Chanels outside
10 – EA compare Sum of this difference between central lines in usual TMA and TMA_NRP to have a signal. If TMA_NRP higher than usual TMA at last 50 bars then EA trade SELL.
11 – Same signal as TMA8 but EA trade SELL from higher cross of 2 TMA (Fast $ Slow) to Central line of Slow TMA and after Central line it not Signal Sell if price go down. EA trade SELL from bottom cross of 2 TMA (Fast $ Slow) to Central line of Slow TMA and after Central line it not Signal Sell if price go down.

TMA_TimeFrameFast= 60; // Fast timeframe where ea read TMA ind (additional Fast parameters use only for TypeTMAFiltre=4 and 8. ). EA Must be attached at TMA_TimeFrameFast= 60 (it will be Visual TF)
 = 60; // Slow timeframe where ea read SlowTMA ind values (1 TF methods only for TypeTMAFiltre=1 2 3 5 6 7). 0=Current TF where EA attached at Chart; 1=M1; 5=M5 15=M15; 30=M30; 60=H1; 240=H4 1440=D1
TMA_HalfLengthFast = 56; // FastTMA ind parameter
TMA_HalfLengthSlow = 224; // SlowTMA ind parameter
TMA_PriceFast = 0; // 0=PRICE_CLOSE ; 1=PRICE_OPEN; 2=PRICE_HIGH; 3=PRICE_LOW; 4=PRICE_MEDIAN (high+low)/2; 5=PRICE_TYPICAL(high+low+close)/3; 6=PRICE_WEIGHTED (high+low+close+close)/4)
TMA_PriceSlow = 0; // 0=PRICE_CLOSE ; 1=PRICE_OPEN; 2=PRICE_HIGH; 3=PRICE_LOW; 4=PRICE_MEDIAN (high+low)/2; 5=PRICE_TYPICAL(high+low+close)/3; 6=PRICE_WEIGHTED (high+low+close+close)/4)
TMA_ATRMultiplierFast = 2.0; // FastTMA ind parameter
TMA_ATRMultiplierSlow = 4.0; // SlowTMA ind parameter
TMA_ATRPeriodFast = 100; // FastTMA ind parameter
TMA_ATRPeriodSlow = 400; // SlowTMA ind parameter
TMA_InterpolateFast = true; // FastTMA ind parameter
TMA_InterpolateSlow = true; // SlowTMA ind parameter
MA_TMA_TF = 0 // MA that will be used in TypeTMA=5 and TypeTMA=6 signals
MA_TMA_period =2 // MA that will be used in TypeTMA=5 and TypeTMA=6 signals
MA_TMA_Method =0 //MA that will be used in TypeTMA=5 and TypeTMA=6 signals
MA_TMA_Price =0 //MA that will be used in TypeTMA=5 and TypeTMA=6 signals

TMA_NRP (in TypeTMA10 use) :
eintTimeframe = 30; // parameters of TMA_NRP indicator
eintHalfLength = 56; // parameters of TMA_NRP indicator
edblAtrMultiplier = 2.0; // parameters of TMA_NRP indicator
eintAtrPeriod = 100; // parameters of TMA_NRP indicator
eintBarsToProcess = 0; // parameters of TMA_NRP indicator
NumberBars_NRP = 50; // how many bars back EA compare Sum of this difference between central lines in usual TMA and TMA_NRP to have a signal. If TMA_NRP higher than usual TMA at last 50 bars then EA trade SELL.

PARAMETERS CCI (How to use CCI indicator in EA )
TypeCCIFiltre=0; // 0-off , 1-if CCI > +CCI_Val EA trade SELL, if CCI<-CCI_Val EA trade BUY. 2-Opposite signal to type1 CCI_TF = 60; // timeframe where ea read CCI. 0=Current TF where EA attached at Chart; 1=M1; 5=M5 15=M15; 30=M30; 60=H1; 240=H4 1440=D1
CCI_period = 14; // CCI ind parameter
CCI_Price = 0; // 0=PRICE_CLOSE ; 1=PRICE_OPEN; 2=PRICE_HIGH; 3=PRICE_LOW; 4=PRICE_MEDIAN (high+low)/2; 5=PRICE_TYPICAL(high+low+close)/3; 6=PRICE_WEIGHTED (high+low+close+close)/4)
CCI_Val = 100; // [5..300] CCI ind parameter

TypeTurboJrsxFiltre=0; // 0-OFF ; 1-ON SELL 2>3 & 2>1 ; 2-ON SELL 2>1 ; 3- SELL once ind at Bar=TurboPreLastBar1 become >TurboJrsx_ValUP & BUY once ind at Bar=TurboPreLastBar1TurboJrsx_TF = 1; // 0=Current TF where EA attached at Chart; 1=M1; 5=M5 15=M15; 30=M30; 60=H1; 240=H4 1440=D1
Len = 14; // ind period
TurboJrsx_Price = 0; // PRICE_CLOSE=0
TurboPreLastBar1=1; // means Current bar-1
TurboPreLastBar2=2; // means Current bar-2
TurboPreLastBar3=3; // means Current bar-2
TurboJrsx_ValUP = 70; // > 70 Sell
TurboJrsx_ValDOWN = 30; // < 30 Buy


TypeCanalMAFiltre=0; // 0=Off. 8=same as TMA8 but also with trend signal when 2 fast lines go out slow CMA Channel. 9= For sell: upper red line of Fast indicator > upper red line of Slow indicator  + Previous Bar must be Closed lower Central line of Fast CMA indicator
CanalMA_TF = 15; // visual period to trade CMA  and attach tpl
CanalMA_PeriodFast = 5; // fast period of first ind of Double Indicator Method
CanalMA_PeriodSlow = 60; // slow period of second ind of Double Indicator Method
CanalMA_Method = MODE_EMA;

PARAMETERS WATR (How to use WATR indicator in EA )
TypeWATRFiltre=0; // 0=off . 1=On 1 TF; 2=Double TF Watr ind signal (2 TF look same direction); 3-Double TF Watr ind signal (2 TF look different direction : Fast trade to Slow);
WATR_TF_Fast=0; // Timeframe where EA read WATR ind. 0=Current TF where EA attached at Chart; 1=M1; 5=M5 15=M15; 30=M30; 60=H1; 240=H4 1440=D1
WATR_TF_Slow=0; // Timeframe where EA read WATR ind. 0=Current TF where EA attached at Chart; 1=M1; 5=M5 15=M15; 30=M30; 60=H1; 240=H4 1440=D1
WATR_K=0; // K period of watr ind.
WATR_M=1;// M period of watr ind.
WATR_ATR = 21 // ATR period of watr ind.

PARAMETERS SNAKE+MA (How to use SNAKE+MA indicators in EA
TypeSnakeFiltre = 0; // 0=Off . 1=On
Snake_TF = 15;  // Timeframe where EA read SNAKE ind. 0=Current TF where EA attached at Chart; 1=M1; 5=M5 15=M15; 30=M30; 60=H1; 240=H4 1440=D1
Snake_HalfCycle=7;  // best if it will be same as MA_period
MA_period=7;            // Moving Average period
MA_Method  = 1;     // Moving Average Method: 0=Simple averaging; 1=Exponential averaging; 2=Smoothed averaging; 3=Linear-weighted averaging
MA_Price   = 0;        //
MA_TF    = 15;          // Timeframe where EA read MA ind. 0=Current TF where EA attached at Chart; 1=M1; 5=M5 15=M15; 30=M30; 60=H1; 240=H4 1440=D1

PARAMETERS RENKO BARS M2 FILTER ————(How to use Renko signals: )

TypeRenkoBarsM2 =2; // 0-EA not use Renko Bars Filter. 1-How much consistent ColoredRenkoBars must be in History before current not closed renko bar. 2-EA look at LastRenkoBarsHist=5 or 4 or 3 to dedicate much not consistent ColoredRenkoBars was in this History to make trend entry (Posible combinations for TypeRenkoBarsM2=2 : [2:3] [3:4] [3:5] [4:5] )
RenkoChartGenerator = False // EA can generate RenkoBars by itself with inbuild renkogenerator. Sometimes it load CPU when we use more 3 pairs same time. Better use additional soft to build Renko Charts
ShowWicks = True //
RailtoRail = True //
TrendFiltr = True // EA watch at renko charts and dedicate Higher-High or Lower-Low to dedicate trend.
ColoredRenkoBars = 2; // How much Renko bars (consistent or not consistent depends from TypeRenkoBarsM2=1 or 2 chosen) EA need to dedicate at LastRenkoBarsHist bars for signal entry
LastRenkoBarsHist = 3; // How much Renko bars EA look in history without including Current Bar – this value can be [max 5, 4, 3 min] and will not be used in TypeRenkoBarsM2=1 (TypeRenkoBarsM2=2)
RenkoBoxSize = “10” // how much pips must be renkobar if it not use ATR?
CalculateBestBoxSize = False // Auto-renkobar ON/OFF
ATRPeriod = 24 //
ATRTimeFrame = 60 //
UseATRMA = False //
MAMethod = 0 //
MAPeriod = 120 //
Renko_TF = 2; // do not change this Parameter if you opened all Renko Charts (generated by some other EA) at M2 and this pairs posted in parameter PairsForTrading. If you will choose standard timeframes 1 5 15 30 60 240 1440 – in this case EA will do price action trading at this TimeFrames using same logic without Renko bars

DisplayInfo=True // EA paint Current drawdown and max_drawdown in terminal. Better turnoff this parameter in tester and optimisation.
DrawDownForSendMail=20 // warning mails in drawdown (tested with gmail)
DrowDownStepSendMail=5 // step between warning mails.

EA MPGO v.3.0.7 (added XAUUSD , Snake indicator)
EA MPGO v.3.0.8 (fixed error in WATR entries ind and SL errors)
EA MPGO v.3.0.9 (added spread filter)
EA MPGO v.3.1.2 (added AutoPipStep for different pairs based at Daily Range)
EA MPGO v.3.1.3 (added second Higher confirmation TF for MethodSar=1) thx to mr.Neville
EA MPGO v. (Error of Strategy tester fixed)
EA MPGO v. (Fixed bugs in all SAR indicator entries then EA trade more 1 pair) thx to mr.Jose
EA MPGO v. (fixed protection from low pipstep in AutoPIPStep, added double TF in TypeTMAFiltre=4, added new Indicator TurboJRSX)
EA MPGO v. (fixed Debug, added TypeTMAFiltre=4, 5, 6, 7, 8)
EA MPGO v. (fixed all pairs Error in TypeTMAFilter=8)
EA MPGO v. (Separated Slow & Fast Double TF TMA in 4 & 8 TMA Types. Types: 1 2 3 5 6 7 will work from SlowTMA only)
EA MPGO v. (New EA Buttons created without dll and work faster in Forward running (buttons not work in strategy tester), EA create separate Depo0 for separate accounts in Global Variables of 1 Mt4)
EA MPGO v. (Fixed Depo0 for 2 accounts. Added TypeTMAFiltre=9 )
EA MPGO v. (Added new Multicurrency indicator Index_All)
EA MPGO v. (TMA9 not worked in – fixed. Added 2 New paratemeters PairsOnlyTradeSELL & BUY separate for non indicaotr traders. Ind Index_All working only at previous Closed Bar of your Index_TF )
EA MPGO v. all changes we added there
EA MPGO v. all changes we added there (4 new types of Entry Index_All_MA. Simplified the use of auto settings like: StartLot, LotDecimal,Risk…)
EA MPGO v.3.1.5 (added Index_All_MA type5 entry)
EA MPGO v. (added Sar_Signal_BAR && ForceLoadHistory script code into EA code)
EA MPGO v. (added OnlyOneTypeOrders – opposite signal can close orders of current direction)
EA MPGO v. (added: Double TF CMA8 & CMA9 & WATR signals, Constant pips LastTP separated from Autopipstep)
EA MPGO v3.1.6 last version for current users with life time licenses (we stop develop and update clients and launched Funds Management with 0 % FEE)
EA MPGO v3.2.3 Latest changes there
EA MPGO v3.2.3.5 added renko generator inbuilt in EA (test mode).  Added pyramid function
EA MPGO v3.2.3.6 Recoded Info-panel for monitor replaced targets
EA MPGO v3.2.3.7 Added EquityOverlap
EA MPGO v3.2.3.7,8,9,10 functions updated to latest MQL build
EA MPGO v3.2.3.11 in Testing EA do not touch Depo0 (global variable) even if you run same time EA at Real
EA MPGO v3.2.3.12 Added new TypeTMA10 type of entry
EA MPGO v3.2.3.13 Fixed error in TypeTMA4 and added TypeTMA11
EA MPGO v3.2.3.14 Fixed bug in TypeTMA11 and added Changed TypeTMA10 (added new parameter NumberBars_NRP)
EA MPGO v3.2.3.15 added 2 new TypeSecondLotExponent’s that will help survive in big trend without rollback