Chiroptera
- Uzmanlar
- Rob Josephus Maria Janssen
- Sürüm: 4.2
- Güncellendi: 12 Mayıs 2026
- Etkinleştirmeler: 10
Prop Firm Ready! Chiroptera is a multi-currency, single trade Expert Advisor that operates in the quiet hours of the night. It uses single-placed trades with tactically placed Take Profits and Stop Losses, that are continuously adjusted to maximize gains and minimize losses. It keeps track of past and upcoming news reports to ensure impacts are minimized and carefully measures real-time volatility to prevent impacts due to unpredictable geo-political disturbances caused by Tweets and other ad-hoc events, and exploits an advanced learning algorithm to ensure asset allocation is applied most optimally. Chiroptera only trades a few hours daily, during the quiet hours, and keeps client assets out of the market during the busiest (and unpredictable) times of day.
After you purchase the EA send me a direct message for recommendations on brokers!
Live Performance
- VT Markets Medium Risk https://www.mql5.com/en/signals/2363938
- VT Markets Extreme Risk (https://www.mql5.com/en/signals/2339735
- Star Trader Extreme Risk https://www.mql5.com/en/signals/2340733
- Global Prime Extreme Risk https://www.mql5.com/en/signals/2339732
- Titan FX Extreme Risk https://www.mql5.com/en/signals/2339736
- Ultima Markets Extreme Risk https://www.mql5.com/en/signals/2372497
-
Hantec Markets Standard Account Extreme Risk https://www.mql5.com/en/signals/2372495
Unique Features that set Chiroptera apart from other Expert Advisors:
- it places single trades and does not employ martingale, grid or any other methods that are mathematically guaranteed to fail
- it is only actively trading for 2-3 hours every day: outside of that assets are out of the market and sitting safe with the broker
- it places limit orders in order to prevent slippage and execution delays, which negates the need for a low-latency VPS
- it modulates the incoming broker price feed in order to ensure a most optimal limit order placement, independent of broker spread
- it monitors multiple price feed aspects such as volume and price spikes in real time, to ensure ad-hoc and non-announced events (e.g. Tweets about tariffs) are monitored
- it connects to a live news server that allows it to monitor holidays, and impacts of past and future news events using advanced Pearson correlation calculations for future news pattern impacts
- it uses an advanced, time exponentially weighed, adaptive learning algorithm to calculate which symbols perform best for a specific broker based on historical performance. Allow the first 60 days (default setting) to 'learn' the right conditions. This initial set can also be ‘learned’ in backtest and fed into the live account for continued learning (see below for instructions)
- it sends real-time user notifications to user's MT5 Mobile App so users can monitor EA performance in real-time
- It prints detailed performance metrics in Baretail for in-depth evaluations during backtest (download Baretail from Baremetalsoft and open 'PrintMonitor' file from 'Common' folder in backtest)
Input parameters and default Values
- Magic = 12345; // Magic number allowing Chiroptera to run smoothly next to other EAs on the same account
- OneChartSetup = true; // allows to attach Chiroptera to one chart and run all currencies. 'False' will run Chiroptera only on the current symbol
- Pairs="EURUSD;GBPUSD;AUDCAD;EURAUD;EURCAD;GBPAUD;GBPCAD;EURCHF;GBPCHF;USDJPY;EURJPY;USDCAD;EURGBP;USDCHF;CADCHF;CHFJPY;AUDJPY;AUDCHF;AUDUSD;GBPJPY"; // List of pairs that Chiroptera runs on effectively
- UserComment="Chiroptera"; // trade comment that can be adjusted by the user
- RiskFactor=1.0; // Average lotSize = RiskFactor * balance / contractsize (so a RiskFactor of 1.0 and account balance of 100,000 equates to an average of 1.0 lot per pair) Risk 1 is safe, Risk 3 is medium, Risk 6 is high.
- StaticLotsize=0; // Overrides Riskfactor and assumes a user defined average lotsize
- StopLoss=1300; // In points (0=no Stoploss)
- ForceLimitOrder=true; // Places a market order if the price level for the limit order is found past the current price level
- ImmediateStopLossPlacement=false; // Set this to true if your broker or prop firm REQUIRES a stoploss to be placed when limit is triggered. Normally Chiroptera places the StopLoss based on actual entry level (within 10-20ms)
- TemporaryRemoveStopLoss=true; // Temporarily removes stop loss during times of high spread (typically the hour after roll-over) to prevent unnecessary triggering of stop loss levels
- WeekendMaxAllowableGapPts=1500;//Prevents trading immediately following the weekend, if the weekend gap is found to big (0=no check)
- TradeFridaySession=true;// Option to trade over the weekend or not. Be mindful that when the broker has a holiday on Friday, trades from Thursday session can still be carried over into the weekend (this has so far never occurred, but is theoretically possible)
- FridaySessionDelayedStart=false;// Option to trade only the second part of the Friday session (after the weekend,on Sunday when the market opens)
- BlockPastNews=true; // Blocks on past news that had significant impact (currently set to differences in actual and estimated values of Interest Rate decisions)
- BlockFutureNews=true; // Blocks on symbol specific future news that historically has shown to create too much volatility. Uses an advanced Pearson correlation computation for decision making
- BlockHolidays=true; // Blocks trading during New York Stock Exchange holidays (when liquidity is thin are spreads are high)
- UseGoldForGMTOffset=true; // Uses Gold to automatically determine GMT offset. If errors occur select 'false' and report the issue to the developer
- DowloadNewsFile=false; // Allows users to download the full news history from 2022.01.01 up till today and use it in backtest. Normally not needed as the embedded news-resource file allows back-testing with news up till latest version publication date. This only needs to be run ONCE to download the news file. The file is downloaded to the 'Common' folder. ENSURE to place this back to 'false' after the download or the live account running Chiroptera will not download todays news and rewards correctly on the live account.
- AdaptiveMinimumLookBack=60; // The minimum amount of days to observe pair performance before it will start adjusting lotsizes for individual pairs (0=no adaptive)
- AdaptiveMaximumLookBack=365; // the maximum amount of days to observe pair performance (0=infinite lookback)
- AdaptiveTimeWeight=EXPONENTIAL; // The method used to evaluate pair performance (Exponential weighs recent trades more heavily compared to older trades). 'Off' means all trades over the period are weighed equally.
- H1BBandSigma=2; // Prevents placing trades with the trend on the far side of temporary momentum and are expected to retrace
- HH1CheckFridayOnly=false; // Only conducts the H1 check before the Friday session (when post-weekend pairs are expected to have larger retraces to their weekly median value)
- VolumeCheckSigma=4; // Prevents trading on a symbol if the symbol shows a sudden shock in price and volume (e.g. due to Tweets or other unannounced news)
- TrendFilterMaxGapPts=800; // Prevents placing trades with the trend on the far side of short-term trends and are expected to retrace
- MaxSwapToProfitRatio=0.2; // Prevents trading if swap is expected to be larger than the ratio indicated compared to the max obtainable profit (so if max profit is e.g. 100 points and swap is 21 points it will block trading in that direction until post roll-over)
- MaxSpreadPts=0;// Prevents symbols from trading when max spread is violated (0=no check)
- MinProfitPts=0;// Prevents symbols from trading when minimum allowable profit cannot be attained (0=no check)
- RewardsProgram=false; // Contact developer to be included in Chiroptera rewards program (0=no check for rewards program)
- ReadOrWriteWeights=Off; // Allows users to write or read adaptive weights to/from file. Adaptive files can be generated in Strategy Tester (see below for instructions and video)
- WeightsFileName=""; // Allows users to provide custom name to adaptive weights file. Default is broker server name (see below for instructions and video)
- SlipNotifyThreshPts=20; // Sends notification to user on MT5 Mobile App if Sendnotifications is enabled, if negative slippage on entry or exit is larger than threshold (-1 is no notifications)
- PrintSessionReports=false; // Prints in terminal the session performance reports after each session
- PrintAdaptiveData=false; // Prints in terminal the pair performance list after each session
- PrintNews=true; // Prints in terminal all pertinent news
- PrintNewsBlocking=true; // Prints in terminal if news is blocking (and why)
- PrintHolidaysBlocking=true; // Prints in terminal if holidays are blocking
- SendNotifications=true; // Allows users to receive real-time performance notifications in MT5 App
Usage on live account
- PLEASE CONTACT US TO DISCUSS BROKERS
- Recommend to run on ECN Raw/Zero Spread account.
- Attach Chiroptera to a chart e.g. 'EURUSD' or 'EURUSD+' or 'EURUSD-ECN', make sure to choose the correct symbol if your broker uses prefix or suffix (this is typical for Raw / ECN accounts). Timeframe is irrelevant.
- Chiroptera will discover any pre- or suffixes automatically. No need to add the prefix or suffix for pairs in the EA parameters
- If desiring to receive performance reports in MT5 Mobile app: Place MetaQuotes ID in MT5 Terminal 'Tools'-->'Notifications' section, check 'Enable Push Notifications' and set 'SendNotifications' in the EA to true
- Chiroptera uses an advanced, time exponentially weighted filter to learn which are the best pairs (this is broker specific), for which it reads historical trade data and normally takes 60 days (recommended default setting) to converge. To 'kickstart' a live account that does not yet have any historical data, you have two options. Please carefully read both options before proceeding.
- Run Chiroptera in backtest with 'ReadOrWriteWeights' to 'Write' (backtest at least one year for optimal convergence). This will write a 'weights' file to your 'Common/Files/Adaptive' folder. Then, on the live account, place 'ReadOrWriteWeights' to 'read', which will then read the weights file. Make sure the live account has the same servername as the servername used in backtest or alternatively, choose a filename to your liking and place it in 'WeightsFileName'. If the live account is run on a different computer (e.g. a VPS), make sure to copy the weightsfile to the computer where the live account runs. THIS OPTION DOES NOT WORK ON MQL5 VPS AS MQL5 VPS DOES NOT SYNCHRONIZE THE COMMON FOLDER
- Set 'ReadWriteWeights' to 'Read' without creating the file yourself: in this case, if no file is found in the 'Common/Files/Adaptive' folder with the correct name, it will assume pre-learned weights from an embedded weightsfile. This weightsfile is created from one year of backtest and updated each time the EA version is updated on MQL5. THIS OPTION DOES WORK ON MQL5 VPS AS USE OF THE COMMON FOLDER IS NOT REQUIRED.
- To enable the Newsfilter, add h t t p s : / / a p p . c h i r o p t e r a . i o (without spaces) to your list of ‘Allowable URLs’
Usage in Strategy Tester
- Run Chiroptera on one symbol only. Timeframe is irrelevant.
- Chiroptera EA has the News file embedded as a resource. Embedded News is up-to-date until the release date of the version you are using and updated each time a new version is released.
- To download any news for dates past the embedded news file end date, please attach Chiroptera to a live chart and set 'DownloadNewsFile' to true. This will download the entire newsfile to your 'Common' folder. Make sure to place 'DownloadNewsFile' to false again to ensure it does not repeat downloading: if you keep this to true also today's news and rewards WILL NOT be updated correctly. Be advised that from this point on, backtest will always use the downloaded file until you remove it from your 'Common' folder.
- For the use of 'Baretail' to see detailed performance metrics during backtest in a separate window, please download Baretail from BareMetalSoft and open the 'PrintMonitor' file that is created in your 'Common' folder at the start of your backtest.
- Optimal performance in backtest (or on a live account) will start when the adaptive lotsize algorithm has learned the optimal solution for lotsizes. This happens after 'AdaptiveMinimumLookBack' days (default is 60). See video below on how convergence works for lotsize determination. To 'kickstart' a live account that has not yet created any historical data, see instructions under 'Usage on Live Account' above.
See below video on how to attach and backtest Chiroptera in order to create the weightsfile.
Please send me a Direct Message if anything is unclear!


I've just started testing Chiroptera and my first impressions are very positive. What stands out the most is the careful approach to risk management — the way stop losses and take profits are handled gives a real sense of thoughtful design rather than a "set and forget" gamble. Trades feel controlled and well-structured. Looking forward to seeing how it performs over a longer period, but so far a very promising EA.