|Change File Log (Evolution)|
|From JTAWiki, a project by J Talon LLC|
This page diplays the changes made to Evolution to make it the best EA that there is on the market.
First release April 1st 2011
- Fixed: A bug where the spread on the dashboard sometimes displayed in red because of the incorrect Pip value being used.
- Changed: The Portion Balance will now show the correct value if PortionPC is changed while a basket is open.
- Changed: The maximum value of AutoLot is now based on a multiplier of the starting lot size, based on the value set in AutoLotMaxMult.
- Fixed: A bug where the trade start and stop times did not recalculate when changed in the settings.
- Added: The Dashboard Bar Time now shows the percentage of the bar time remaining.
- Fixed: A bug where the Dashboard Timer would enter a loop for certain settings of dRatio.
- Added: If manual trades are added using the Knight-Fire script, Evolution will automatically manage them using the magic number used, even if the associated function is not enabled.
- Fixed: A zero divide error in the Dashboard created when the TP is at BE point.
- Changed: Pending trades will not be created if trading is not allowed because of high spread / low margin.
- Changed: If pending orders are set, but trades are not allowed to open because of high spread / low margin, and the price moves above/below the pending order, all pending orders will be cancelled.
- Fixed: A bug in the Dashboard which caused it to freeze if there were no EV charts to report on.
- Added: If UseCloseOldest is in use, the number of trades closed when CloseTradesLevel is reached is now user selectable with CloseTradesNum. If further levels are opened, UseCloseOldest will only close the oldest trade.
- Added: When using BBandsEntry and BBUseCandles is set to true it is possible to select an entry condition when the previous candle(s) (selectable with BBCandles) close outside the bands, and the last candle closes inside the bands. 'The bands' includes the extra distance set in BBDistance.
- Changed: A minor change in the Holiday routine logic to make back testing faster.
- Fixed: A bug where the BE and TP lines were not displayed correctly when a hedge trade was open.
- Changed: No trades will be allowed to open or close when Evolution is first run (e.g. after parameter changes).
- Changed: The trigger for closing basket trades is now solely based on the TP point.
- Changed: All parameters for TimeFrame have been changed to use digits from 0 to 9, so they can be used in the optimization process. Values are: 0:Chart; 1:M1; 2:M5; 3:M15; 4:M30; 5:H1; 6:H4; 7:D1; 8:W1; 9:MN1 (bear in mind that if you load an old set file, the time frame value may be overwritten, but you must still set it between 0 and 9). If timeframes are set incorrectly for any function, Evolution will stop trading with an error message.
- Added: When the next grid level entry delay has passed, the next entry point will be shown by a Red Dash-Dot-Dot line.
- Fixed: A bug in the SmartScalp and WaveScalp profit allocation if xProfitAlloc is set to 1.
- Fixed: A bug in the PCEntry Indicator which would not update the indicator when forward testing.
- Added: AllowTrades parameter if set to false will allow Evolution to run all functions, but will not allow trades to open or close - this will allow you to check the overlay before allowing trading. If AllowTrades is false, the Dashboard symbol will display in red.
- Added: If your account balance is held in a currency other than USD there is a conversion displayed on screen to inform you of the equivalent USD value being used to calculate the initial lot size.
- Fixed: A bug in the Statistics Equity calculation, which added the DD to the balance instead of deducting it.
- Fixed: A bug where the POSL could cause a zero divide error if the basket closed before the POSL routine could run.
- Changed: The FileSave function will not be called while running backtests, which should increase the speed while testing.
- Changed: Setting dShowTrades to true will display the open trades on screen, independently from the Debug Feature, and properly formatted.
- Fixed: A bug in the Holiday dates function which could cause the EA to get stuck showing the 'Waiting for next tick' message.
- Added: Basket Stop Loss - will close all basket trades at a loss when the price moves SLPips from BE.
- Added: Profit Trailing Stop Loss - if TSLPips is a positive number, a stop loss will trail the price once the basket is TSLPips in profit.
- Added: Profit Trailing Reducing Stop Loss - if TSLPips is a negative value, a stop loss will trail the price once the basket is TSLPips in profit, but the trailing stop will reduce by 1 pip for each 2 pips additional profit. The trailing stop will not reduce past the value set in TSLPipsMin.
- Fixed: A bug where closing a Grid Scalp trade with Contra Trades active could cause a zero divide error.
- Changed: Setting PortionDDLimit to 0 (default) will now disable APC.
- Fixed: A bug where the Hedge Start % would not update properly when changed in the parameters.
- Changed: All Global Variables will now be deleted when Evolution is removed from a chart.
- Added: The overlay display will now show the approximate Portion Balance at which lot size increases can be expected.
- Added: When EV is first run after a parameter change, the Trade Comment label on the overlay will display a debug of which function is currently being processed, so any hang ups when 'Waiting for next tick...' can be pin pointed.
- Changed: GridScalp will no longer delete any manually added pending orders.
- Changed: MM will now base the initial lot size on the value of Level. Previously if MaxTrades was smaller than Level the initial lot size would be based on MaxTrades, giving an initial lot much higher than normal. This will allow the user to increase MaxTrades after the basket has opened without risking opening very high basket lot sizes.
- Added: The DashBoard timer can now be disabled by changing the chart time frame to the period set in DisablePeriod.
- Fixed: A bug where entering 0-24 for every days trading would cause the Trade Hours function to get stuck in a loop.
- Changed: The MaxOpenLots variable will now actually restrict the number of lots allowed to be open at once, instead of just ensuring that the basket starting lot is small enough to open the number of trades set in Level.
- Changed: If other EAs/Indicators remove the labels from the Dashboard they will be automatically recreated, which avoids the problem of ECA and SD calls in each of the charts.
- Removed: The toggling of the timer on/off on the dashboard has been removed - the timer can now only be turned off by changing the chart TF to the period set in DisablePeriod.
- Fixed: A bug where the LotMultiplier would not be calculated correctly in some cases due to MT4 precision.
- Added: The user will get a warning message if Evolution is forward tested on a live or demo account without loading a set file.
- Added: The user will get a warning message if NanoAccount is set to true, but the account is not a Nano account.
- Changed: The AutoLot calculation will be properly displayed on the screen when SmartGrid and HAMA are not in use.
- Added: The Account Balance will now include any value added by the broker as Account Credit.
- Added: If any module in Evolution (eg. UseHedge) is not allowed to function because of another setting (eg. AllowHedgeTrades = false) a warning will be printed in the Experts or Journal window.
- Added: AutoCal now has a user selectable TimeFrame (ATRTF) and periods (ATRPeriods)
- Fixed: A bug where changing POSLPips when there are no trades open would cause a zero divide error.
- Added: When SmartGrid is in use the last 3 values of the RSI and MAoRSI will be displayed onscreen if dReEntry is set to true.
- Fixed: A bug in the allocation of Closed P/L for SHORT baskets.
- Fixed: A bug in the Maximize Profit routine which did not reset correctly if the profit dropped below 0.
- Added: User Comment, which will be displayed below the Trade Comment on the display. Use it for anything you like - it will not be sent to the broker, or used for any other purposes.
Evolution v1.3 released August 04, 2011
- Changed: The calculation of NFP Friday now reflects the correct announcement dates.
- Changed: The Currency Conversion routine will display error messages if not calculating correctly.
Released March 13th, 2012
- Fixed: A bug where Contra Trades and GridScalp could allow a basket to remain open indefinitely when used together, and also an occasional zero divide error.
- Added: Normalization of the Bid and Ask prices to prevent problems when back testing with tick data.
- Changed: Zeroisation of global parameters where necessary.
- Changed: Increased the Trades Display array to enable all open trades to be shown (limited to MaxTrades + 10).
Released April 19th, 2012.
- Added: Code to allow EA to run in backtesting mode only.
Released April 24th, 2012 ('t' versions only)
- Added: Code to link in to the JTA Dashboard
- Added: ConfirmButtons, if set to
true, will promp you to confirm your action whenever you use one of the on-screen buttons. If set to
falsethen the button will be actioned with no confirmation.
- Added: dButtonFontSize will allow you to change the font size of the text of the on-screen buttons
- Removed: The UseStopLoss setting has been removed to reduce confusion as it related to both the Stop Loss and Trailing Stop functions. Both functions can now be individually turned off by setting SLPips and TSLPips to 0.
|Any set files loaded from a previous version will have values in the default settings for both of these parameters. If you do not intend to use a Stop Loss and/or a Trailing Stop then you must set SLPips and/or TSLPips to 0.|
No official release.
- Added: An option to allow any Contra Trade to close automatically if the corresponding grid level is closed by GridScalp. Will be active if cCloseWithGS is set to
- Added: An option to select where the Trailing Stop will start if TSLPips is used. Select one of the following options for TSLStartAt:
- 0 (BE) to start trailing when the PA reaches Break Even (BE). This setting may cause the basket to close at a loss because the trailing stop will start TSLPips below the BE point.
- 1 (BE+) to start trailing when the trailing stop is at BreakEven. This method will start trailing when the PA is TSLPips above the BE point, and will normally ensure that the basket closes at a profit.
- 2 (TP) to start trailing when the PA reaches the Take Profit (TP) point. This method will normally produce a profit, as long as TSLPips is smaller than the expected TP.
- 3 (TP+) to start trailing when the trailing stop is at the TP point. This method will start trailing when the PA is TSLPips above the TP point.
- Note that any mentions of 'Above' and 'Below' relate to Buy trades, and the reverse should be read for Sell trades.
- Changed: All Trailing Stop settings will allow the PA to go beyond the set TP point without automatically closing the basket.
- Changed: If you have MaximizeProfit set to
trueand the value of TSLPips is not 0, then the MaximizeProfit Stop Loss will be ignored and a trailing stop will be used instead, which will start at TSLPips below the MaximizeProfit trigger point. This trailing stop will act in exactly the same manner as the normal trailing stop.
No official release.
- Added: ECA, Buy, Sell, SD and Reset buttons.
- Removed: ECA, Buy and Sell labels.
- Added: Timestamp for maximum DD if Debug is set to true.
- Changed: The default setting for StatsInitialise is now
Falseto allow continuous stats collection when forward testing. It will be automatically changed to
- Added: AutoLotStart will allow you to set at which basket trade you would like the AutoLot function to start.
- Added: AutoGMTOffset, if set to
true, will automatically calculate the GMT offset for your broker, and adjust the trading times as required. Note that all trading times must be entered as GMT times. If set to
false, then you can set the BrokerTimeOffset manually, and the trading times can be entered for any time zone you like, with the BrokerTimeOffset being set to the time difference between the broker's time zone and your trading times time zone.
- Added: Countdown timers for both BasketDelay and EntryDelay.
- Changed: Positioning of the Scalp Gravy and Closed P/L labels on the chart overlay.
- Changed: Debug info on the chart overlay improved.
No official release.
- Fixed: Zero Divide error which may occur if trades are opened or closed manually.
- Added: AutoLotIgnoreWarning, if set to
true, will bypass the AutoLot warning message when the EA is started.
- Changed: If the trade stop time is entered as 24 it will now show as 00:00 on the following day rather than 23:59.
- Fixed: A bug where trade sessions for the following day could be missed if they started less than 24 hours after the current broker time.
- Added: If DisplayBrokerTimes is set to
truethen all display and debug start and stop times will be shown at the broker's time zone. If left at the default of
falsethe times will be displayed as the users input times, as they were previously.
No official release.
- Fixed: A bug in the Manual BUY and SELL buttons which would not place a trade against the basket if UseHedge was set to false.
- Added: If MaximizeProfit is off, but TSLPips is greater than 0 the overlay will now display that the Trailing Stop is on, with the number of pips. If both functions are off then that will be reflected in the overlay display.
- Fixed: A zero divide error caused when a manual trade was placed against the direction of the basket and UseHedge was set to false.
- Fixed: A bug where the Start and Stop trading times may not display correctly if the Broker's clock is incorrect.
- Added: The Debug information on the overlay will also show the actual EA Build number, and not the value in the UserComment which may be overwritten when loading an older set file.
Released June 11th, 2012.
- Fixed: A bug where the TP calculation would loop when BreakEvenTrade was reached.
Released June 11th, 2012
- Fixed: A bug where the profit/loss on closed hedge trades would be lost when restarting the EA if UseHedge was set to
- Changed: If a Trailing Stop is active and the value of TSLPips is set to 0 then the TS will be removed.
- Fixed: A bug in the SmartScalp function which would not reset the Trailing Stop value after closing a trade.
- Fixed: A bug in the WaveScalp function which would not reset any variables after closing a trade.
- Fixed: A bug where EV did not stop trading during the Holiday period.
- Fixed: A bug where turning off the SD button during a holiday period would cause the wrong overlay to display.
- Fixed: A bug where the EA would not start trading the following day when the DailyTarget had been reached.
- Fixed: A bug where the hedge trades would not display on the overlay if the hedge was started manually and UseHedge was
- Fixed: A bug where the reason for closing a trade when the MaximizeProfit function hit the stop loss was given as 'No Reason Given'.
- Fixed: A bug where SmartScalp would close a trade when sHAMA reversed no matter whether sHAMACloseOnReverse was set to
- Fixed: A bug where the closing of a basket of trades would not be stopped if the spread or slippage maximums were exceeded.
- Added: The Debug overlay will now show the Functions file build number.
- Changed: The check for whether the broker allows trading has been moved from the init() routine to the start() routine.
- Added: F, M and P buttons which will open the Forum, Manual or Parameter pages in your default browser.
Released July 19th, 2012.
- Fixed: A bug where the Stop Loss and Trailing Stop functions could close trades even if AllowTrades was set to false.
- Fixed: A bug where an incorrect start trading time was calculated if NFP trading hours was left blank.
- Fixed: A bug where the Closed Profit reported the cumulative figure instead of the profit for the current basket.
- Changed: The trade close routine to reduce the number of rejected executions because of slippage.
- Added: Code to prevent URL Links to display on SkyDesks and IamFX versions.
Released August 17th, 2012
- Changed: Enhanced the number of reasons for the non-trading message.
- Fixed: A bug where the SmartScalp and WaveScalp functions could open trades on the first tick.
- Added: Timeframe settings for the HAMA basket entry filter.
- Changed: Refined NFP Friday calculation to take account of New Year's Day delay and Independence Day Holiday early release.
- Fixed: A bug where running an optimisation on an account which has the JTA_Dashboard running would cause the DashBoard to malfunction.
- Fixed: A bug where a basket of trades could close incorrectly during the first tick when the Trailing Stop is in use.
- Fixed: A bug where the setting of UseAnyEntry could affect the opening of trades when ForceMarketCond is set to 2.
- Fixed: A bug where the Dashboard colours for the total Buy and Sell trades did not display in the correct colours once BreakEven/Max trades has been reached.
- Changed: The Trailing Stop as used by the MaximizeProfit function has been changed so that it will work in the same manner as the normal trailing stop, except that the TSLStartAt options 2 and 3 are based on the ProfitSet point rather than the TP point. The TS will now start at BE/BE+ if TSLStartAt is set to 0 or 1. If you only want the TS to start at the ProfitSet point, as it did previously, then you should set TSLStartAt to 2, which will start the TS at ProfitSet +/- TSLPips. If you set TSLStartAt to 3 then the trailing stop will start when the PA is TSLPips above / below the ProfitSet point.
- Changed: If SaveStats is set to
true, the stats file name will now be UserComment.csv and not based on the EA name etc., which will allow you to choose your own stats file name.
- Changed: Demo Test versions no longer check that the EA is being run on a demo account, as this produces false information when being run offline.
- Fixed: A bug where the EA would ShutDown if there were no basket trades, but a SmartScalp or WaveScalp trade was open.
- Added: EA name and version number to Overlay.
Released December 9th, 2012
- Fixed: A bug where adding manual pending trades could trigger GridScalp to close them because it thought that the profit target had been reached.
- Added: Trade date to list of open trades.
- Added: Auto-Update function.
- Added: Automatic calculation for the Easter Holiday trade break.
- Added: Allow Trades button.
- Added: 'B', 'O', 'T', 'E', and 'D' buttons for control of overlay display.
- Fixed: A bug where the Grid Scalp Level when using gScalpLastOnly was not reset when the basket closes.
Released April 8th, 2013.
- Fixed: A bug where the AutoUpdate function would not run in the Tester (t) version unless the EA was run at the exact update time.
- Fixed: A bug where the EA would hang when using SmartScalp or WaveScalp on their own with dShowTrades set to
true. As a workaround set dShowTrades to
- Changed: The CloseAll function will not try to close the basket if the execution of the first trade to be closed is rejected for any reason.
- Changed: Improved functions for opening, modifying and closing trades.
Released June 18th, 2013.
- Fixed: A bug in the AutoUpdate function.
- Added: A check to ensure that the Bid and Ask prices can not be erroneously set to 0 causing trades to open/close incorrectly.
- Changed: The installer file will no longer shut down Guardian if the license already exists (after the first installation).
Released July 3rd, 2013.
- Changed: Reworked all code to comply with MT4 build 600+ revised MQL language.
Released February 18th, 2014.
- Changed: Reworked more code to comply with MT4 build 600+ revised MQL language.
- Added: CID Swapper to enable the user to change their own CIDs.
- Fixed: A bug in the MM function which resulted in an incorrect lot size if UseMM was changed to
falsewhile a basket of trades was open.
Not yet released.
- Added: If UseGridLot is set to
truethen it will allow you to 'skip' certain levels in the basket but still place the lot size of the trade according to the grid position. It will only come into effect when the normal grid level is delayed by either SmartGrid or HAMA, and will be overridden by AutoLot if triggered.
- Changed: The AutoCal function has been changed so that you can define the ATR multiplier for each block of grid levels instead of having values fixed by the EA. The new Grid and TakeProfit multiplier values are set in the GridSetArray and TP_SetArray in the same manner as the usual grid settings - to reproduce the same default settings you need to set:
GridSetArray = 1,2,4,8,12 (Note that the original AutoCal had a maximum of 5 grid level blocks, but you can now set as many or as few as you like).
TP_SetArray = 2,4,8,12,18
- Added: The Debug overlay display will show the next AutoUpdate time.
Internal beta release 7th November, 2013.
- Changed: Hard coded the HAMA indicator and improved the SmartGrid/HAMA code to increase back testing speed.
Internal beta release 12th November 2013.
- Added: BackTestSpread parameter to allow optimization of the spread while backtesting.
- Added: A HAMA indicator to complement the SmartGrid indicator when waiting for new grid trades to open.
Internal beta release 28th November, 2013.
- Fixed: A bug in the HAMA indicator when using a HAMATF of 0 (i.e. the same period as the chart).
- Changed: Streamlined the code for faster back testing.
- Fixed: A bug in the StopTrade percent function.
Internal beta release 2nd December, 2013.
- Fixed: A bug in the GridLot function where the lot sizes were not always increased at the next level.
- Changed: The logic when using AutoCal with GridLot to ensure that the correct grid sizes are used.
- Fixed: A bug where the opening of a Contra Trade was based on the number of open trades in the basket and did not take CloseOldest trades into account.
- Added: ForceCloseOldest will force a close of the oldest trade even if it can contribute to the basket's profit.
- Fixed: A bug in the HAMA function if the HAMA timeframe was smaller than the chart time frame.
- Changed: The formula for calculating the HAMA bar placement on the overlay because MT4 would occasionally not display them.
- Changed: Reworked all code to comply with MT4 build 600+ revised MQL language.
Not yet released.
- Fixed: A bug where the Gravy Profit was not taken into account when the basket closes at a loss, resulting in the EA shutting down because of the Stop Trade Percent.
- Added: When gravy profit has been earned the Experts log will now show how it has been used when the basket closes: either banked or offset against the basket losses.
- Changed: The installer file will now require you to close the MT4 application before installation of the files to ensure that any upgrades to dll files can be installed.
- Changed: All buttons now use the official FX1 copy of mt4gui.dll instead of the previous beta release. The two dlls are not compatible because of changes to the function names, so if you are running different EAs on one account then you will need to upgrade them all.
- Fixed: A bug where the Order Open function showed the previously selected order's ticket number in the log file instead of the new ticket number.
- Changed: The MaxSpread parameter has been split into MaxSpreadOpen and MaxSpreadClose.
- Added: MinMarginLevel will not allow new trades to open if the resulting margin is below the set precentage.
- Changed: The Slip parameter has been split into SlipOpen and SlipClose.
- Added: The ability to base MM on the Portion Equity instead of the Portion Balance if BaseMMOnEquity is set to
- Added: LotLevels and LotSizes allows you to define different lot size progressions for every level of the grid and replaces the Multiplier setting.
- Added: MTFES - the Multi-Time-Frame-Entry-System allows you to set as many entry conditions for each of the entry methods as you like, using whatever time frames you like. Enter the different time frames and corresponding settings as values separated by a comma.
- Added: MACDEntry sets an entry method based on the MACD indicator.
- Added: PendingGridSize allows you to set a grid size for the pending orders completely independently of the usual grid size setting, if the value entered is greater than 0 and FirstTrade is set to
- Added: PendingTrailPA if set to
truewill allow the first pending trades of a basket to move with the PA, meaning that a smaller retrace is required to trigger the trade.
- Added: PendingToMarket if set to
truewill change all pending orders into minstant market orders if the order open price is too close to the actual price, ie. it is within the broker's Stop Level.
- Added: FlexGrid can now have the ATR timeframe set independently with FlexATRTF.
- Added: The Trend based on MA settings are now completely separate from the MAEntry parameters.
- Added: The basket reducing trailing stop feature has a parameter called TSLMaxMinDist to determine over what distance the trailing stop should be reduced.
- Added: The hedge function can now have a fixed SL instead of it trailing the price if hFixedSL is set to
- Added: GridScalp now has a trailing stop feature.
- Added: A news filter which can be used to restrict trading if UseNewsFilter is set to
true, and/or to display news details on the chart as Lines, Text or Details.
- Changed: Because it is not possible to Optimize string paramters in MT4 and all optimizable parameters for the Grid, Lot and MTFES functions now total over 200 they have been moved to a new file so the user has the option of showing them in the parameter list or not - just follow the instructions in the Optimize EV v1.5.mqh file which can be found in the experts/include folder of the MT4 application.
- Added: All error messages which stop the EA from running now have a button which will take you to the error's description and solution on the Error Messages page of the Wiki.
- Added: The Stats function will save both the Account Balance and Portion Balance.
- Added: New basket trade restriction based on Max Open Charts and Max DD.
- Added: All trailing stops can now be set to start at a set percentage of the TP - BE distance by setting the TSLStartAt parameter to a value between 4 and 100.
- Changed: The Lot per $ balance calculation can now be forced to a specific value by entering the amount as a negative value in the Aggression parameter - so a value of
-5,000will result in a lot size of 0.01 lots per $5,000.
- Added: AllowBasketTrades allows you to decide whether further basket trades are allowed to open outside of normal trading times.
- Added: STLeavingZone if set to
truewill only allow the Stoch entry method to permit trades when the main Stoch line is leaving the OverBought/OverSold zone.
Internal Beta release August 2nd, 2013.
- Changed: The MaxSpreadOpen and MaxSpreadClose have been replaced with MaxSpreadIncOpen and MaxSpreadIncClose, and it will restrict trading if the Spread is greater than the Spread Average plus the value entered in the parameter, unless the parameter is set to 0 when the feature will be turned off. The Spread Average is recalculated every tick, but can be restricted to the most recent number of ticks entered in AvgSpreadTicks.
- Changed: The Maximum Spread restriction will only affect trades using the Ask price (Open a Buy trade or close a Sell trade) because trade executions using the Bid price are not affected by the spread.
- Removed: OrdersAtOneX as it is now redundant.
Internal Beta release August 18th, 2013.
- Added: Multi-timeframe indicators for all entry methods.
- Added: MarketClosed check to prevent multiple open/modify/close commands when starting while the market is not open.
- Added: An option to set the TP point to BE if the trend changes using the BEIfTrendChange parameter, unless the original trade was placed in a ranging market.
- Added: TradeLong and TradeShort parameters to allow the EA to trade in one direction only.
- Added: PortionChange parameter to allow the user to decide whether the portion balance should be allowed to increase, decrease or remain constant if the account balance changes while a basket is open.
- Added: Average Up function to allow further trades to open when the basket is in profit, with lot sizes based on AULotPercent and a protected basket profit of AUProfitProtectPC.
- Fixed: A bug in the detailed news display.
Not yet released.
|Disclaimer||Copyright © 1995-2014 J Talon LLC, All rights reserved|