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.
Describe your idea
Ask for a session filter, clearer logging or a different risk rule.
Review the change
Read the proposed code, check the logic and compile it in MetaEditor.
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.
Trading setup
Stated specifications
Build your next breakout strategy. Shape support/resistance, volatility and range entries in one editable MQL5 framework.
These are marketplace specifications, not a guarantee of suitable capital or performance.
- Symbol
- Configurable chart symbol
- Chart timeframe
- Any timeframe
Inside the source
Explore 50 lines of the project's MQL5 source. Scroll inside the editor to discover more.
double UBNormalizeVolume(const double requested,const double cap, const double minimum,const double maximum,const double step){ if(step<=0.0) return 0.0; double v=MathMin(MathMax(requested,minimum),cap); if(step==0.1) v=NormalizeDouble(MathFloor(v/step)*step,1); else if(step==0.01) v=NormalizeDouble(MathFloor(v/step)*step,2); else if(step==0.001) v=NormalizeDouble((v/step)*step,3); else if(step==0.0001) v=NormalizeDouble((v/step)*step,4); else v=NormalizeDouble(MathFloor(v/step)*step,2); return MathMax(minimum,MathMin(maximum,v));} double UBVolumeForMoneyRisk(const USConfig &cfg,const double amount,const double stop_points){ double tick_size=SymbolInfoDouble(cfg.symbol,SYMBOL_TRADE_TICK_SIZE); double tick_value=SymbolInfoDouble(cfg.symbol,SYMBOL_TRADE_TICK_VALUE); double contract_size=SymbolInfoDouble(cfg.symbol,SYMBOL_TRADE_CONTRACT_SIZE); string currency=AccountInfoString(ACCOUNT_CURRENCY); string profit_currency=SymbolInfoString(cfg.symbol,SYMBOL_CURRENCY_PROFIT); double balance_usd=UBAccountMoneyToUSD(AccountInfoDouble(ACCOUNT_BALANCE)); double amount_usd=UBAccountMoneyToUSD(amount); // Both calls occur in the captured function; the first has no retained numerical result. UBUSDToAccountMoney(balance_usd,currency); double amount_account=UBUSDToAccountMoney(amount_usd,currency); double risk=amount_usd; if(currency=="USD" || profit_currency!="USD") risk=amount_account; if(profit_currency=="USD" && tick_value!=contract_size*tick_size) tick_value=contract_size*tick_size; double distance=stop_points*cfg.distance_unit; if(tick_size==0.0 || tick_value==0.0 || distance==0.0) return 0.0; double one_lot_loss=tick_value*distance/tick_size; if(one_lot_loss==0.0) return 0.0; double step=SymbolInfoDouble(cfg.symbol,SYMBOL_VOLUME_STEP); if(step<=0.0) return 0.0; double v=NormalizeDouble(MathFloor((risk/one_lot_loss)/step)*step,2); return MathMax(SymbolInfoDouble(cfg.symbol,SYMBOL_VOLUME_MIN), MathMin(SymbolInfoDouble(cfg.symbol,SYMBOL_VOLUME_MAX),v));} double UBComputeVolume(const USConfig &cfg,const double stop_points,UBMoneyState &state){ double capital=AccountInfoDouble(ACCOUNT_BALANCE); if(cfg.UseEquity) capital=AccountInfoDouble(ACCOUNT_EQUITY); if(cfg.OnlyUp && g_UBHighestBalance>capital) capital=g_UBHighestBalance; else if(g_UBHighestBalance<capital) { g_UBHighestBalance=capital;Overview
An EA you can make your own.
One framework, room for your own ideas. Combine configurable entry models with trailing exits, position sizing, session filters and optional multi-profile loading. Start with the source and the 43-page parameter guide, then develop and test your own setup.
Built for MetaTrader 5. A complete source project, clear inputs and practical documentation give you control over your next build.
Compile. Backtest. Demo. Then decide.
After compiling the purchased source, check its behaviour in the Strategy Tester. Test it on a demo account before deciding whether to trade live. Passing tests does not guarantee live returns.
Project specifications
- Platform
- MetaTrader 5 / MQL5; not compatible with MT4
- Version
- 8.2
- Dependencies
- Uses only the Trade library included with MT5. No custom MQH or external DLL to install.
- Inputs
- 226 input entries · 18 groups
- Build & testing
- Compile in MT5 MetaEditor; consult RELEASE_NOTES.txt for the packaged build and testing record.
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 8.2 · Personal-use licence- MQ5Included
Ultimate Breakout System MT5 8.2[MQLume].mq5
Complete, editable single-file source. Read the logic, customise it and compile your own EA.
- EX5Included
Ultimate Breakout System MT5 8.2[MQLume].ex5
The compiled EA accompanying the source. Recompile after editing the MQ5.
- TXTIncluded
README.txt
A concise welcome, installation and compilation guide, with licence terms and support details.
- PDFIncluded
PARAMETERS.pdf
43-page guide covering 202 functional inputs, 24 display separators and the available mode choices. No SET presets are included.
- TXTIncluded
RELEASE_NOTES.txt
Build details, recorded test conditions, changes and known limits for the supplied package.
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.
Compile your starting point
Open the source in MetaEditor, compile it and explore the default settings. The included guides explain installation and parameters so you can begin customising.
Test across market cycles
For a broader view of your settings, we recommend backtesting with the past 10 years of real tick data where available, followed by testing on a demo account.
Before live use
Backtest your chosen settings, then test on a demo account before deciding whether to trade live. Past results do not guarantee future performance.
Version v8.2 · 226
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.
Information panel
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
ShowInfoPanel | true |
update infopanel during testingUpdateInfoTesting | false |
Adjustment for Infopanel sizeInfoPanelSizeAdjust | 1.0 |
Force Font Size (0=disabled)SetFontSize | 0 |
AutoLoader & group management
AutoLoader reads your SET profiles from Common Data Folder / Files / Sets by default. This package contains no SET collection; configure and test your own profiles. Group controls manage combined profit or loss.
| Source input key | Initial value |
|---|---|
UseAutoLoader | false |
Max strategies shown at once (scroll for the rest)InfoPanelMaxRows | 30 |
AutoLoader folder in Common Data Folder / FilesSets_Folder | Sets |
Override Autoload Lotsize SettingsoverrideAutoLoadLotsSettings | false |
Override Autoload Newsfilter settingsoverrideNewsFilter | false |
Override Autoload Trading Time settingsoverrideTimeSettings | false |
Override Autoload Prop Firm SettingsoverrideProp | false |
Reserved input (see PARAMETERS.pdf)ForcePendingMax | 0 |
Group Close: combined open PROFIT that closes all (0=off)GroupClose_ProfitTarget | 0.0 |
Group Close: trail the profit target by this give-back (0=off,GroupClose_TrailProfit | 0.0 |
Group Close: combined open LOSS that closes all (0=off, enter pGroupClose_LossLimit | 0.0 |
Group Close: unit of the three values aboveGroupClose_Unit | Currency ($ / EUR ...) / 0US_INPUT_GROUP_CURRENCY |
Group Close: also delete all pending ordersGroupClose_DeletePendings | false |
Group Close: stop trading after a group closeGroupClose_StopTrading | false |
Optimization filters
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
expected payoffEP | 0.0 |
recovery factorRF | 0.0 |
Minimum number of tradesTR | 0.0 |
Maximum number of tradesMTR | 0.0 |
Spread filter
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
######### spread filter #########breakera | Display text |
SpreadFilter | false |
MaxSpread | 3.0 |
DistForSpreadFilter | 2 |
Backtest speed
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Backtest SpeedBacktestSpeed | normal / 1US_INPUT_SPEED_NORMAL |
Strategy & execution
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
MagicnumberEA_MagicNumber | 1000 |
Comment for tradesEA_Comment | Ultimate Breakout System MQLume |
ForceSymbol | |
Disable ForceSymbol during single setup (when autoloader disablOnlyLoaderForceSymbol | true |
Set SL/TP after entrysetSL_TP_After_Entry | false |
use virtual expirationVirtual_expiration | true |
Use Virtual SLuseVirtualStops | OFF / 1US_INPUT_VIRTUAL_OFF |
hard SL distance when using virtual SLVirtualSL_Safety_Hardstop_dist | 0.0 |
Move hard SL to virtual SL after X seconds;SetVSL_to_hardSL_sec_delay | 0 |
Run_Strategy | Breakout Support/Resistance / 1US_INPUT_STRATEGY_SUPPORT_RESISTANCE |
AllowBuyTrades | true |
AllowSellTrades | true |
PrintLogs | false |
Variable distances
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Default ATR valueATRDefault | 0.0 |
ATR PeriodATR_Period | 30 |
ATR TimeframeATR_Timeframe | 1 Day / 16408US_INPUT_TF_D1 |
default price for calculationDefaultValue | 0.0 |
Volatility breakout
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Timeframe to monitorVolTimeframe | current / 0US_INPUT_TF_CURRENT |
number of Candles to MonitorVolCandles | 1 |
Minimum Candle Size (pips)minSize | 0.0 |
ATR PeriodAtrPeriod | 21 |
ATR TimeframeVolAtrTimeframe | current / 0US_INPUT_TF_CURRENT |
Deviation factor (candle size compared to ATR)DevFactor | 2.4 |
Max number of open tradesVolMaxTrades | 1 |
Support/resistance breakout
EntryModel selects breakout (1) or retest (2). ReverseTrades applies to the breakout model. Set the signal timeframe, high/low strength and pending-order limits for your strategy.
| Source input key | Initial value |
|---|---|
######### Breakout Support/Resistance Entry Model #########breakerb | Display text |
entry modelEntryModel | entry at breakout / 1US_INPUT_ENTRY_BREAKOUT |
Trigger point of Break/Retest strategyRetestTrigger | 50.0 |
Expiration (hours) for limit orderLimitOrderExpiration | 0 |
Reverse trades (Breakout model only)ReverseTrades | false |
######### Breakout Support/Resistance Entry Setup #########breakerc | Display text |
Timeframe to useST1_Timeframe | current / 0US_INPUT_TF_CURRENT |
Entry Timing (when to check for new signals)Entry_Timing | current / 0US_INPUT_TF_CURRENT |
number of inferior candles to the LEFT of High/LowST1_HL_strength_L | 2 |
number of inferior candles to the RIGHT of High/LowST1_HL_strength_R | 2 |
max candles in history to look atST1_countback | 250 |
minimum distance away from High/LowST1_MinDist_to_HL | 90.0 |
minimum distance away in percentageST1_MinDist_to_HL_percentage | 0.0 |
Extra pips above High for entryST1_UpDiff | 20.0 |
Extra pips below Low for entryST1_DownDiff | 40.0 |
Maximum number of pending ordersST1_MaxPendingOrders | 1 |
max number of open tradesMaxTrades | 1 |
Mininum distance between ordersMinDist_orders | 1.0 |
expiration time(in hours) for pending ordersST1_Expiration_hours | 205 |
Range breakout
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
######### Range Determination Parameters #########breakerd | Display text |
Timeframe to monitorRNG_Timeframe | current / 0US_INPUT_TF_CURRENT |
Min candles to qualify as a rangeRNG_MinBars | 12 |
Max candles a range may extendRNG_MaxBars | 80 |
ATR period (range height yardstick)RNG_ATR_Period | 14 |
ATR timeframeRNG_ATR_Timeframe | current / 0US_INPUT_TF_CURRENT |
Max range height (x ATR)RNG_ATR_Mult | 1.5 |
Max range height (pips, 0 = ATR cap only)RNG_MaxHeightPips | 0.0 |
How to measure the rangeRNG_MeasureMode | High/Low (wicks) / 1US_INPUT_RANGE_MEASURE_WICKS |
######### Range Invalidation Parameters #########breakere | Display text |
Breakout buffer (x ATR)RNG_BreakBuffer | 0.1 |
Break confirmationRNG_BreakConfirm | Confirm break on candle close / 1US_INPUT_RANGE_CONFIRM_CLOSE |
######### Range Breakout Entry Settings #########breakerf | Display text |
Timezone for the check time belowRNG_TimeZone | Broker server time (no DST handling) / 1US_INPUT_RANGE_TIME_BROKER |
Hour to check the range (0-23, in the zone above)RNG_CheckHour | 9 |
Minute to check the range (0-59)RNG_CheckMinute | 0 |
How to enter the breakoutRNG_EntryMode | Pending buy stop / sell stop at the range edges / 1US_INPUT_RANGE_ENTRY_PENDING |
Extra pips above range TOP for buy entryRNG_UpDiff | 20.0 |
Extra pips below range BOTTOM for sell entryRNG_DownDiff | 20.0 |
Time (minutes) for entry-window, 0=GTCRNG_Expiration_min | 240 |
Max open trades per directionRNG_MaxTrades | 1 |
Delete opposite pending once one fills (OCO)RNG_OneSideOnly | true |
######### Range Breakout Exit Settings #########breakerg | Display text |
Close trades at this hour (-1 = never)RNG_CloseHour | -1 |
Close trades at this minute (0-59)RNG_CloseMinute | 0 |
Initial SL placementRNG_SL_Mode | Use the standard initial stoploss distance / 1US_INPUT_RANGE_STOP_STANDARD |
Pips beyond the opposite side (opposite-side mode only)RNG_SL_Buffer | 10.0 |
Takeprofit as a multiple of the stoploss distance (0 = use stanRNG_TP_RMultiple | 0.0 |
######### Range Breakout Visual Settings #########Range_Other | Display text |
Detailed logging (leave off for normal use)RNG_Debug | false |
Draw range boxes on chartRNG_ShowBoxes | true |
Candles of history to draw (display only, do not optimize)RNG_HistoryBars | 1000 |
Colour: forming rangeRNG_ColActive | 2139610 |
Colour: broken upwardRNG_ColBull | 5737262 |
Colour: broken downwardRNG_ColBear | 6053069 |
Global exits
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Period to check/modify SL/TPExit_Timing | 1 Minute / 1US_INPUT_TF_M1 |
check every tickUseEveryTick | true |
initial stoploss distanceExit_stop | 1150.0 |
initial takeprofit distanceExit_limit | 1300.0 |
######### Trailing SL management #########breakerh | Display text |
Trail SL distanceExit_TrailSL_size | 750.0 |
Trail SL start distanceExit_TrailSL_Start | 250.0 |
Trail SL stop distanceExit_TrailSL_Stop | 100000.0 |
Trail SL step sizeExit_TrailSL_step | 0.4 |
######### Trailing TP management #########Trade_Exit_TrailTP_ | Display text |
Trail TP distanceExit_TrailTP_size | 350.0 |
Trail TP start distanceExit_TrailTP_Start | 2500.0 |
######### Break-even SL management #########breakeri | Display text |
Breakeven start distanceExit_BE_start | 0.0 |
Breakeven extra distanceExit_BE_extra_pips | 0.0 |
######### HIGH/LOW Trailing SL settings #########breakerj | Display text |
Use only until break-evenExit_HL_UseBE | false |
Exit_HL_trailingSL_timeframe | current / 0US_INPUT_TF_CURRENT |
number of candles to useExit_HL_countback | 0 |
number of inferior candles to the LEFT of High/LowExit_HL_trailingSL_candles_LEFT | 0 |
number of inferior candles to the RIGHT of High/LowExit_HL_trailingSL_candles_RIGHT | 0 |
minimum distance to current priceExit_HL_TrailingSL_MinDist | 0 |
minimum distance to last SLExit_HL_Minimum_Dist_For_Change | 0 |
extra pips distance from HIGH/LOWExit_HL_trailingSL_extra_distance | 0.0 |
######### recovery Trailing SL based on time #########breakerk | Display text |
Trail SL start after X minutesExit_TrailSL_after_X_Minutes | 0.0 |
Trail SL DistanceExit_TrailSL_after_X_Minutes_size | 0.0 |
######### MagicTrail SL settings #########breakerl | Display text |
MagicTrail modeExit_MagicTrail_Mode | OFF / 0US_INPUT_MAGIC_TRAIL_OFF |
Start of Magictrail (in pips)Exit_MagicTrail_start | 0.1 |
number of ticks before modificationsExit_MagicTrail_delay | 1 |
pip movement of magictrailExit_MagicTrail_size | 0.1 |
extra pips for breakeven stopExit_MagicTrail_BE_extra_pips | 1.0 |
minutes of time delayed magictrailExit_MagicTrail_Adjust_after_X_Minutes | 0 |
start distance of time delayed magictrailExit_MagicTrail_Adjust_after_X_Minutes_start | 0.0 |
Grid settings
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
EnableGrid | false |
Grid start distance in pipsGridStart | 50.0 |
Grid step distance in pipsGridStep | 20.0 |
Grid check timeframeGridTiming | 15 Minutes / 15US_INPUT_TF_M15 |
Total pips for TPGridTakeProfitPips | 100.0 |
Total profit for TP (use 0.X value for profit in % of balance)GridTakeProfitUSD | 50.0 |
Max loss for SL (use 0.X value for loss in % of balance)GridLossUSD | 0.0 |
Stop trading at grid lossStopTradingAfterGridLoss | false |
GridMultiplier | 1.0 |
Equity & daily limits
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Close all trades/stop trading at min equityCloseAtMinEquity | 0.0 |
Close all trades/stop trading at max equityCloseAtMaxEquity | 0.0 |
Max Daily DrawdownPropFirmMaxDailyDD | 0.0 |
Max Randomization_pips for entry and exitRandomizationValue | 0.0 |
Position sizing
Risk selects the sizing mode; StartLots controls fixed lots. Percentage and currency modes estimate size from the stop distance. Broker limits and execution costs still apply; sizing is not a guarantee of maximum loss.
| Source input key | Initial value |
|---|---|
Force Fixed Manual BalanceManualBalance | 0.0 |
Adjust lotsize if balance changes X percentLotsAdjustMinChangePercent | 5.0 |
Adjust lotsize to Variable ValuesAdjustLotsizeToVariableValues | true |
Risk | Manual Lotsize / 0US_INPUT_RISK_MANUAL_LOTS |
manual lotsizeStartLots | 0.01 |
Max Risk Per Trade (%)Manual_RiskPerTrade | 0.0 |
Max Risk per Trade in $/€/...MaxRiskInDollar_input | 100.0 |
LotsizeStepLotPerBalance_step | 500.0 |
MaxRiskPerStrategy_Value | 2.0 |
max historical drawdown(in $) at 0.01lotsHistoricalMaxDD | 0.0 |
maximum lotsize per tradeMaxLots | 99.0 |
Use Equity Instead of BalanceUseEquity | false |
OnlyUp | true |
Reset Highest Balance for OnlyUpResetHighestBalance | false |
CheckMargin | true |
Broker time
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Broker_GMT_OFFSET_Summer | 3 |
Broker_GMT_OFFSET_Winter | 2 |
AutoGMT | true |
News filters
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
UseMQL5Calendar | true |
number of days to search forward in MQL5 CalendarMQL5_CalendarDays | 70 |
######### NFP Filter#########breakerm | Display text |
EnableNFP_Filter | false |
NFP_CloseOpenTrades | true |
NFP_ClosePendingOrders | true |
NFP_MinutesBefore | 50 |
NFP_MinutesAfter | 30 |
######### Interest Rate Filter#########breakern | Display text |
EnableIR_Filter | false |
IR_CloseOpenTrades | true |
IR_ClosePendingOrders | true |
IR_MinutesBefore | 60 |
IR_MinutesAfter | 120 |
######### CPI Filter#########breakero | Display text |
EnableCPI_Filter | false |
CPI_CloseOpenTrades | true |
CPI_ClosePendingOrders | true |
CPI_MinutesBefore | 60 |
CPI_MinutesAfter | 120 |
Breakout confirmation
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Filter_A TimeframeconfirmationCandleTimeframeA | 1 Minute / 1US_INPUT_TF_M1 |
Enable Filter_AUseConfirmationCandleA | false |
Filter_B TimeframeconfirmationCandleTimeframeB | 5 Minutes / 5US_INPUT_TF_M5 |
Enable Filter_BUseConfirmationCandleB | false |
Filter_C TimeframeconfirmationCandleTimeframeC | 15 Minutes / 15US_INPUT_TF_M15 |
Enable Filter_CUseConfirmationCandleC | false |
Filter_D TimeframeconfirmationCandleTimeframeD | 30 Minutes / 30US_INPUT_TF_M30 |
Enable Filter_DUseConfirmationCandleD | false |
Filter_E TimeframeconfirmationCandleTimeframeE | 1 Hour / 16385US_INPUT_TF_H1 |
Enable Filter_EUseConfirmationCandleE | false |
Trading hours
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
UseTradingTimeZones | false |
KillPending | true |
KillOpen | false |
Time_Source | Broker / 2US_INPUT_TIME_BROKER |
######### Monday Trading Time#########breakerp | Display text |
Monday Start TimeMondayStart | 00:00 |
Monday End TimeMondayEnd | 23:59 |
######### Tuesday Trading Time#########breakerq | Display text |
Tuesday Start TimeTuesdayStart | 00:00 |
Tuesday End TimeTuesdayEnd | 23:59 |
######### Wednesday Trading Time#########breakerr | Display text |
Wednesday Start TimeWednesdayStart | 00:00 |
Wednesday End TimeWednesdayEnd | 23:59 |
######### Thursday Trading Time#########breakers | Display text |
Thursday Start TimeThursdayStart | 00:00 |
Thursday End TimeThursdayEnd | 23:59 |
######### Friday Trading Time#########breakert | Display text |
Friday Start TimeFridayStart | 00:00 |
Friday End TimeFridayEnd | 23:59 |
######### Saturday Trading Time#########breakeru | Display text |
Saturday Start TimeSaturdayStart | 00:00 |
Saturday End TimeSaturdayEnd | 23:59 |
######### Sunday Trading Time#########breakerv | Display text |
Sunday Start TimeSundayStart | 00:00 |
Sunday End TimeSundayEnd | 23:59 |
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 maintainedDelivery & 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
Future profits are not guaranteed. You should be comfortable using MQL5 and MT5; difficulties caused by a lack of the required knowledge are outside bug-fix support.
FAQ
Frequently asked questions
Designed for users with programming skills and trading experience who can read code, compile MQL5 and test strategies independently.
Help centreWhat 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
Review
Read the files, environment and terms
- 2
Confirm
Check the source version and purchase terms
- 3
Pay
Payment is checked with the provider or on the selected blockchain
- 4
Receive
Source files by email within 6 hours of confirmed payment
Start with a small, free example
Free downloads. Real source files.
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.