MT5 Expert Advisor "Multi-Pair-Grid-Overlap" with ClearVision
Platform: MetaTrader5
License Protection: Weblicense based + half of logic at MQL Protected Server
StrategyTester Turned OFF – tester cannot work with web-requests and write/read to files
Minimum Start Balance to trade 1 pair: 10 000 (this is multipair EA, each pair need 10000 USCents minimum)
Leverage: from 1:1000 and higher. For multipair strategies better use 1:2000
Recommended Brokers: Roboforex and other brokers that have usual Forex Pairs name like EURUSD but not EURUSDx or EURUSD.m
Logic: Multi-pair EA with more than 20+ automated and semi-automated strategies and indexes based added into EA (MA, MA_Jump, Stochastic, RSI, ATR, TMA_Bands, SAR…). OverLap function for reduce old drawdown.
What in NEW versions?
v5.0.5 from 9 jun 2025
- added Trail of EquityCloses and write targets into files https://t.me/profitFXPIPs/3755
- added TypeClearVision=1000 when EA not open trades but can cloase all after Trail. Visually will work Monitoring of ClearVisionIndicator and we can turnOn Trail of Equity for use Trail in manual trading with manual positions with no magic or any other magic and soft.
- added TMA 1 TMA 8 signal https://t.me/profitFXPIPs/3772
- added PSAR 1 2 3 signal
- fixed write in files buttons states for trading semi-automated in ClearVision=888 and load correct buttons states after reboot of MT5
- fixed faster initialisation of EA at Chart
- fixed error when EA deleded from chart when MT5 lost connection during license check at fxpip server, after connection will be recover EA continue correct work.
v5.0.5.1 from 17 jun 2025
- added functional to send messages from server into your MT5 EA for quick support https://t.me/profitFXPIPs/3805
- Parabolic SAR strategies 1 2 3 added https://www.fxpip.one/prices/mt5-ea-mpgo-clearvision/
- spread filter added for Multi-Power strategies: now if EA see only at 1 pair (in list of pairs from FILE) spread bigger as MaxSpreadFilter (in set) it will not open Mult-Grid-Level .. EA will wail better spread … from now it will not open nonstop positions because of big spreads
- updated TypeClearVision=777 strategy that can work with MultiPower=true and false from txt pairs file
v5.0.5.2.2 from 06 Aug 2025
- fixed MaxSpreadPips from 50 to 5 . Now if MaxSpreadPips=5 it means 5 pips or 50 points for 5 digit broker (1.40550 here 50 is 5 pips or 50 points) . in previous versions was in points
- added checking each 15 minutes “if its weekends SAT and SUN” do not trade and do not calculated anything , next check in 15 minutes
columns x distance added https://t.me/profitFXPIPs/3857
- Speedup calculation of ClearVision indicator in EA
- Added renko HeikenAshi and Renko William % Range indicator (will work only at 100 pips of Renko Brick – experimental function)
- Added also Equity Stop at BreakEven. If EA reach 1% in equity its activate EquityBEStop = 0.5 % if profit go back from 1% to 0.5 % EA close all positions. Can be use with and without EquityTrail – its separate function. Sometimes EA go in little profit and go back again in minus – this option for thouse who do not want to wait but exit at 0 or little + . Also very good to use in manual trading – as you know EA close all positions at account even different manual magic
v5.0.5.2.3 from 16 Sep 2025
- Added single and double RSI signals
- all indicators strategies that can work at single pair from single TF can be used at usual charts and Renko : https://t.me/profitFXPIPs/4176
- HeikenAshi and EquityStopBE temporary deleted from EA – if you need use it in previous version
v5.0.5.2.6 from 3 Oct 2025
EA MPGO can read separate pair Global Variable as signal. It must look like this :
DashSignal_PERIOD_M1_AUDUSD = 23.56%
DashSignal_PERIOD_M1_EURUSD = -43.37%
It can be used to create your own signal for EA MPGO in MQL5
More info in this video: https://www.youtube.com/watch?v=I_AJJKtqBvQ
Input parameters in EA MPGOv5.x.x (no signals)
PairsForTrading= EURGBP;EURAUD;EURNZD;EURUSD;EURCAD;EURCHF;EURJPY;GBPAUD;GBPNZD;GBPUSD;GBPCAD;GBPCHF;GBPJPY;AUDNZD;AUDUSD;AUDCAD;AUDCHF;AUDJPY;NZDUSD;NZDCAD;NZDCHF;NZDJPY;USDCAD;USDCHF;USDJPY;CADCHF;CHFJPY;CADJPY
Filling_Mod = ORDER_FILLING_IOC; // Mode of Broker exeqution. Roboforex IOC
NoNewTrade = false; // if NoNewTrade=True and NoMarketPositions (suppose EA closed all just now) – EA will not open new serials and no new positions. If you have open positions and make NoNewTrade from false to true – EA will trade and will open new positions untill EA reach TargetEquity and close all. This parameter good to use in true if you wanna reach TargetEquity and StopTrading. After you change it to false – EA will continue trade.
TradeBuy = true; // if False, the EA will not open buy orders for any pair. Global Buy Ban
TradeSell = true; // if False, the EA will not open sell orders for any pair. Global Sell Ban
NewSerialBuy = true; // if False — the EA will not open start orders of the Buy Grid series. The robot will complete all existing Buy series and will no longer trade new series in Buy.
NewSerialSell = true; // if False — the EA will not open starting orders of the Sell Grid series. The robot will complete all existing Sell series and will no longer trade new series in Sell.
NewLevelBuy = true; // if False – the robot will not open new knees (levels) of the series. For example, you have a series of four Buy orders: 0.01 0.02 0.03 0.04 and you enable NewLevelBuy=False, then the robot will stop opening the fifth knee of the 0.05 series. NewLevelBuy = false – this is a ban on the continuation of the current Buy Grid series on all currency pairs. If, after this prohibition, the robot closes knees No. 4 and No. 3 profit and the price falls again, with this parameter NewLevelBuy = false, the robot will not reopen knees closed in profit.
NewLevelSell = true; // same as NewLevelBuy only for Sell.
RISK & LOT SIZE
StartLot = 0; // // Use 0 by default. In the new version, the robot automatically determines the minimum starting lot of any broker.
ReverseStartLot = false; // Multiplier only for the first starting level of the Grid grid based on Hedge% of the amount of orders opened in the opposite series of the same currency pair. It may also affect the next levels of the new grid that will continue from this increased volume start order, as the exponents of subsequent knees will use the lot of this order to calculate the next levels (knees) in the same direction. Example: the EA has a Sell series open like: 0.1+ 0.2+ 0.3+ 0.4+ 0.5+ 0.6 (only 2.1 lots in total) and there is not a single buy order. Let’s calculate which start order of the Buy series the robot will open if ReverseStartLot = True and CoefReverseStratLot = 0.3 (30% of the opposite series in lots)? The start order of the Buy series will be calculated according to the formula: StartLotBuy(ReverseStartLot) = SumLotSell * CoefReverseStratLot = (0.1+0.2+0.3+0.4+0.5+0.6)*0.3 = 0, 63 lot. Use this function at your own risk and with a low subsequent LotExponent, because the Buy series has already started with an increased lot of 0.63, its continuation will be of the form 0.73 + 0.83 + 0.93 + 1.03 (provided that you add 0.1 lots with a gentle multiplier.)
CoefReverseStartLot = 0; // Share with which ReverseStartLot will open from the total lot of the opposite series on its currency pair. If the sum of lots of the Sell series on the pair = 1.5 lots, the EA will try to open 30% of 1.5 = 1.5 * 0.3 = 0.5 lots in the starting lot of the Buy series (provided that ReverseStartLot =True and CoefReverseStratLot = 0.3).
FirstLotCoef = 1.0; //// [1.0-3.0] multiplier only for the 1st grid level (grid starting lot), which does not affect the next grid levels. Example: If FirstLotFactor = 2, then the EA will use the multiplier only for the 1st level of the grid 0.2 + 0.1 + 0.1… and will not affect the next levels of the grid. if FirstLotFactor = 2.5, then the EA will open 0.25 + 0.1 + 0.1… (this only changes the 1st starting level of the grid series, and all subsequent level calculations in the series think that nothing happened – they think that the series was of the form 0.1 + 0.1 + 0.1 )
Risk = “0.01”; // // Use one value in this parameter to trade with the same risk on all pairs in one multicurrency Set file. To use separate risks for different currency pairs in one multicurrency Set file — separate the risks using a comma 0.01 ; 0.02; 0.01; 0.05…. The number and order of risks must match the number of pairs you have specified in the PairsForTrading parameter. This EA is coded for default balance = 10,000 USCents for one pair.
MaxLotRisk = 100; // // this is the maximum lot that the EA can use in the grid at any level. The calculation is based on a balance of 10,000 and the EA will increase MaxLotRisk as it is based on the Risk parameter if your balance also increases. If your balance grows from 10,000 to 20,000, the EA will understand that the maximum lot was 20 with a balance of 10,000, and automatically change this parameter to 40 lots with a balance of 20,000 (as a doubling of MaxLotRisk = 20, because the initial deposit also doubled from 10,000 to 20,000). There is no need to manually change from 20 to 40. More balance — more MaxLot the robot will automatically calculate based on 10,000 balance. That’s why it’s called MaxLotRisk ( MaxLotRisk with the current balance will be calculated proportionally from 10,000 Balance). Examples of calculations when increasing the balance if MaxLotRisk = 10: Balance = 10 000 | The maximum lot that the EA can use at any grid level = 10 Balance = 20 000 | The maximum lot that the EA can use at any grid level = 20 Balance = 25 000 | The maximum lot that the EA can use at any grid level = 25
MaxTrades = 500; // [1-30] how many grid levels the robot can open in 1 direction for 1 pair. If MaxTrades = 15, this means that the EA can open up to 15 grid levels in Sell + up to 15 grid levels in Buy on one currency pair (in total, only 30 orders per currency pair, no more). If you trade 4 currency pairs in a set file, this means that the robot can open 4*30=120 orders at the same time.
MaxSpreadPips = 10; // Filter Spread: the EA will not trade on this pair if the current spread of this pair exceeds this value in pips. The robot will trade on pairs whose current spread is below MaxSpreadFilter at the moment. GRID DISTANCES
TypeOfOrders = 0; // [0, 1, 2] 0 – all market orders, 1 – only starting orders of the series will be pending orders that follow the price, and all other next levels of the grid will be regular market orders, 2 – all levels in the grid there will be pending orders
MultiPower = true // true only for 777 ClearVision and 2 pairs diff. Please turnoff this parameter in False if you not use this two strategies.
PIPsStep = 5; // minimum step in points between two levels of the Market order grid 0.1Lot-PipsStep-0.2Lot-PipsStep-0.3Lot-PipsStep-0.4Lot… The robot will use this distance between levels only if you use NonIndicatorsMode and only Market orders (TypeOfOrders = 0). Pending orders (TypeOfOrders = 2) may increase PipStep due to filtering pending orders against the trend and the step between Market Orders will be greater than PIPsStep =10. Also the functions of AutoPipStep, in turn, can extend PipStep. The EA can calculate separate AutoPipStep for different pairs based on their HighLow bars on a given TimeFrame.
AutoPipstepADR = false; // AutoPipStep function can use any TF and collect the average sum of HighLow bars for the last AutoPipstepBars of bars and divide them by AutoPipstepADRdivider to calculate and change the current minimum step between grid orders on each individual pair. The parameter was created to increase the step between orders with the current increase in market volatility. In this case, if the calculated AutoPipstepADR is lower than PipsStep, the robot will use PipsStep as protection against an excessively small step value.
AutoPipstepADRTF = 15; // which TF to use to calculate the average HighLow amount? 1-M1, 5-M5, 15-M15, 30-M30, 60-H1, 240-H4, 1440-D1. Also added are M2 M3 TF or any other Renko Offline charts that are already created with other software.
AutoPipstepBars = 2; // how many bars on history to take to calculate AutoPipStep on AutoPipstepADRTF (including the current bar that hasn’t closed yet)
AutoPipstepADRdivider = 3; // The EA will look at the last AutoPipstepBars=3 bars using AutoPipstepADRTF=2 and calculate the “average value of the HighLow sum” and divide this value by AutoPipstepADRdivider = 4. The value found will be AutoPipStep pips – step between grid orders for the current pair (in in this case, all pairs will have their own personal AutoPipStep)
PendFollowDistance = 20; // [10-50] The EA can use an additional anti-trend filter using creeping pending Stop orders. If the price goes up, the EA will follow the current price with a pending SellStop order (something like when the automatic Trailing Stop works) at a distance of PendingFollowDistance points below the current price. A good filter to avoid opening many orders against the trend or price jumps, and can also be used as an additional time filter when trading on the news (this parameter will only be used in TypeOfOrders = 1 & 2)
PendFollowStep = 2; // [1-5] if the price moves higher and moves away from the SellStop order, the robot will move the SellStop order every next 2 points so that the distance between the pending order and the current price equal to PendingFollowDistance is always observed. This parameter will be used only in TypeOfOrders = 1 and 2. It is important to note that the robot can only move a pending order against the trend, if the price falls and we have a SellStop pending or GRID LOTS
TypeGrid1stCoef = 0; // [0 or 1 or 2] The type parameter defines the lot size formula for the next grid order up to the grid level = NumberOfLevel2ndLE (a separate formula is used below). 0 – next lot of the grid order = previous + starting lot of the series (0.01): #1=0.01 #2=0.02 #3=0.03 #4=0.04 #5=0.05… each next = previous + 0.01., 1 – next lot of the grid order = previous * FirstLotExponent., 2 – next lot of the grid order = previous + (Sum of Grid Lots * SecondLotExponent).
GridLot1stCoef = 1; // Coef used in TypeGrid1stCoef
Level2ndLEStart = 3; // At what grid level does the EA stop using FirstLotExponent and start using TypeGrid2ndCoef
TypeGrid2ndCoef = 0; // [0 or 1 or 2] The type parameter defines the lot size formula for the next grid order after NumberOfLevel2ndLE 0 – next lot of the grid order = previous + starting lot of the series (0.01): #1=0.01 #2=0.02 #3=0.03 #4=0.04 #5=0.05… each next = previous + 0.01., 1 – next lot of the grid order = previous * GridLot2ndCoef ., 2 – next lot of the grid order = previous + (Sum of Grid Lots * GridLot2ndCoef ).
GridLot2ndCoef = 0.5; // coef used in TypeGrid2ndCoef
VIRTUAL LASTTP + OVERLAP
LastTP = false; // if true – the EA uses Virtual Take Profit for each grid order (the robot does not place physical Take Profit) to close it with a profit. Broker does not see (VTP) Take Profit of this Expert Advisor
MultiLastTP = True; // Use MultiLastTP = True only if you use 777 ClearVision or 2pairDiff strategies and you need multilast TP, but at the same time turnoff LastTP = false
TypeOverLap = false; // use overlap or not – after break even level eat orders. if True – EA will use the new profit to eat some of the biggest orders behind the BreakEven line of the biggest losing series and Grid direction. If the market stays in the Range Market (in the channel) for a long time and does LastTP many times, then a situation may come when all orders behind the BreakEven line become the same in lot, since the function will select the largest ones and balance them one by one to the same size. At the same time, from the current price to the BreakEven line, you will always have whole orders that will allow you to profit in case of an early rollback and profit to overlap on others or your own pair.
LastTPPips = 5; // Virtual Take Profit (VTP) of grid orders. The broker does not see this TP – keep it in memory and the robot checks it every tick. How many points of profit must the last order go in order for the LastTP function to close it. The EA can re-open this order multiple times and re-close them using VTP. This function produces the greatest profit (profit) when the currency pair enters a channel or consolidation and goes up and down many times, which receives the greatest profit and, accordingly, we use this profit more in overlaps to reduce the drawdown on the trading account.
LevelSatrtLastTP = 0; // [0..10] at which grid level the LastTP (or VTP) function starts. (cannot be equal to = 0, otherwise the robot will show an error. The first minimum grid level for starting VTP is LevelStartLastTP=1. If you use LevelStartLastTP = 4 or 5, then the robot can open several grid orders and keep them in positive territory for a long time (with VTS disabled) doing positive Lock for the opposite series in no-indicator mode For example, the price went down and opened 5 orders of the buy series, after which the price returned up and started to open the Sell series — at this time, all Buy orders of the series will serve as a positive Lock, which will secure your trading a little.
ExMinLotKys = 0.01; // the minimum part of the lot that the robot can bite off in the overlapping function (by default, most brokers have 0.01 Lot by default, but you can do this with 0.03 or 0.1 Lot, then the adviser will perform fewer operations in the overlapping function)
EQUITY CLOSE
CloseEquity = true; // Close all orders on the account when Equity % is reached (when DynamicTargetEquity is disabled).
MaxEquityProfit = 5; // how much % of the deposit (the robot remembered Depo0 in File) the robot must earn with new series in order to close all orders on the account.
DynamicTargetEquity = false; // if True, then the target will be automatically set to MaxEquityProfit(%) above the current Equity, provided that the Equity is constantly growing. At the same time, the robot will never close all series, but only rearrange the dynamically floating target higher and higher.
EquityTrail = true; // if True, EA not close all Market positions at MaxEquityProfit=5 but start trail profit once Current Equity > MaxEquityProfit and create a File named AccountNuber_Stops.csv where EA write EquityStartSeries+MaxEquityProfit-TrailDeltaStop in balance based to StopOut and close all if back negative (if EquityStartSeries = 10000 MaxEquityProfit=5 (means in balance 10500) and TrailDeltaStop=1 (means in balance 10400))
TrailDeltaStop = 1; // what distanсe in % trail fillow MaxEquityProfit. If MaxEqiutyProfit = 5 and TrailDeltaStop = 1 it means if EA reach 5% of profit in positions and back to 4% (-1%) EA will close all positions. This trail function can be used even with manual trading – EA look only at total account profit and dont care about magic numbers in this function. Can be used with all existed automated and semi-automated strategies, will LastTP and without then. (better not use LastTP to see how function works). Also in v5.0.5 we created TypeClearVision=1000 where EA paint indicator and monitoring but not open any automated positions – you can use this strategy to use EA as helper with trail when you trade manually.
Slippage = 5; // Price slippage in points — execution of an order at a price that differs for the worse from the price at which the order was placed on the market. This means that there was a strong jump in the quote. Slippage can occur during the release of important Forex news that has a strong impact on the market. The amount of slippage usually ranges from one to several tens of points. If the robot sees that the slippage has not exceeded this value, it will place an order at the current price. Default =5
ForcedRelogin = false // Use ReloginMinutes?
ReloginMinutes = 15; // EA will automatically do relogin in trading account for re-initialise to prevent the logic from getting stuck on the graph. EA can be used in any operation system (Windows, MAC, Linux). Please not use less then 5 minutes – server can block it. Optimal 10-15 minutes but only if you see EA stuck.
UseSound = true; // EA play specific sounds during operations
INDICATOR SIGNALS ON/OFF (at grid levels)
FirstGridOrderSignal = true; // Open the starting order of the Grid series only on the signal of activated indicators. If more than one indicator is activated, then all the included indicators should signal in one direction.
NewLevGridOrdersSignal = true; // Open a new grid level only on the signal of activated indicators (all other levels are above the start order of the series). If more than one indicator is activated, then all the included indicators should signal in one direction.
OnlyOneTypeOrders = true // If current signal Sell – ea trade and can keep only Sell direction and not open any Buy positions (if you will add Buy position – EA will close it), but if signal Sell change to Buy – EA close all Sell positions at this pair and keep hold only Buy positions. Manual positions can have any magic numbers to be closed at crosses of indicator. If you wanna use also LastTP and LastSL in pips you need to open positions same as EA open (buy 1000-1999, sell: 4000-4999 using scripts)
Signal: ClearVision (MultiPower=false)
Strategy #1 Sell Top and Buy Low pair with signal value (antitrend)
UsedIndicator = 1; // 1=MA %, 2=MA_Jump %, 3=RSI %, 4-ATR %, 5-STOCH %, 6-TMA %
TypeClearVison = 1; // Antitrend, sell Top and buy Low pair.
ReverseSignal = false; // will be used in next versions of EA
Index_TF = PERIOD_M5;
MaxBars = 210;
Index_MA_Period = 21; // period of MA in MA and MA_Jump strategies.
SignalPerc = 0.1; // For Color indication
SignalEntry = 50; // For signal Power entries used in different strategies.
If pair in TOP of CustorPairBlock and SignalEntry > 50 EA will sell it.
If pair in LOW of CustorPairBlock and SignalEntry < -50 EA will buy it.

Strategy #2 Index7 (antitrend)
if IndexXXX>SignalEntry EA will sell XXXYYY and buy YYYXXX:
if IndexXXX<-SignalEntry EA will buy XXXYYY and sell YYYXXX:
UsedIndicator = 1; // 1=MA, 2=MA_Jump, 3=RSI, 4-ATR, 5-STOCH
TypeClearVison = 2; // Antitrend Index7
ReverseSignal = false; // will be used in next versions of EA
Index_TF = PERIOD_M5;
MaxBars = 210; // parameter will be used only in MA_Jump for calc max % of MA Jump at this bars
Index_MA_Period = 21; // period of MA in MA and MA_Jump strategies.
SignalPerc = 0.1; // For Color indication
SignalEntry = 50; // For signal Power entries used in different strategies.
Here CHF > SignalEntry = 50 . EA will SELL CHFYYY and BUY YYYCHF pairs:

Strategy #3 IndexXXX-IndexYYY (antitrend)
if IndexXXX-IndexYYY>0 EA will sell XXXYYY
if IndexXXX-IndexYYY<0 EA will buy XXXYYY
Strategy #333 IndexXXX-IndexYYY (trend)
if IndexXXX-IndexYYY>0 EA will buy XXXYYY
if IndexXXX-IndexYYY<0 EA will sell XXXYYY
UsedIndicator = 1; // 1=MA, 2=MA_Jump, 3=RSI, 4-ATR, 5-STOCH
TypeClearVison = 3; // Antitrend IndexXXX-IndexYYY
ReverseSignal = false; // will be used in next versions of EA
Index_TF = PERIOD_M5;
MaxBars = 210; // parameter will be used only in MA_Jump for calc max % of MA Jump at this bars
Index_MA_Period = 21; // period of MA in MA and MA_Jump strategies.
SignalPerc = 0.1; // For Color indication
SignalEntry = 50; // For signal Power entries used in different strategies.
Here CHF=-35.39 > CAD=-55.22
We can build regular market pair = CADCHF with SELL signal. Same with all other 28 pairs at the same time.

Strategy #4 Antitrend : Top and Low of same index
UsedIndicator = 1; // 1=MA, 2=MA_Jump, 3=RSI, 4-ATR, 5-STOCH
TypeClearVison = 4; // Antitrend : Top and Low of same index
ReverseSignal = false; // will be used in next versions of EA
Index_TF = PERIOD_M5;
MaxBars = 210; // parameter will be used only in MA_Jump for calc max % of MA Jump at this bars
Index_MA_Period = 21; // period of MA in MA and MA_Jump strategies.
SignalPerc = 0.1; // For Color indication
SignalEntry = 50; // For signal Power entries used in different strategies.

Strategy #5 Triangle+HedgeUSD. We have EUR GBP indexes and SignalEntry = 50.
If index EUR-GBP > SignalEntry :
EURUSD sell
EURGBP sell
GBPUSD buy
Result of such entry : sell 2 times EUR, buy 2 times GBP and Hedge USD
or
If index EUR-GBP < -SignalEntry :
EURUSD buy
EURGBP buy
GBPUSD sell
Result of such entry : buy 2 times EUR, sell 2 times GBP and Hedge USD
same we do for all next Indexes accross Hedging USD:
(EUR<>CHF) EURUSD + EURCHF + USDCHF
(EUR<>AUD) EURUSD + EURAUD + AUDUSD
….
UsedIndicator = 1; // 1=MA, 2=MA_Jump, 3=RSI, 4-ATR, 5-STOCH
TypeClearVison = 5; // Triangle+HedgeUSD
ReverseSignal = false; // will be used in next versions of EA
Index_TF = PERIOD_M5;
MaxBars = 210; // parameter will be used only in MA_Jump for calc max % of MA Jump at this bars
Index_MA_Period = 21; // period of MA in MA and MA_Jump strategies.
SignalPerc = 0.1; // For Color indication
SignalEntry = 50; // For signal Power entries used in different strategies.
Strategy #6 Index Channel * 0.9 (antitrend)

EA use Index Max=7.10 and Index Low=-8.31 and calculate difference = 7.10-(-8.31) = 15.41
Sell pair XXXYYY if index (XXX-YYY)*0.9 > 15.41
Buy pair XXXYYY if index (XXX-YYY)*0.9 < -15.41
Strategy #7 Accross own TOP/LOW index (antitrend)

If index EUR in TOP of Indexes (EUR=7.10 )
Sell EUR pairs if their values > index EUR
If index JPY in LOW of Indexes (JPY=-8.31)
Buy JPY pair if their values < index JPY
Strategy #8 Stronger back to own Index (antitrend)

Example for EUR pairs:
EA look at EUR index=3.13 and see LOW (EURCHF=-13.26) and TOP (EURGBP=17.46) EUR pair…
EURGBP – EUR <> EURCHF-EUR
17.46-3.13 = 14.33 <> -13.26-3.13 = -16.39
EA will buy EURCHF because it step away from EUR index stronger as EURGBP
Same logic will be used for other indexes and its pairs
Strategy #9 Pair value +- into reverse (antitrend)

If pair value > SignalEntry = sell
If pair value < -SignalEntry = buy
Strategy #99 Pair value +- into trend (trend)
If pair value > SignalEntry = buy
If pair value < -SignalEntry = sell
EA will trade all 28 pairs and can open in default many orders! But you can post in PairsForTrading only pairs that you like to trade – in this case EA wll trade only specific pairs that you choosed.
Strategy #10 3 TOP pairs SELL + 3 DOWN pairs BUY (antitrend)
Strategy #11 2 TOP pairs SELL + 2 DOWN pairs BUY (antitrend)

Strategy #12 JPY & USD pairs (antitrend)
EA compare indexes JPY <> USD.
If JPY>USD we sell JPYXXX (buy XXXJPY) pairs and buy USDXXX (sell XXXUSD) pairs.
If JPY<USD we buy JPYXXX (sell XXXJPY) pairs and sell USDXXX (buy XXXUSD) pairs.
Strategy #13 JPY & USD pairs (trend)
EA compare indexes JPY <> USD.
If JPY>USD we buy JPYXXX (sell XXXJPY) pairs and sell USDXXX (buy XXXUSD) pairs.
If JPY<USD we sell JPYXXX (buy XXXJPY) pairs and buy USDXXX (sell XXXUSD) pairs.

Strategy #777 EA trade pairs from file CV_777.txt
User must Create file MQL5\Files\FXPIP_Signals\CV_777.txt and add your pair as signals – EA will pickup and trade them.
First line is a Buy pairs signal, second line is a Sell pairs signal. Number of pairs can be any and separated by comma
EURUSD,NZDJPY,AUDNZD,CADCHF,GBPJPY,USDCHF,AUDCHF
USDJPY,AUDCAD,NZDCHF,CHFJPY,GBPAUD
In set file – UsedIndicator can be any, just for visual help to make design in manual signal for file
Signal File must be placed here MQL5\Files\FXPIP_Signals\CV_777.txt
MultiPower=true and LastTP =true will let you open multigrid levels at all pairs at the same time.
Multi-Power=false also added – in this mode EA will open pairs from MQL5\Files\FXPIP_Signals\CV_777.txt but each pair will be traded in separate pistep.
Added TMA % as indicator #6 into ClearVision:
UsedIndicator = TMA;
To setup parameters of TMA in CLEAR VISION please use specific area with green color for indicator ( clear vision use only one Slow TMA ):
PARAMETRS TMA ind Strategies
TypeTMAFiltre=0;
TMA_InitTF = PERIOD_H1;
TMA_All_Bars = 1000;
TMA_HalfLengthFast = 56;
TMA_HalfLengthSlow = 224;
TMA_PriceFast = PRICE_CLOSE;
TMA_PriceSlow = PRICE_CLOSE;
TMA_ATRMultiplierFast = 2.0;
TMA_ATRMultiplierSlow = 4.0;
TMA_ATRPeriodFast = 100;
TMA_ATRPeriodSlow = 400;
KeepTMAxOposite = true;
Strategy #888 SemiAutomated ! buttons control signals of 1) Each Pair or 2) 8×7 indexes trading
(works only with Multi-Power=false)
Every pair will be traded with PipStep and LastTP (can be On Off) as it posted in inputs separatelly (every pair work separatelly from others)
EA must remember which buttons Pressed after reboot of MT5

Set File 888-multi_power-false.set (You can add LastTP and Overlap if need)
More info in this Video : https://www.youtube.com/watch?v=8K7JKY7a2p4
Strategy #8888 + (ReverseSignal=false) automated strategy for retrasement at the end of Day (H4 and Higher TF)
EA look at 3 top and 3 low sorted Currencies and build 5 pairs for Entry at same time.
You can entry with your risk and turnoff autotrading or shutdown terminal. Then after night or later check profit. Not need trade all day or all night.

More info in this Video: https://www.youtube.com/watch?v=EKM8qS4VjQs
Strategy #8888 + (ReverseSignal=true)
Same as 8888 + ReverseSignal=false but opposite signal in Trend 5 pairs same time!

Strategy #15 use 3 2 1 candless back to see Cross of Zero in each PairValue in ClearVision indicator
If closed Candle #3 (3 cadle back , cerrent candle = 0) have value < 0 and Candle #2 < 0 but Candle #1 > 0 by PairValue = EA entry BUY.
If closed Candle #3 (3 cadle back , cerrent candle = 0) have value > 0 and Candle #2 > 0 but Candle #1 < 0 by PairValue = EA entry SELL.
Strategy #16 use 3 2 1 candless back to see Cross of Zero in each IndexValue in ClearVision indicator
Same as 15 but in use 8 indexes values (not each pair) and trade 7 pairs that have this Index
______
Keep in mind that it can keep signal only 1 current bar – at next bar can be no signal. Can be modified in future after some tests
______
Coded from Andi Task
Strategy #18
If EA see pending order with comment = BUY_JPY it will buy JPY in all JPY pairs : XXXJPY sell.
If EA see pending order with comment = BUY_GBP it will buy GBP in all GBP pairs : GBPXXX buy and XXXGBP sell.
Strategy #21 Only USD pairs (trend)
if USD > 0 and USDXXX > 0 = buy
if USD > 0 and XXXUSD < 0 = sell
if USD < 0 and USDXXX < 0 = sell
if USD < 0 and XXXUSD > 0 = buy
Strategy #22 (trend)
Pair = XXX/YYY, where XXX=Numerator and YYY=Divider
Total automated signal:
BUY: if indexes in indicator XXX>YYY and Pair signal>0
SELL: if indexes in indicator XXX<YYY and Pair signal<0
How to use EA MPGO as Semi-Automated Tool that can close you Manual entries from ClerVisionBars indicator Crosses in this video:
In version v5.0.2.8.6 added 2 new parameters for this:
OnlyOneTypeOrders = true // If current signal Sell – ea trade and can keep only Sell direction and not open any Buy positions (if you will add Buy position – EA will close it), but if signal Sell change to Buy – EA close all Sell positions at this pair and keep hold only Buy positions. Manual positions can have any magic numbers to be closed at crosses of indicator. If you wanna use also LastTP and LastSL in pips you need to open positions same as EA open (buy 1000-1999, sell: 4000-4999 using scripts)
SignalBarCV = 0 // what signal Bar use for entry in Strategy CV #22 and close at Crosses, 0=Current not Closed Bar (can repaints), 1=previous closed Bar
Signal: ClearVision (MultiPower=true)
EA MPGO v5.0.4.x – in this version old ClearVision strategies also works – but with parameter Multi_Pipstep= false (it means each pair will be trade in separate pipstep and separate signal of open). In this thread we will discuss only strategies that will works only with Multi_Pipstep= true
This Automated strategies works with Multi_Power = true. Ea open first milti-grid levels same time at all pairs that EA calcualte from ClearVision indicator (it can be 2 4 6 7 8 or even 16 pairs, it depends from # of ClearVision strategy we will use – read below). It save pairs and directions into ClearVisionIndexPairs.txt file during it opens start orders to use same signals at next multigrid levels using Avg_Pipstep that you will see in Monitoring.
STRATEGY TESTER CANNOT WORK WITH writing and reading to files! Do not run EA in tester!
NoNewTrade=true also modified if Multi_Power = true – EA will trade new orders until it will close profit Target and Stop! To start trade make NoNewTrade=false!

If negative Avg_Pipstep > Pipstep EA will open NewMultiGridLevel at same pairs. You simply setup PIPSTEP=15 in set and if Avg_Pipstep=-15 in this case EA open new MultiGridLevel and Start calculated Avg_PipStep for last opened multigrid level. Difference between usual pipstep and Multi-Pipstep is that at usual pipstep EA can have big drawdown at 1 pair and at others not big, but with MultiPipstep it help you survive in big trend at 1 pair that will not have such big drawdown and no much orders every pipstep pips. Example Avg_PipStep = -15 it means if EA trade 10 pairs same time it calcualte at each of 10 pairs average distance from price open to current price (not onle at 1 pair) at show us in monitoring. if 1 pair will have drawdown = -100 pips but other pairs will have -3 pips drawdown the Avg_PipStep = -(+3+3+3+3+3+3+3+3+3+100)/10 = -12.7 pips. So if we would use usual pipstep as usual one pair grider do – we would have at pair that in biggest drawdiown -100 pips (100/15= 7) about 7 grid level and bigger drawdown comparing with usual pipstep=15 pips for each pair
So i decided to keep same signals in txt file from Start levels and trade same signals until target equity. If we let open new pairs from new signals we will have a lot of new serials and negative locks because of signal changes. Also signal files will be deleted once we reach target equity or we manually close all orders in + or – . (no Market Positions). Also you can see current indexes and pairs signals in TXT files to understand do you need to close all positions to make EA read and update current market signals into TXT signal files..
At next picture see which Comments and Magic Numbers EA use during trade in Multi-Power=true. We also have manual button if you like big automated Avg_PipStep like 25 – 50 pips but you like to add NOW manually new multilevel same signal form file… Also possible.

Intime we will make and add all existed ClearVision strategies usible with Multi_Power=true and Multi_Power=false. For now will add only important strategies that can be used with Multi_Power=true that we tested and works in profit with not big drawdown… But keep in mund Multi_Power=false can open a lot of new serials and positions with lock at 1 pairs – it can be used only in specific market like trading at News.
Signal Files EA delete only if Multi-Power=true + NoMarktOrders + AutoTradingButtonOn. If one of this three condition is false EA not delete files, so you can turnoff if using AutoTradingButtonOff at VPS for wekends to not kill hardDisk if your acc have no market orders
TypeClearVison=37 + Multi_Power=true (7 pairs in one Multi-Grid lvl. Anti-Trend with Low drawdown)

EA write Sorted Indexes into file ClearVisionIndex.txt using ClearVision indicator logic at Current Market:
7: JPY
6: NZD
5: CHF
4: AUD
3: CAD
2: EUR
1: GBP
0: USD
Buy Pairs: 0/7 0/6 0/5 0/4
Sell Pairs: 7/0 7/1 7/2 7/3
We buy Lower index into 4 highest indexes and sell Highest index into 4 lower indexes:

Based on ClearVisionIndex.txt EA write pairs into file ClearVisionIndexPairs.txt:
First line in file is a Sell pairs: AUDUSD NZDUSD
Second line in file is a Buy pairs: USDCHF USDJPY GBPJPY EURJPY CADJPY
In Sell pairs we can see not existed pair : 7/0 (JPYUSD) but it is the same as 0/7 (USDJPY). Basically we sell 4 upper indexes and buy 4 lower indexes to each-other in only 7 pairs because JPYUSD not exist and we keep only USDJPY for both 7/0 and 0/7 one time.
First and next multi-grid levels will use same signal from file ClearVisionIndexPairs.txt. Both files will be updated only if you or EA close all Market Positions + AutotradingButtonOn + Multi_Power=true
Set File ClearVision37: Download
———————————————————–
TypeClearVison=38 + Multi_Power=true (7 pairs in one Multi-Grid lvl. Trend with Low drawdown)
Same as 37 but reversed
TypeClearVison=30 + Multi_Power=true (16 pairs in one Multi-Grid lvl. Anti-Trend Strategy)

EA write Sorted Indexes into file ClearVisionIndex.txt using ClearVision indicator logic at Current Market:
7: USD
6: GBP
5: EUR
4: CAD
3: AUD
2: CHF
1: NZD
0: JPY
Buy Pairs:
0/4 0/5 0/6 0/7
1/4 1/5 1/6 1/7
2/4 2/5 2/6 2/7
3/4 3/5 3/6 3/7
or
Sell Pairs:
7/0 7/1 7/2 7/3
6/0 6/1 6/2 6/3
5/0 5/1 5/2 5/3
4/0 4/1 4/2 4/3
TypeClearVison=29 + Multi_Power=true (16 pairs in one Multi-Grid lvl. Trend Strategy)
Same as 30 but reversed:

EA write Sorted Indexes into file ClearVisionIndex.txt using ClearVision indicator logic at Current Market:
7: USD
6: GBP
5: EUR
4: CAD
3: AUD
2: CHF
1: NZD
0: JPY
Buy Pairs:
7/0 7/1 7/2 7/3
6/0 6/1 6/2 6/3
5/0 5/1 5/2 5/3
4/0 4/1 4/2 4/3
or
Sell Pairs:
0/4 0/5 0/6 0/7
1/4 1/5 1/6 1/7
2/4 2/5 2/6 2/7
3/4 3/5 3/6 3/7
Based on ClearVisionIndex.txt EA write 16 pairs into file ClearVisionIndexPairs.txt:
First line in file is a Sell pairs: USDJPY GBPJPY EURJPY CADJPY GBPNZD EURNZD USDCHF GBPCHF EURCHF CADCHF GBPAUD EURAUD
Second line in file is a Buy pairs: NZDUSD NZDCAD AUDUSD AUDCAD
Each RED index we sell 4 times and each BLUE index we buy 4 times. 4×4= 16 pairs in one Multi-Grid level.
First and next multi-grid levels will use same signal from file ClearVisionIndexPairs.txt. Both files will be updated only if you or EA close all Market Positions + AutotradingButtonOn + Multi_Power=true
Be carefull at News using same time 16 pairs at one Multi-Grid level with PipStep < 20 – because big spread can open many levels in one place. Better use bigger PipStep or turnoff EA at News, you need to fill it and see monitoring of Avg_PipStep.
Set File ClearVision#30: Download
TypeClearVison=31 + Multi_Power=true (16 pairs in one Multi-Grid lvl. Re-sorting: upper and lower indexes in trend. The rest alternate through one)

EA write Sorted Indexes into file ClearVisionIndex.txt using ClearVision indicator logic at Current Market:
7: USD
6: GBP
5: EUR
4: CAD
3: AUD
2: NZD
1: CHF
0: JPY
Buy Pairs:
7/6 7/4 7/2 7/0
5/6 5/4 5/2 5/0
3/6 3/4 3/2 3/0
1/6 1/4 1/2 1/0
or
Sell Pairs:
6/7 6/5 6/3 6/1
4/7 4/5 4/3 4/1
2/7 2/5 2/3 2/1
0/7 0/5 0/3 0/1
Based on ClearVisionIndex.txt EA write 16 pairs into file ClearVisionIndexPairs.txt:
First line in file is a Sell pairs: GBPUSD NZDUSD GBPAUD GBPCHF CADCHF NZDCHF
Second line in file is a Buy pairs: USDCAD USDJPY EURGBP EURCAD EURNZD EURJPY AUDCAD AUDNZD AUDJPY CHFJPY
Each RED index we sell 4 times and each BLUE index we buy 4 times. 4×4= 16 pairs in one Multi-Grid level.
First and next multi-grid levels will use same signal from file ClearVisionIndexPairs.txt. Both files will be updated only if you or EA close all Market Positions + AutotradingButtonOn + Multi_Power=true
Set File ClearVision#31: Download
TypeClearVison=32 + Multi_Power=true (16 pairs in one Multi-Grid lvl. Re-sorting: upper and lower indexes in anti-trend. The rest alternate through one)

Its same as 31 but reversed.
EA write Sorted Indexes into file ClearVisionIndex.txt using ClearVision indicator logic at Current Market:
7: USD
6: GBP
5: CAD
4: EUR
3: AUD
2: CHF
1: NZD
0: JPY
Buy Pairs:
6/7 6/5 6/3 6/1
4/7 4/5 4/3 4/1
2/7 2/5 2/3 2/1
0/7 0/5 0/3 0/1
or
Sell Pairs:
7/6 7/4 7/2 7/0
5/6 5/4 5/2 5/0
3/6 3/4 3/2 3/0
1/6 1/4 1/2 1/0
Based on ClearVisionIndex.txt EA write 16 pairs into file ClearVisionIndexPairs.txt:
First line in file is a Sell pairs: NZDJPY NZDCHF AUDJPY AUDCHF CADJPY CADCHF USDJPY USDCHF
Second line in file is a Buy pairs: EURNZD GBPNZD EURAUD GBPAUD EURCAD GBPCAD EURUSD GBPUSD
Each RED index we sell 4 times and each BLUE index we buy 4 times. 4×4= 16 pairs in one Multi-Grid level.
First and next multi-grid levels will use same signal from file ClearVisionIndexPairs.txt. Both files will be updated only if you or EA close all Market Positions + AutotradingButtonOn + Multi_Power=true
TypeClearVison=33+ Multi_Power=true (4 pairs, Antitrend)

7: GBP
6: JPY
5: CHF
4: CAD
3: EUR
2: NZD
1: AUD
0: USD

Signal: RSI & Doube RSI
Type_Double_RSI_Filtre = 1 // One indicator of RSI will be used.
BUY if RSI > 50
SELL if RSI <50

Type_Double_RSI_Filtre = 2 // Two indicators of RSI will be used with different period at one TimeFrame (Fast and Slow)
BUY if RSI Fast > RSI Slow
SELL if RSI Fast < RSI Slow

Signal: Parabolic SAR & Double TF Parabolic SAR strategies
PARAMETRS SAR ind Strategies in set of EA MPGO MT5
TypeSarFiltre = 0 // 0=off, 1= one slow TF, 2=two TF’s same direction, 3=two TF’s different dirrection but trade to SlowTF
SAR_TF = PERIOD_H1 // fast TF
SAR_TF_T =PERIOD_H4 // slow TF
SAR_All_Bars = 100 // how many bars EA use in history to read PSar signal
Sar_Step = 0.02 // fast
Sar_Step_T = 0.02 // slow
Sar_maximum = 0.2 // fast
Sar_maximum_T = 0.2 // slow
SAR_Signal_BAR = 0 // at what bar EA read sar signal. 0=current not closed bar, 1=previous bar
===================================
TypeSarFiltre = 1 // works from with SAR_TF_T only. Here example how EA read from H1 ParabolicSAR from H4 (use indicator for visual PSAR_TF.ex5) :

===================================
TypeSarFiltre = 2 // works with two timeframes Fast and Slow – they must look same direction:

===================================
TypeSarFiltre = 3 // works with two timeframes Fast and Slow – they must look different direction but global trend is at Slow SAR_TF_T:

Signal: TMA_Bands & Double TMA_Bands Strategies
TMA strategies can make signals at separate pairs – enter them in parameter PairsForTrading.
TypeTMAFiltre = 1 & KeepTMAxOposite = false
This strategy use one SlowTMA at one TimeFrame.
Sell if current price at current Bar (#0) > UpperBand of SlowTMA
Buy if current price at current Bar (#0) < LowerBand of SlowTMA
Signals only from outside channel into Center of channel. Inside channel No Signals.

Warning: It can open in big trend antitrend positions – human must control maxpositions and stoplosses in set of EA. Very good work in sideway or range market with lastTP.
TypeTMAFiltre = 1 & KeepTMAxOposite = true
This strategy use one SlowTMA at one TimeFrame.
Sell if current price at current Bar (#0) > UpperBand of SlowTMA or if current price inside channel at previous out was higher UpperBand of SlowTMA
Buy if current price at current Bar (#0) < LowerBand of SlowTMA or if current price inside channel at previous out was below LowerBand of SlowTMA
Strategy always have signal: inside and outside channel of SlowTMA. 
EA search at history prevous price out from the channel and keep this signal to opposite signal. It means when price outside channel we work same as we did in TypeTMAFiltre = 1 & KeepTMAxOposite = false and additionally we keep such signals from previous cross at history inside channel until price will go out channel at opposite side of the channel.
Warning: It can open in big trend antitrend positions – human must control maxpositions and stoplosses in set of EA. Very good work in sideway or range market with lastTP.
Example of SetFile with 4 pairs : Mpgo_TMA1_true.set
TypeTMAFiltre=8
Double TMA Bands Strategy that use Slow and Fast TMA.
Sell: UpperLineFastTMA > UpperLineSlowTMA
Buy: LowerLineFastTMA < LowerLineSlowTMA
Inside channel we also keep signal from previous cross until next opposite cross

Warning: It can open in big trend antitrend positions – human must control maxpositions and stoplosses in set of EA. Very good work in sideway or range market with lastTP.
TypeTMAFiltre=9
Same as TypeTMAFiltre=8 but price must go out two channels of TMA (fast and slow)
Buy if iClose < TMA Fast < TMA Slow
Sell if iClose > TMA Fast > TMA Slow

Signal: 1MA 2MA 3MA
1 2 3 MA Breakout Trend and Antitrend watch in this Video: https://www.youtube.com/watch?v=WNyTb9Ec2PY
Signal: RENKO
Renko Signals in EA:
- Single RSI
- Double RSI
- TMA1, TMA8, TMA9
- SAR1
- 1MA 2MA 3MA