Chiroptera
- Experts
- Rob Josephus Maria Janssen
- Versione: 3.2
- Aggiornato: 13 aprile 2026
- Attivazioni: 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.
Price goes up with every 5 sells. After you purchase the EA send me a direct message!
Live Performance (reach out to get set-up with these brokers)
- VT Markets https://www.mql5.com/en/signals/2339735
- Star Trader https://www.mql5.com/en/signals/2340733
- Global Prime https://www.mql5.com/en/signals/2339732
- Titan FX https://www.mql5.com/en/signals/2339736
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 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
- AllPairs="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. (Provides max profit)
- BestPairs="CHFJPY;EURJPY;GBPAUD;GBPJPY;EURAUD"; // List of pairs that Chiroptera runs on best. (Provides max profit factor)
- UseBestPairs=false; // Flag that allows to switch easily between 'AllPairs' or 'BestPairs'
- UserComment="Chiroptera"; // trade comment that can be adjusted by the user
- RiskFactor=1.0; // Default lotSize = RiskFactor * balance / contractsize (so a RiskFactor of 1.0 and account balance of 1,000 equates to an average of 0.01 lot per pair)
- StaticLotsize=0; // Overrides Riskfactor and assumes a user defined default 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;// Prevents trading the Friday session. 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)
- 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 correctly.
- 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
- VolumeCheckSigma=4; // Prevents trading on a symbol if the symbol shows a sudden shock (e.g. due to Tweets on tarrifs)
- 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
- Attach Chiroptera to a chart e.g. 'EURUSD'. Timeframe is irrelevant.
- Chiroptera will discover any pre- or suffixes automatically. Make sure however that you are attaching Chiroptera to the correct symbol if your broker uses suffixes e.g. EURUSD+ (this is typical for Raw / zero spread accounts)
- 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 to converge. To 'kickstart' a live account that does not yet have any historical data, 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 server name as the server name used in backtest or alternatively, chose 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.
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.
- 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 a new newsfile to your 'Common' folder. Make sure to place 'DownloadNewsFile' to false again to ensure it does not repeat downloading. 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, 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 post a message in the 'Comments' if anything is unclear!


Genually impressed. Been running for two weeks and it become my top EA in portfolio. Wery consistent and do not trade gold - a killer EA for growth and deversification