
Kyora [MQLume] 2.20: +292.31% | USDJPY · 12-month backtest
Return, drawdown, monthly results and selected settings for Kyora [MQLume] 2.20.

Return, drawdown, monthly results and selected settings for Kyora [MQLume] 2.20.
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 English MQ5, the compiled EX5, README and PARAMETERS.pdf. The Resources folder supplies panel artwork and the embedded historical calendar; keep it beside the MQ5 when compiling. No preset is included.
Built for MetaTrader 5. A complete source project, clear inputs and practical documentation give you control over your next build.
Trading setup
Explore USDJPY breakout strategies with pending entries, session controls and account 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.
bool ValidPositive(const double value) { return MathIsValidNumber(value) && value>0.0;}bool ValidNonnegative(const double value) { return MathIsValidNumber(value) && value>=0.0;}bool MarginAndSpreadCost(const ENUM_ORDER_TYPE side,const string symbol,const double volume,const double entry,double &cost){ cost=0.0; if((side!=ORDER_TYPE_BUY && side!=ORDER_TYPE_SELL) || symbol=="" || !ValidPositive(volume) || !ValidPositive(entry)) return false; MqlTick quote; if(!SymbolInfoTick(symbol,quote) || !ValidPositive(quote.bid) || !MathIsValidNumber(quote.ask) || quote.ask<quote.bid) return false; double spread=quote.ask-quote.bid; const double exit_price=entry+(side==ORDER_TYPE_BUY ? -spread : spread); double margin=0.0,profit=0.0; if(exit_price<=0.0 || !OrderCalcMargin(side,symbol,volume,entry,margin) || !ValidNonnegative(margin)) return false; if(!OrderCalcProfit(side,symbol,volume,entry,exit_price,profit) || !MathIsValidNumber(profit)) return false; cost=margin+MathMax(0.0,-profit); return ValidNonnegative(cost);}bool PendingMarginReserve(double &reserve){ reserve=0.0; for(int i=OrdersTotal()-1;i>=0;--i) { if(OrderGetTicket(i)==0) return false; const ENUM_ORDER_TYPE type=(ENUM_ORDER_TYPE)OrderGetInteger(ORDER_TYPE); if(type<ORDER_TYPE_BUY_LIMIT || type>ORDER_TYPE_SELL_STOP_LIMIT) continue; const double volume=OrderGetDouble(ORDER_VOLUME_CURRENT); if(!ValidNonnegative(volume)) return false; if(volume==0.0) continue; const string symbol=OrderGetString(ORDER_SYMBOL); const double entry=OrderGetDouble(type==ORDER_TYPE_BUY_STOP_LIMIT || type==ORDER_TYPE_SELL_STOP_LIMIT ? ORDER_PRICE_STOPLIMIT : ORDER_PRICE_OPEN); const ENUM_ORDER_TYPE side=(type==ORDER_TYPE_BUY_LIMIT || type==ORDER_TYPE_BUY_STOP || type==ORDER_TYPE_BUY_STOP_LIMIT ? ORDER_TYPE_BUY : ORDER_TYPE_SELL); double cost=0.0; if(!MarginAndSpreadCost(side,symbol,volume,entry,cost)) return false; reserve+=cost; if(!MathIsValidNumber(reserve)) return false; } return true;}bool FitsDirectionalVolumeLimit(const string symbol,const bool buy,const double volume,const double step){ // The limit counts every strategy's same-symbol exposure in this direction. const double limit=SymbolInfoDouble(symbol,SYMBOL_VOLUME_LIMIT); if(!ValidNonnegative(limit)) return false; if(limit==0.0) return true; double used=0.0; for(int i=PositionsTotal()-1;i>=0;--i)Your 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 2.20 · 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.
Parameter handbook with initial values, sizing formulas and usage notes.
A concise welcome, installation and compilation guide, with licence terms and support details.
Bundled compile-time resource; preserve its relative path.
Bundled compile-time resource; preserve its relative path.
Bundled compile-time resource; preserve its relative path.
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 v2.20 · 64
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 |
|---|---|
Magic numberStrategyTag | 632948 |
Trade comment (sending always uses @MQLume)OrderSignature | "@MQLume" |
Max spread (points; 0 = off)SpreadCeilingPts | 0 |
Max slippage (points)FillTolerancePts | 50 |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Setup selectionSignalScope | BalancedSIGNAL_BALANCED |
Trade directionMarketSide | Buy and sellTRADE_BOTH |
Enable nearest pending priorityEnableNearestPendingPriority | false |
Max BUY pending ordersMaxBuyPendingOrders | 2 |
Max SELL pending ordersMaxSellPendingOrders | 2 |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Lot size modeVolumePolicy | Fixed lotVOLUME_FIXED |
BUY Fixed lotBuyFixedLot | 0.01 |
BUY Auto lot profileBuyAutoLotProfile | Medium (800 per 0.01 lot)LOT_MEDIUM |
BUY Custom balance per 0.01 lotBuyBalancePer001 | 5000.0 |
BUY Max risk per order (% of balance)BuyRiskPercent | 1.0 |
BUY Total risk per side (% of balance)BuyTotalRiskPercent | 2.0 |
SELL Fixed lotSellFixedLot | 0.01 |
SELL Auto lot profileSellAutoLotProfile | Medium (800 per 0.01 lot)LOT_MEDIUM |
SELL Custom balance per 0.01 lotSellBalancePer001 | 5000.0 |
SELL Max risk per order (% of balance)SellRiskPercent | 1.0 |
SELL Total risk per side (% of balance)SellTotalRiskPercent | 2.0 |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Use selective rollover managementEnableRolloverManagement | false |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Enable progressive trailingEnableProgressiveTrailing | false |
Tightening interval (minutes)ProgressiveTrailingMinutes | 60 |
Distance reduction per interval (%)ProgressiveTrailingReductionPercent | 20.0 |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Enable individual trade profit targetEnableTradeProfitTarget | false |
Individual trade profit target (% of opening balance)TradeProfitTargetPercent | 0.025 |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Enable total floating profit targetEnableFloatingProfitTarget | false |
Floating profit target per 0.01 starting lot (account currency)FloatingProfitTargetPer001 | 30.0 |
After floating profit targetFloatingProfitAfterTarget | Continue tradingFLOATING_CONTINUE |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Enable loss and profit limitsEnableKyoraProtection | false |
Max daily net loss (account currency)KyoraDailyLossMoney | 0.0 |
Max cycle net loss (account currency)KyoraTotalLossMoney | 0.0 |
Cycle net profit target (account currency)KyoraProfitTargetMoney | 0.0 |
Open trades loss referenceKyoraFloatingLossReference | BalanceFLOATING_BALANCE |
Max net loss on open trades (%)KyoraFloatingLossPercent | 0.0 |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Enable protectionEnableAccountEmergencyStop | false |
Minimum account equity (account currency)AccountEmergencyEquity | 0.0 |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Enable pending price randomizationEnablePendingPriceRandomization | false |
Maximum random offset (points)PendingPriceRandomMaxPoints | 5 |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Use news filterEventGate | false |
Minimum news impactEventImpactFloor | NEWS_HIGH |
Minutes before newsEventLeadMinutes | 30 |
Minutes after newsEventLagMinutes | 30 |
Close trades during news pauseEventFlatten | false |
Delete pending orders during news pauseEventCancelOrders | true |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Use NFP filterPayrollGate | false |
Minutes before NFPPayrollLeadMinutes | 60 |
Minutes after NFPPayrollLagMinutes | 50 |
Close trades during NFP pausePayrollFlatten | true |
Delete pending orders during NFP pausePayrollCancelOrders | true |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Enable market close pending protectionEnableSessionPendingProtection | false |
Minutes before market closeSessionCloseLeadMinutes | 5 |
Minutes after market openSessionOpenDelayMinutes | 5 |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Allow Friday TradingAllowFridayTrading | true |
Remove Pending Before WeekendRemovePendingBeforeWeekend | false |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
External pause infoExternalPauseInfo | Display text |
Global variable names, comma-separated (PAUSE1,PAUSE2)ExternalPauseVariables | "" |
Delete pending orders on external pauseExternalPauseDeletePendings | true |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Backtest filter infoBacktestFilterInfo | Display text |
Use embedded calendar in backtestsBacktestUseEmbeddedCalendar | true |
Backtest broker UTC offset (winter minutes)BacktestUtcOffsetMinutes | 120 |
Backtest broker daylight saving ruleBacktestDstPolicy | CALENDAR_DST_EU |
Initial settings from the delivered source. Review and test changes before using them.
| Source input key | Initial value |
|---|---|
Show dashboardPanelEnabled | true |
Apply chart colorsChartIdentity | true |
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 · Flexible sizing and account protections


EA only · EX5
Explore AUDCAD grid entries with basket management, configurable sizing and virtual exits.

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