
Waka Waka EA [MQLume] 4.59: +20.40% | AUDCAD · 12-month backtest
Return, drawdown, monthly results and selected settings for Waka Waka EA [MQLume] 4.59.

Return, drawdown, monthly results and selected settings for Waka Waka EA [MQLume] 4.59.
With the source in your hands, your ideas can go further than the settings panel.
Open your source in MetaEditor and start building. Projects use self-contained code or the standard libraries already included with MT5.
Study, customise and trade on your own accounts. Your EA source gives you the freedom to keep refining your ideas.
One purchase per source project. MQLume does not charge by the number of activations or uses.
Bring your ideas to an AI coding assistant. Use the editable MQL5 project as your starting point, and stay in control of every change.
Ask for a session filter, clearer logging or a different risk rule.
Read the proposed code, check the logic and compile it in MetaEditor.
Compare backtests, then test on a demo account before considering live use.
Use an AI tool of your choice; no AI subscription is included. Review generated code and keep your source private. Better tools support your process, but do not guarantee trading profits.
Overview
The source edition includes editable MQ5, compiled EX5, README and PARAMETERS.pdf. Read the rules, adjust your own copy and recompile after changes. A multi-symbol forex grid strategy with local pattern filters, basket management, flexible lot sizing and configurable protection.
Built for MetaTrader 5. A complete source project, clear inputs and practical documentation give you control over your next build.
Trading setup
A multi-symbol forex grid strategy with local pattern filters, basket management, flexible lot sizing and configurable protection.
These are marketplace specifications, not a guarantee of suitable capital or performance.
Explore 50 lines of the project's MQL5 source. Scroll inside the editor to discover more.
double MQLumeCalculateStopLoss(const MQLumeStopLossContext &c){ const double point=(c.point>MQLUME_PRICE_EPSILON ? c.point : 0.00001); const double pip_factor=MQLumePipFactor(c.digits); double unit=point*pip_factor; if(c.percentage_pips && c.previous_close>MQLUME_PRICE_EPSILON) unit=c.previous_close*0.0001; double distance=c.grid_stop_loss*unit; const double trail=c.trailing_distance*unit; const double start=c.trailing_start*unit; if(distance<MQLUME_PRICE_EPSILON) distance=1000.0*pip_factor*point; double result=0.0; if(c.direction==1 || c.direction==-1) { result=NormalizeDouble(c.reference_price-c.direction*distance,c.digits); if(!c.disable_trailing && c.trailing_distance>0.0 && trail>0.0 && start>=0.0 && c.existing_stop_loss>MQLUME_PRICE_EPSILON) { const double reference=NormalizeDouble(c.reference_price,c.digits); if(c.direction==1) { if(c.bid-reference>MathMax(trail,start) && c.bid-trail>c.existing_stop_loss) result=NormalizeDouble(c.bid-trail,c.digits); else result=MathMax(result,c.existing_stop_loss); } else { if(reference-c.ask>MathMax(trail,start) && c.ask+trail<c.existing_stop_loss) result=NormalizeDouble(c.ask+trail,c.digits); else result=MathMin(result,c.existing_stop_loss); } } if(c.previous_close>MQLUME_PRICE_EPSILON && c.direction*(c.reference_price-result)>0.5*c.reference_price && point>0.0) result=NormalizeDouble(c.reference_price-c.direction*0.5*c.reference_price,c.digits); } result=MQLumeAlignPriceToTick(result,c.tick_size,c.digits); if(c.remove_during_rollover && MQLumeIsRolloverWindow(c.current_hhmm,c.rollover_start_hhmm,c.rollover_end_hhmm)) return 0.0; return result;}struct MQLumeTakeProfitStageYour next build starts here.
Complete source, practical documentation and reference files to help you understand, customise and test your EA.
100% source code means the editable implementation of this product is supplied in full. It is not an EX5-only delivery or a hidden strategy module.
Version 4.59 · Personal-use licenceComplete, editable single-file source. Read the logic, customise it and compile your own EA.
The compiled EA accompanying the source. Recompile after editing the MQ5.
Bundled compile-time resource; preserve its relative path.
Bundled compile-time resource; preserve its relative path.
Bundled compile-time resource; preserve its relative path.
Bundled compile-time resource; preserve its relative path.
Bundled compile-time resource; preserve its relative path.
Parameter handbook with initial values, sizing formulas and usage notes.
MT5 input preset. Review the settings before use.
MT5 input preset. Review the settings before use.
A concise welcome, installation and compilation guide, with licence terms and support details.
Explore, customise and test your EA across different market conditions. Start with the supplied guide, then build a testing routine around your own settings.
Version v4.59 · 150
Initial settings from the delivered source. Review and test changes before using them.
Explore the inputs below to shape the EA around your research, risk preferences and workflow. Outgoing EA order comments use @MQLume and retain required strategy identifiers. Comment inputs remain for saved-setting compatibility and do not remove the execution label.
Read PARAMETERS.pdf alongside README.txt for the meaning, defaults and operating notes behind the short input labels.
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
------> MM & Risk settings <------MM_Setting | Display text |
Check for Instances of the EACheckForOtherInstances | true |
Allow Opening a new Initial Trade?AllowOpeningNewGrid | true |
Allow Manual Trading ButtonsAllowManualTrading | false |
Lot-sizing MethodLotSizingMethod | MQLUME_LOTS_PRESET_LOW |
Fixed LotLotSizingValueFixed | 0.01 |
Dynamic Lot (Balance/Equity based)LotSizingValueDynamic | 10000.0 |
Deposit Load %LotSizingDepositLoadPercent | 0.25 |
Fixed Initial Deposit? (Tester only)FixedInitialDeposit | false |
Tester Withdrawal (Tester only)Tester_Withdrawal | 0.0 |
Withdrawal Amount (Tester only)WithdrawalAmount | 1000.0 |
Rounding MethodRoundingMethod | Round half upMQLUME_ROUND_HALF_UP |
Max Lot per OrderMaximumLot | 100.0 |
Auto Split?AutoSplit | true |
Maximum Spread, in pipsMaximumSpread | 10.0 |
Maximum Slippage for a non-ECN acc, in pipsMaximumSlippage | 10.0 |
Portfolio ModePortfolioMode | false |
Initial Delay for Portfolio Mode, msPortfolioDelay | 4000 |
Consider PAI Orders (Portfolio only)Consider_PAI_Orders | true |
Consider GP Orders (Portfolio only)Consider_GP_Orders | false |
Consider NCP Orders (Portfolio only)Consider_NCP_Orders | false |
Maximum Symbols at a timeMaximumSymbols | 2 |
Only One Symbol if Grid reaches this Level [0-disabled]OnlyOneSymbolGridReachesLevel | 0 |
Disable Trades on the Same Side of a CurrencyDisableTradesOnTheSameSide | false |
Allow Hedging?AllowHedging | true |
Allow Trading on Holidays?AllowTradingOnHolidays | false |
Allow to Buy/SellAllowToBuySell | Buy and SellMQLUME_DIRECTION_BOTH |
One Trade Per Day_OneTradePerDay | false |
Minimum Free Margin % [0-disabled]MinimumFreeMargin | 0.0 |
Max Open Lots (Filter)MaximumOpenLots | 100000.0 |
Max Open Lots Adjusted For...MaximumOpenLotsAdjustedFor | DisabledMQLUME_VOLUME_LIMIT_FIXED |
Max Floating Drawdown %MaximumDrawdown | 100.0 |
Max Floating Drawdown % for each Symbol, separated by commaMaximumDrawdownForEachSymbol | "100.0,100.0,100.0" |
Max Floating Drawdown in Money [0-disabled]MaximumDrawdownMoney | 0.0 |
Max Daily Drawdown Limit % FTMO RulesMaxDailyDrawdownLimitPercentFTMO | 100.0 |
Max Daily Drawdown Limit in Money FTMO Rules [0-disabled]MaxDailyDrawdownLimitMoneyFTMO | 0.0 |
Max Daily Drawdown Reset Hour FTMO Rules (Broker time)MaxDailyDrawdownResetHourFTMO | 0 |
Max Daily Drawdown Type FTMOMaxDailyDrawdowTypeFTMO | EquityMQLUME_REFERENCE_EQUITY |
Max Drawdown ActionMaximumDrawdownAction | Close trades & stop trading for 24hMQLUME_DRAWDOWN_CLOSE_WAIT_24_HOURS |
Do Nothing if During RolloverDoNothingIfDuringRollover | false |
Max Drawdown CalculationDrawdownCalculation | MQLUME_DRAWDOWN_STRATEGY |
Handle Max Drawdown Events on Every TickHandleEventsOnEveryTick | false |
Check Margin for all Grid LevelsCheckMarginForAllGridLevels | true |
Check Bars for ErrorsCheckBarsForErrors | true |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
------> Time settings <------Time_Setting | Display text |
Hour to Start TradingHourToStartTrading | 0 |
Minutes to Start TradingMinutesToStartTrading | 0 |
Hour to Stop TradingHourToStopTrading | 23 |
Minutes to Stop TradingMinutesToStopTrading | 59 |
Hour to Close & Stop Trading on Friday [0-disabled]FridayExitHour | 0 |
Trade on MondayTradeOnMonday | true |
Trade on TuesdayTradeOnTuesday | true |
Trade on WednesdayTradeOnWednesday | true |
Trade on ThursdayTradeOnThursday | true |
Trade on FridayTradeOnFriday | true |
Rollover Start HourRolloverStartHour | 23 |
Rollover Start MinutesRolloverStartTime | 45 |
Rollover End HourRolloverEndHour | 0 |
Rollover End MinutesRolloverEndTime | 15 |
Send Orders During RolloverSendOrdersDuringRolloverTime | true |
Remove TakeProfit During RolloverRemoveTakeProfit | false |
Remove StopLoss During RolloverRemoveStopLoss | false |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
------> Strategy settings <------Strategy_Setting | Display text |
Symbols separated by comma (custom if empty)Symbols | "AUDNZD,AUDCAD,NZDCAD" |
Symbol SuffixSymbolSuffix | "" |
Custom Symbol Multipliers separated by comma (e.g. 0.9,1.2,1)Symbol_Multiplier | "" |
Percentage Pips ModePercentagePipsMode | false |
Working TF for BB and RSIWorking_TimeFrame | PERIOD_M15 |
ML-based Pattern Recognition & FilteringML_Based_PatternFilter | true |
ML-based Pattern Filter ThresholdML_Based_PatternFilterThreshold | 80 |
Bollinger Bands PeriodBollingerBandsPeriod | 35 |
RSI PeriodRSI_Period | 20 |
Maximum RSI ValueRSI_Value | 15 |
Daily EMA Period [0-disabled]DailyEMA_Period | 0 |
Reverse StrategyReverseStrategy | false |
Open Opposite TradeOpenOppositeTrade | false |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
------> TakeProfit settings <------Strategy_Setting_TP | Display text |
TakeProfit for Initial Trade, in pipsInitialTP | 10.0 |
Weighted TakeProfit?WeightedTP | true |
TakeProfit for Grid, pips (can also be 0/negat. for emergency)GridTP | 0.0 |
TakeProfit #1 after this Level [0-disabled]BreakEvenAfterThisLevel | 0 |
TakeProfit #1 after X bars [0-disabled]BreakEvenAfterXBars | 0 |
TakeProfit #1 [can also be negat., 0-breakeven]BreakEvenValue | 0.0 |
TakeProfit #2 after this Level [0-disabled]BreakEvenAfterThisLevel2 | 0 |
TakeProfit #2 after X bars [0-disabled]BreakEvenAfterXBars2 | 0 |
TakeProfit #2 [can also be negat., 0-breakeven]BreakEvenValue2 | 0.0 |
TakeProfit #3 after this Level [0-disabled]BreakEvenAfterThisLevel3 | 0 |
TakeProfit #3 after X bars [0-disabled]BreakEvenAfterXBars3 | 0 |
TakeProfit #3 [can also be negat., 0-breakeven]BreakEvenValue3 | 0.0 |
Hide TakeProfit?HideTP | false |
Use OPO method to handle TPUse_OPO_Method | false |
TF for OPO methodOPO_TimeFrame | PERIOD_M15 |
Smart TakeProfit?SmartTP | false |
Do not adjust TP unless new grid level openedDoNotAdjustTPUnlessNewGrid | false |
Allow sending SL along with an order (for a non-ECN acc.)AllowSending_SL_Along_with_Order | false |
Cover SwapsCoverSwaps | true |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
------> StopLoss settings <------Strategy_Setting_SL | Display text |
StopLoss for Grid, in pips (1000pips if zero)GridSL | 0.0 |
Hide StopLoss?HideSL | false |
Trailing SL Size, in pips [0-disabled]Trailing_SL_Size_Pips | 0.0 |
Trailing SL Start, in pipsTrailing_SL_Start_Pips | 10.0 |
Randomize Order/TP LevelsRandomizeLevels | false |
Max Random Delay before sending Orders, sec [0-disabled]RandomDelay | 0.0 |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
------> Grid settings <------Grid_Setting | Display text |
Trade DistanceTradeDistance | 35 |
Pause Between Grid Trades, in min [0-disabled]PauseBetweenGridTrades | 0 |
Smart Distance?SmartDistance | true |
2nd Trade MultiplierTradeMultiplier_2nd | 1.0 |
3rd-5th Trade MultiplierTradeMultiplier_3rd | 2.0 |
6th- Trade MultiplierTradeMultiplier_6th | 1.6 |
Maximum TradesMaximumTrades | 9 |
Custom Multipliers sep. by comma (e.g. 1,2,4,8,12,18,27,41)CustomMultipliers | "" |
Calculate Levels from Initial TradeCalculateLevelsFromInitialTrade | true |
Grid Level to Start (1-initial trade)GridLevelToStart | 1 |
Keep Original Profit Level & Lot SizeKeepOriginalProfitLotSize | false |
Force Basket Closure once the Initial Order is ClosedForceBasketClosureOnceInitialOrderClosed | false |
Send Push Notifications after this Level [0-disabled]SendPushNotificationsAfterThisLevel | 0 |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
------> News Filter settings <------NewsFilter_Setting | Display text |
News Filter EnabledNewsFilterEnabled | true |
News Filter ActionNewsFilterAction | Prohibit opening of the initial tradeMQLUME_NEWS_BLOCK_INITIAL |
Disable Trading on Bank HolidaysDisableTradingOnHolidays | false |
Disable Built-in News Filter SettingsDisableBuiltInSettings | false |
Custom Events (separated by comma, disabled if empty)CustomEvents | "FOMC" |
Medium Impact NewsMediumImpactNews | false |
Low Impact NewsLowImpactNews | false |
SpeaksSpeaks | false |
Wait Minutes Before EventWaitMinutesBeforeEvent | 15 |
Wait Minutes After EventWaitMinutesAfterEvent | 15 |
Increase Take Profit, in pips [0-disabled]IncreaseTakeProfitPips | 0.0 |
Show News ListShowNewsList | true |
News List Refresh RateNewsListRefreshRate | MQLUME_NEWS_REFRESH_THREE_HOURS |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
------> Stock Market Crash Filter settings <------StockMarketFilter_Setting | Display text |
Stock Market Crash Filter EnabledStockMarketFilterEnabled | false |
Stock Market SymbolStockMarketSymbol | "US500,SPX500" |
Filter PeriodStockMarketFilterPeriod | 48 |
Max Historical Volatility (HV), in %MaxHistoricalVolatility | 40.0 |
Block Trading for the Entire DayBlockTradingForTheEntireDay | false |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
------> Additional settings <------Additional_Setting | Display text |
Order Comment (fixed prefix; grid suffix retained)TradeComment | "@MQLume" |
UID (0...9)UID | 0 |
Basic Magic NumberMagicBase | 84570 |
Show PanelShowPanel | true |
Show StatsShowStats | true |
Show the next Grid's Price & VolumeShowNextGridsPriceVolume | true |
Font Size (1...8)FontSize | 6 |
Debug ModeDebug | false |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
------> Backtest settings <------Backtest_Setting | Display text |
Disable Automatic GMT DetectionDisableAutoGMT | false |
GMT Test/ManualGMT_offset | 2 |
DST Test/ManualDST | USMQLUME_DST_US |
Support after delivery
While the product is actively maintained, we investigate and fix reproducible defects in the delivered, unmodified code that conflict with the product description.
Support: while the product is actively maintainedMissing files, incorrect delivery and original-code compilation failures in the stated environment.
Provide the release, settings, logs and reproduction steps so we can assess and resolve the issue.
Start with the included guide and contact us for help with delivery or reproducible software defects. Trading results are not guaranteed.
You may read, modify and compile the delivered source for your own research and trading accounts. Keep a backup of the original delivery before making changes. You may not resell, redistribute, publish or sublicense the source or compiled files, or offer them as a white-label product, without separate written permission. Source delivery does not transfer copyright or ownership of third-party names.
Source code is a copyable digital product. Once delivered, we do not accept change-of-mind refunds, including because you no longer need the product. Check compatibility, contents and disclosed limits before ordering.
After payment is verified, we deliver the source package and documentation to your order email. Check your inbox and spam folder. Keep your order reference for delivery and support questions. Include your order reference, source release, terminal build, settings, expected behaviour and steps to reproduce. Attach only relevant logs and remove account credentials.
Read the files, environment and terms
Check the source version and purchase terms
Payment is checked with the provider or on the selected blockchain
Fast, automatic delivery after payment confirmation. No waiting for manual dispatch.
Ask us about advanced custom development. Share your requirements through private support or email; we will discuss the scope and quote separately.
100% committed to following up on your delivery and support requests.
Explore free EA source code




Free editable gold breakout project with six independently selectable cores, session filters and flexible position sizing.

Free editable source with compiled EX5: four gold breakout engines with independent profiles, sizing, direction and exits.
Learn the difference: MQL4 / MQL5 source uses .mq4 / .mq5; EX4 / EX5 files are compiled programs. Buying an EX4 or EX5 file does not automatically include source code.
Two original, non-trading learning samples for MT4 and MT5. Inspect OnInit and OnDeinit logging without order execution.
Learning samples only. Review and compile them in MetaEditor before use; these samples do not place trades.
Ready for another approach? Choose an EA to run, or source code to explore and customise.


Source code · MQ5 + EX5
XAUUSD · 2 embedded models and flexible sizing


Free EA · MQ5 + EX5
Free editable source with compiled EX5: four gold breakout engines with independent profiles, sizing, direction and exits.
Loading…
Stay close to MQLume, wherever you like to learn.
See our EAs in action. Explore backtests, walkthroughs and practical guides.
Watch on YouTubeMeet other EA users, share ideas and keep up with what’s new.
Join the community Follow official updates