Make the strategy your own.

With the source in your hands, your ideas can go further than the settings panel.

No extra dependencies to install

Open your source in MetaEditor and start building. Projects use self-contained code or the standard libraries already included with MT5.

Unlimited personal use

Study, customise and trade on your own accounts. Your EA source gives you the freedom to keep refining your ideas.

Pay once. No activation or usage fees.

One purchase per source project. MQLume does not charge by the number of activations or uses.

Vibe coding. Your trading judgement.

Bring your ideas to an AI coding assistant. Use the editable MQL5 project as your starting point, and stay in control of every change.

  1. Describe your idea

    Ask for a session filter, clearer logging or a different risk rule.

  2. Review the change

    Read the proposed code, check the logic and compile it in MetaEditor.

  3. Test your version

    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

An EA you can make your own.

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.

No extra MQH or DLL downloads

Project specifications

Platform
MetaTrader 5 / MQL5; not compatible with MT4
Version
4.59
Dependencies
MT5 standard libraries; no separate DLL or custom MQH download. Keep these supplied folders beside the MQ5 when compiling: Images/, Models/ Online features require the allowed URLs and available services described in README.txt.
Inputs
150 input entries
Build & testing
Compile in MT5 MetaEditor. See README.txt for installation and PARAMETERS.pdf for parameter guidance.

Trading setup

Stated specifications

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.

Symbol
AUDCAD / AUDNZD / NZDCAD
Chart timeframe
M15
Account
Hedging

Inside the source

Explore 50 lines of the project's MQL5 source. Scroll inside the editor to discover more.

MQL5 / .mq5
Waka Waka EA MT5 4.59[MQLume].mq5v4.59
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 MQLumeTakeProfitStage

Your next build starts here.

Included files

Complete source, practical documentation and reference files to help you understand, customise and test your EA.

One project.
Complete source.

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 licence
  • MQ5

    Waka Waka EA MT5 4.59[MQLume].mq5

    Complete, editable single-file source. Read the logic, customise it and compile your own EA.

    Included
  • EX5

    Waka Waka EA MT5 4.59[MQLume].ex5

    The compiled EA accompanying the source. Recompile after editing the MQ5.

    Included
  • BMP

    Images/News.bmp

    Bundled compile-time resource; preserve its relative path.

    Included
  • BMP

    Images/Summary.bmp

    Bundled compile-time resource; preserve its relative path.

    Included
  • BMP

    Images/Symbols.bmp

    Bundled compile-time resource; preserve its relative path.

    Included
  • BIN

    Models/Confirmation.bin

    Bundled compile-time resource; preserve its relative path.

    Included
  • BIN

    Models/Primary.bin

    Bundled compile-time resource; preserve its relative path.

    Included
  • PDF

    PARAMETERS.pdf

    Parameter handbook with initial values, sizing formulas and usage notes.

    Included
  • SET

    Presets/VT_AUDCAD.set

    MT5 input preset. Review the settings before use.

    Included
  • SET

    Presets/VT_ThreePairs.set

    MT5 input preset. Review the settings before use.

    Included
  • TXT

    README.txt

    A concise welcome, installation and compilation guide, with licence terms and support details.

    Included

Testing

Build confidence through testing.

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

Parameter guide

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.

How to read EA parameters
Settings 1 · Money Management and Risk

Initial settings from the delivered source. Review and test changes before using them.

Settings 1 · Money Management and Risk
Source input keyInitial value
------> MM & Risk settings <------MM_SettingDisplay text
Check for Instances of the EACheckForOtherInstancestrue
Allow Opening a new Initial Trade?AllowOpeningNewGridtrue
Allow Manual Trading ButtonsAllowManualTradingfalse
Lot-sizing MethodLotSizingMethodMQLUME_LOTS_PRESET_LOW
Fixed LotLotSizingValueFixed0.01
Dynamic Lot (Balance/Equity based)LotSizingValueDynamic10000.0
Deposit Load %LotSizingDepositLoadPercent0.25
Fixed Initial Deposit? (Tester only)FixedInitialDepositfalse
Tester Withdrawal (Tester only)Tester_Withdrawal0.0
Withdrawal Amount (Tester only)WithdrawalAmount1000.0
Rounding MethodRoundingMethodRound half upMQLUME_ROUND_HALF_UP
Max Lot per OrderMaximumLot100.0
Auto Split?AutoSplittrue
Maximum Spread, in pipsMaximumSpread10.0
Maximum Slippage for a non-ECN acc, in pipsMaximumSlippage10.0
Portfolio ModePortfolioModefalse
Initial Delay for Portfolio Mode, msPortfolioDelay4000
Consider PAI Orders (Portfolio only)Consider_PAI_Orderstrue
Consider GP Orders (Portfolio only)Consider_GP_Ordersfalse
Consider NCP Orders (Portfolio only)Consider_NCP_Ordersfalse
Maximum Symbols at a timeMaximumSymbols2
Only One Symbol if Grid reaches this Level [0-disabled]OnlyOneSymbolGridReachesLevel0
Disable Trades on the Same Side of a CurrencyDisableTradesOnTheSameSidefalse
Allow Hedging?AllowHedgingtrue
Allow Trading on Holidays?AllowTradingOnHolidaysfalse
Allow to Buy/SellAllowToBuySellBuy and SellMQLUME_DIRECTION_BOTH
One Trade Per Day_OneTradePerDayfalse
Minimum Free Margin % [0-disabled]MinimumFreeMargin0.0
Max Open Lots (Filter)MaximumOpenLots100000.0
Max Open Lots Adjusted For...MaximumOpenLotsAdjustedForDisabledMQLUME_VOLUME_LIMIT_FIXED
Max Floating Drawdown %MaximumDrawdown100.0
Max Floating Drawdown % for each Symbol, separated by commaMaximumDrawdownForEachSymbol"100.0,100.0,100.0"
Max Floating Drawdown in Money [0-disabled]MaximumDrawdownMoney0.0
Max Daily Drawdown Limit % FTMO RulesMaxDailyDrawdownLimitPercentFTMO100.0
Max Daily Drawdown Limit in Money FTMO Rules [0-disabled]MaxDailyDrawdownLimitMoneyFTMO0.0
Max Daily Drawdown Reset Hour FTMO Rules (Broker time)MaxDailyDrawdownResetHourFTMO0
Max Daily Drawdown Type FTMOMaxDailyDrawdowTypeFTMOEquityMQLUME_REFERENCE_EQUITY
Max Drawdown ActionMaximumDrawdownActionClose trades & stop trading for 24hMQLUME_DRAWDOWN_CLOSE_WAIT_24_HOURS
Do Nothing if During RolloverDoNothingIfDuringRolloverfalse
Max Drawdown CalculationDrawdownCalculationMQLUME_DRAWDOWN_STRATEGY
Handle Max Drawdown Events on Every TickHandleEventsOnEveryTickfalse
Check Margin for all Grid LevelsCheckMarginForAllGridLevelstrue
Check Bars for ErrorsCheckBarsForErrorstrue
Settings 2 · Trading Hours

Initial settings from the delivered source. Review and test changes before using them.

Settings 2 · Trading Hours
Source input keyInitial value
------> Time settings <------Time_SettingDisplay text
Hour to Start TradingHourToStartTrading0
Minutes to Start TradingMinutesToStartTrading0
Hour to Stop TradingHourToStopTrading23
Minutes to Stop TradingMinutesToStopTrading59
Hour to Close & Stop Trading on Friday [0-disabled]FridayExitHour0
Trade on MondayTradeOnMondaytrue
Trade on TuesdayTradeOnTuesdaytrue
Trade on WednesdayTradeOnWednesdaytrue
Trade on ThursdayTradeOnThursdaytrue
Trade on FridayTradeOnFridaytrue
Rollover Start HourRolloverStartHour23
Rollover Start MinutesRolloverStartTime45
Rollover End HourRolloverEndHour0
Rollover End MinutesRolloverEndTime15
Send Orders During RolloverSendOrdersDuringRolloverTimetrue
Remove TakeProfit During RolloverRemoveTakeProfitfalse
Remove StopLoss During RolloverRemoveStopLossfalse
Settings 3 · Strategy and Symbols

Initial settings from the delivered source. Review and test changes before using them.

Settings 3 · Strategy and Symbols
Source input keyInitial value
------> Strategy settings <------Strategy_SettingDisplay 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 ModePercentagePipsModefalse
Working TF for BB and RSIWorking_TimeFramePERIOD_M15
ML-based Pattern Recognition & FilteringML_Based_PatternFiltertrue
ML-based Pattern Filter ThresholdML_Based_PatternFilterThreshold80
Bollinger Bands PeriodBollingerBandsPeriod35
RSI PeriodRSI_Period20
Maximum RSI ValueRSI_Value15
Daily EMA Period [0-disabled]DailyEMA_Period0
Reverse StrategyReverseStrategyfalse
Open Opposite TradeOpenOppositeTradefalse
Settings 4 · Take Profit

Initial settings from the delivered source. Review and test changes before using them.

Settings 4 · Take Profit
Source input keyInitial value
------> TakeProfit settings <------Strategy_Setting_TPDisplay text
TakeProfit for Initial Trade, in pipsInitialTP10.0
Weighted TakeProfit?WeightedTPtrue
TakeProfit for Grid, pips (can also be 0/negat. for emergency)GridTP0.0
TakeProfit #1 after this Level [0-disabled]BreakEvenAfterThisLevel0
TakeProfit #1 after X bars [0-disabled]BreakEvenAfterXBars0
TakeProfit #1 [can also be negat., 0-breakeven]BreakEvenValue0.0
TakeProfit #2 after this Level [0-disabled]BreakEvenAfterThisLevel20
TakeProfit #2 after X bars [0-disabled]BreakEvenAfterXBars20
TakeProfit #2 [can also be negat., 0-breakeven]BreakEvenValue20.0
TakeProfit #3 after this Level [0-disabled]BreakEvenAfterThisLevel30
TakeProfit #3 after X bars [0-disabled]BreakEvenAfterXBars30
TakeProfit #3 [can also be negat., 0-breakeven]BreakEvenValue30.0
Hide TakeProfit?HideTPfalse
Use OPO method to handle TPUse_OPO_Methodfalse
TF for OPO methodOPO_TimeFramePERIOD_M15
Smart TakeProfit?SmartTPfalse
Do not adjust TP unless new grid level openedDoNotAdjustTPUnlessNewGridfalse
Allow sending SL along with an order (for a non-ECN acc.)AllowSending_SL_Along_with_Orderfalse
Cover SwapsCoverSwapstrue
Settings 5 · Stop Loss

Initial settings from the delivered source. Review and test changes before using them.

Settings 5 · Stop Loss
Source input keyInitial value
------> StopLoss settings <------Strategy_Setting_SLDisplay text
StopLoss for Grid, in pips (1000pips if zero)GridSL0.0
Hide StopLoss?HideSLfalse
Trailing SL Size, in pips [0-disabled]Trailing_SL_Size_Pips0.0
Trailing SL Start, in pipsTrailing_SL_Start_Pips10.0
Randomize Order/TP LevelsRandomizeLevelsfalse
Max Random Delay before sending Orders, sec [0-disabled]RandomDelay0.0
Settings 6 · Grid

Initial settings from the delivered source. Review and test changes before using them.

Settings 6 · Grid
Source input keyInitial value
------> Grid settings <------Grid_SettingDisplay text
Trade DistanceTradeDistance35
Pause Between Grid Trades, in min [0-disabled]PauseBetweenGridTrades0
Smart Distance?SmartDistancetrue
2nd Trade MultiplierTradeMultiplier_2nd1.0
3rd-5th Trade MultiplierTradeMultiplier_3rd2.0
6th- Trade MultiplierTradeMultiplier_6th1.6
Maximum TradesMaximumTrades9
Custom Multipliers sep. by comma (e.g. 1,2,4,8,12,18,27,41)CustomMultipliers""
Calculate Levels from Initial TradeCalculateLevelsFromInitialTradetrue
Grid Level to Start (1-initial trade)GridLevelToStart1
Keep Original Profit Level & Lot SizeKeepOriginalProfitLotSizefalse
Force Basket Closure once the Initial Order is ClosedForceBasketClosureOnceInitialOrderClosedfalse
Send Push Notifications after this Level [0-disabled]SendPushNotificationsAfterThisLevel0
Settings 7 · News Filter

Initial settings from the delivered source. Review and test changes before using them.

Settings 7 · News Filter
Source input keyInitial value
------> News Filter settings <------NewsFilter_SettingDisplay text
News Filter EnabledNewsFilterEnabledtrue
News Filter ActionNewsFilterActionProhibit opening of the initial tradeMQLUME_NEWS_BLOCK_INITIAL
Disable Trading on Bank HolidaysDisableTradingOnHolidaysfalse
Disable Built-in News Filter SettingsDisableBuiltInSettingsfalse
Custom Events (separated by comma, disabled if empty)CustomEvents"FOMC"
Medium Impact NewsMediumImpactNewsfalse
Low Impact NewsLowImpactNewsfalse
SpeaksSpeaksfalse
Wait Minutes Before EventWaitMinutesBeforeEvent15
Wait Minutes After EventWaitMinutesAfterEvent15
Increase Take Profit, in pips [0-disabled]IncreaseTakeProfitPips0.0
Show News ListShowNewsListtrue
News List Refresh RateNewsListRefreshRateMQLUME_NEWS_REFRESH_THREE_HOURS
Settings 8 · Stock Market Crash Filter

Initial settings from the delivered source. Review and test changes before using them.

Settings 8 · Stock Market Crash Filter
Source input keyInitial value
------> Stock Market Crash Filter settings <------StockMarketFilter_SettingDisplay text
Stock Market Crash Filter EnabledStockMarketFilterEnabledfalse
Stock Market SymbolStockMarketSymbol"US500,SPX500"
Filter PeriodStockMarketFilterPeriod48
Max Historical Volatility (HV), in %MaxHistoricalVolatility40.0
Block Trading for the Entire DayBlockTradingForTheEntireDayfalse
Settings 9 · Additional Settings

Initial settings from the delivered source. Review and test changes before using them.

Settings 9 · Additional Settings
Source input keyInitial value
------> Additional settings <------Additional_SettingDisplay text
Order Comment (fixed prefix; grid suffix retained)TradeComment"@MQLume"
UID (0...9)UID0
Basic Magic NumberMagicBase84570
Show PanelShowPaneltrue
Show StatsShowStatstrue
Show the next Grid's Price & VolumeShowNextGridsPriceVolumetrue
Font Size (1...8)FontSize6
Debug ModeDebugfalse
Settings 10 · Backtest Settings

Initial settings from the delivered source. Review and test changes before using them.

Settings 10 · Backtest Settings
Source input keyInitial value
------> Backtest settings <------Backtest_SettingDisplay text
Disable Automatic GMT DetectionDisableAutoGMTfalse
GMT Test/ManualGMT_offset2
DST Test/ManualDSTUSMQLUME_DST_US

Support after delivery

Bug fixes are included.

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 maintained

Delivery & compilation

Missing files, incorrect delivery and original-code compilation failures in the stated environment.

Code & documentation defects

Provide the release, settings, logs and reproduction steps so we can assess and resolve the issue.

Support scope

Start with the included guide and contact us for help with delivery or reproducible software defects. Trading results are not guaranteed.

FAQ

Frequently asked questions

Help centre
What am I buying?

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.

Refunds after delivery

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.

Delivery and bug reports

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.

Delivery & support

  1. 1

    Review

    Read the files, environment and terms

  2. 2

    Confirm

    Check the source version and purchase terms

  3. 3

    Pay

    Payment is checked with the provider or on the selected blockchain

  4. 4

    Automatic delivery

    Fast, automatic delivery after payment confirmation. No waiting for manual dispatch.

MQLume Bespoke

Built around your ambition.

Explore bespoke services →

Have something more specific in mind?

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 downloads. Real source files.

FREE

Lizard [MQLume]

MQL5 / MT5Version v2.1

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

US$99.00FREE
FREE

Scraper Gold [MQLume]

MQL5 / MT5Version v3.7

Free editable source with compiled EX5: four gold breakout engines with independent profiles, sizing, direction and exits.

US$95.00FREE

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.

Journal Starter

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.

Reviews & questions

Loading…

MQLume

More to explore. A community to share it with.

Stay close to MQLume, wherever you like to learn.

YouTube

See our EAs in action. Explore backtests, walkthroughs and practical guides.

Watch on YouTube

Telegram

Meet other EA users, share ideas and keep up with what’s new.

Join the community Follow official updates

Checkout

Waka Waka EA [MQLume]

Version 4.59 · Personal-use licence

Order total
US$1399

Account downloads · email delivery

Screenshot · Waka Waka EA [MQLume]

Screenshot — Waka Waka EA [MQLume]
Enlarge image ↗

Cart

One personal-use licence per project. Each project can be added once.

Your cart is waiting for its first passenger.

Choose an EA or source edition to get started.

Continue shopping