Parameters (Excess)

From JTAWiki
Jump to: navigation, search

JTA_Sales.png   Parameters (Excess) 
From JTAWiki, a project by J Talon LLC



Excess Main Properties

Property Default Value Description
baseMagic 1 The base magic number is used to identify all XS grid trades. Grid1 has the magic number baseMagic and its sub-grids have offsets from that (baseMagic+1, baseMagic+2, etc). If the base magic is less than 100, then a base magic number is calculated based on the instrument being traded and trading timeframe.
Dashboard Settings
showDashboard True If true, XS displays information about the grids, number of trades, P/L etc on the chart
dashboardRefreshSecs 5 secs The rate at which dashboard details are updated on the chart
Grid Builder Settings
subGridLevels 0 If 0, then there are no sub grids, only the top level grid is created. If 1, then there are 3 grids (top level + 2 slave grids). If 2, then there are 7 grids (as per 2 plus 2 slaves for each level 1 sub grid
builderRunFreqSecs 25 Each grid has an associated grid builder process. This setting determines how frequently these processes run. If your grid spacing is large or if you have a slower PC, then use a longer duration. If the value is zero, then the process runs every time there is a price tick. Please note that this property also determines the scheduling of Profit Taker processes. Depending on the settings of the particular profit taker being used, it is usually a good idea to start with a value of 0 for this setting when developing set files.
fixedLots 0.01 The fixed lot component when calculating the lot size
lotStepInterval1 0 A dynamic lot size component. It specifies a balance increment size equating to the addition of a single lot step to the overall lot size. If lotStepInterval1 is 0 it is ignored. If lotStepInterval1 is 5000 and the balance on the account is 10,000 and the lot step size for the account is 0.1, then (10000/5000)*0.1 = 0.2 lots is added to whatever the fixedLots size is to calculate the final lot size. lotStepInterval2 and lotStepInterval3 are treated the same the same with the total lot size being the sum of the fixedLots and all three of the logStepInterval components. This enables the lot size to be increased in a very controlled fashion and avoids using a overly large lot size with too much risk.
lotStepInterval2 0 As per lotStepInterval1.
lotStepInterval3 0 As per lotStepInterval1
Grid Starter Settings
gridStartTf PERIOD_M1 If you are using a signal to determine when to start a new grid, then this is the timeframe used for evaluating the signal
gridStarterFreqSecs 5 If you are not using a signal to start a new grid, then this is the frequency at which the grid starter process runs to check if there is no grid and to start a new one. If the value is zero, then the process runs on every price tick.
starterSignalType FRACTAL_SIGNAL If you are using a signal to determine when to start a new grid, then this identifies the type of signal. If no signal is defined, then a new grid is started immediately
starterFilterType PSAR_FILTER Signals can optionally be filtered. For example, if you are using a MACD signal and an ADX filter, then a BUY signal will only be used if the filter indicates that the market is trending upwards
starterFilterTfFactor 1 Filters can be applied at a different timeframe to the signal. This factor is applied to the signal timeframe to determine the filter timeframe; the nearest standard timeframe period being taken. So, for example if the gridStartTf is M15 and this factor is 4, then a timeframe of H1 is used for the filter. Likewise, if the gridStartTf is M5 and the factor is 4, then M30 is used for the filter timeframe (this being the next standard timeframe)
restrictTradeTime False If true, then grid starter processes only run within the specified time period (in GMT). This only applies to starting new grids. Existing grids are managed to completion irrespective of the time
traderStartHour 7 If we are restricting trade time, then the grid starter process only runs if the time (in GMT 2) is greater or equal to this time. Format is GMT 24 hour.
traderEndHour 17 If we are restricting trade time, then the grid starter processes only run if the time is less than or equal to this time.
restrictDayOfWeek False If true, then the grid starter processes only run on the specified days.
dayOfWeekMask -MTWTF- If you are restricting the day of week, then only days not marked with a '-' are executed. The day of week starts from Sunday. Hence, if you only wanted the starter process to run on Wednesday and Thursday, then you would specify the mask as ---WT--
Grid Management
maxGridSize 1000 The maximum number of trades across all the grids. The actual maximum number of trades you are allowed is determined by your broker. If you reach the point that you have reached the maximum number of trades and they have all triggered, then the grid(s) are closed.
marginLevelLimitPC 110 The margin level is the ratio of equity to margin expressed as a percentage. The margin level is typically 300+ when a grid started and drops as further trades are triggered. When the equity equals the margin then the margin level is 100%. At this level there is only insufficient margin maintain existing positions and not enough to open new positions. The marginLevelLimitPC is a level below which XS attempts to exit the grid at breakeven. Once the margin level drops below 100, then pending orders when triggered are cancelled by the broker rather than being opened. Once this happens, XS closes the grid immediately.
straddleFollowsPrice false If true, then then every straddle trade placement is relative to the current price, not just the first one. This results in a lower risk, but increases the likelihood of counter trades being triggered.
useTrailAndFeed false If true the feedFactor and trailFactor settings are used.
feedFactor 0.8 If this is greater than zero, it is used as a multiplying factor applied to the grid spacing to move pending trades beyond price in the current price direction that are further from the price than this distance towards price so that the position grows faster.
trailFactor 6 If this is greater than zero, it is used as a multiplying factor applied to the grid spacing to determine a trail distance. Pending trades behind the price (ie; if the price is going up then those pending orders below the price) that are further from the price than this distance are moved to this distance from the current price.
noMoveLimit 0.5 This is a proportion applied to the full price range of the current pending grid that is used for triggering feed and trail actions. For example, if the distance between the highest pending BUY and the lowest pending SELL is 100 pips and the noMoveLimit is 0.6, then if price in the top 20 pips then the market is deemed to be bullish or if the price is in the bottom 20 pips the market is deemed to be bearish. The feed and trail functions are only applied if price is outside the move zone (ie; its in the top or bottom regions of the trading zone).
trailMgrRunFreqSecs 45 The frequency in seconds that the process that handles the feed and trail runs.
Grid Exit Criteria
targetType DYNAMIC_TARGET Determines how the profit target is determined. Options are FIXED, PROPORTIONAL, DYNAMIC, RETRACEMENT, MOD_RISK or HALF_LIFE
fixedTarget 1 Fixed Profit Taker. A fixed target profit in the deposit currency. eg; if your deposit currency is USD and the setting is 1, then when the profit hits $1 then the gird is closed.
targetPer1000 5 Proportional Profit Taker. This is the proportional target specified in the deposit currency per 1000 units in the balance. For example, if your deposit currency is USD and your balance was $2000, then the default setting ($5 per $1000 balance) would equate to $10.
breakevenTradeLimit 12 If the number of trades reaches this limit, then the target profit changes to at or above breakeven. Applies to both fixed and proportional targets.
profitFactor 1 Dynamic Profit Taker. A factor used in calculating the initial target profit. The lot size and grid spacing are used to calculate the value of a single trades profit when price has moved one grid space. This is then multiplied by the factor to calculate the initial target profit. eg; if the grid spacing is 10 pips and the lot size is 0.1 ($1 per pip) and the profitFactor is 2, then the initial profit target is $20.
targetDeclineRate 1.7 Dynamic Profit Taker. A constant that determines how quickly the target profit decreases when using a dynamic target. The higher this setting, the faster the rate of decrease.
targetMaxRetracementPC 5 Retracement Profit Taker. Maximum allowed retracement from the current profit high. As soon as this limit is exceeded, then the grid is closed.
targetRiskMultiplier 1 Retracement Profit Taker. Multiplier applied to the current risk in order to determine the upper profit target. If price spikes and hits this level then the grid is closed.
riskPTFactor 0.5 Modified Risk Profit Taker. A profit take factor applied to the current risk in order to define the profit target. A modifier is also applied, calculated based on the ratio of active BUY to SELL trades. If all the active trades are BUY or all SELL, then this is seen as positive and the target is simply set at riskPTFactor multiplied by the current risk. If there are equal numbers of BUY and SELL active trades, then this is considered very negative and the profit target evaluates to zero. Ratios in between result in profit targets between these two extremes.
halfLifeMultiplier 2 Half Life Profit Taker. A multiplier applied to the current risk level to determine the initial profit target.
halfLifeSecs 300 Half Life Profit Taker. The interval after which the current profit target is halved. If your initial profit target was $100, then after 5 mins (300 secs), the target would be reduced to $50 and after another 5 mins it would reduce to $25 etc.
noTriggerMaxAgeInBars 0 If when starting a grid price shows no sign of triggering the grid any time soon, it is necessary to close the (pending) grid and start over to avoid being locked out of trading. This setting is a time interval (measured in bars, so a setting of 5 with a grid start timeframe of M5 would be 25 minutes). If no trades have been triggered after this amount of time, then the grid is closed. Ignored if zero.
Spike Catcher
useSpikeCatcher true Only use the spike catcher if true
scOnlyInProfit true Only close the grid if we are in profit
scATRTimeframe PERIOD_M1 The ATR timeframe used for assessing the typical bar size
scATRPeriod 10 The ATR period used for assessing the typical bar size
scLimitFactor 3 Spikes are identified as those bars greater than or equal to this factor times the typical bar size. eg; if the typical bar size is 10 pips the default action would be to close the grid if we get a single bar of size 30 pips or more.
Grid Layout
offsetSpacerType FIXED_SPACER The spacer type used to determine the distance between the current price and the initial straddle trades
offsetSpacerTf PERIOD_M1 If using the ATR_SPACER option for the offset spacer, then this is the timeframe used for the calculation.
offsetFixedSpacingPips 1 The offset spacing distance in pips. Applies if the offsetSpacerType is fixed.
offsetSpacerAtrPeriod 7 The number of bars over which the ATR is assessed if the offsetSpacerType is ATR_SPACER
offsetSpacerAtrMultiplier 1 The multiplier applied to the ATR to arrive at the initial offset if the offsetSpacerType is ATR_SPACER
straddleShiftPC 0 A shift applied to the initial straddle trade. If zero, then no shift is applied. It is only applicable if using a signal for starting the grid. The direction in which the shift is applied is in relation to the signal direction. For example, if we have a buy signal and the shift is negative, then the applied shift is down; conversely with a sell signal a negative shift would be up. The shift distance is based on the a percentage of the distance between the initial BUY and SELL trades (i.e.; 2 x the initial offset). Hence if the initial offset is 10 pips then the spacing between the trades is 20 pips. A shift of 20 results in a shift of 20 x 20 / 100 = 4 pips. The overall distance between the two starting trades remains the same.
spacerType ATR_SPACER Grid spacing is determined by the type of spacer used. Currently 2 spacers are available; FIXED_SPACER in which the spacing is defined in pips and ATR_SPACER in which the spacing is defined by the current Average True Range multiplied by a supplied factor.
spacerTf PERIOD_CURRENT The timeframe used for the calculation of spacing if the ATR_SPACER option is selected.
fixedSpacingPips 5 The spacing in pips if spacerType FIXED_SPACING is used.
spacerAtrPeriod 7 The period used for the calculation of spacing if the ATR_SPACER option is selected.
spacerAtrMultiplier 5 The multiplier used for the calculation of spacing if the ATR_SPACER option is selected.
Optimisation Statistics
testStats AVG_AGE_IN_MINS This is only applied when running the optimiser and appears in the 'OnTester' column in the optimisation results. You can select from one of the following options:
GRID_COUNT The total number of grids closed in the backtest.
TRADE_COUNT Total number of triggered trades (pending trades aren't counted)
AVG_GRID_SIZE Average grid size. The smaller the better.
MAX_GRID_SIZE The maximum grid size during the backtest.
AVG_BUY_SELL_RATIO Average buy/sell ratio. That is MAX(number of triggered buy trades, number of triggered sell trades)/total number of triggered trades. This produces a value between 0 and 1. The nearer to 1 the better.
NO_DEADZONE_PC Percentage of closed grids where all the triggered trades are in the same trade direction (ie; either all BUY or all SELL). Hence there is no dead zone. Ideally you want 100% of trades with no dead zone.
AVG_AGE_IN_MINS The average trading duration of a grid in minutes. The smaller the better.
JTA Common Settings
portionPC 100.0 The portion of the available free margin to be allocated to trading with this EA.
reportWhat REPORT_ASSERTIONS What types of items to report to the EA log file. Options are CRITICAL_ERRORS, WARNINGS, ASSERTIONS, TRADE, INFO, ALL
tickerMSec 500 Processes are scheduled using a system timer (except if you are running in the back tester in which case price ticks are used. This is the duration between time ticks used.
displayRunStats false If true, then run time statistics are tagged onto the end of the system log when the EA terminates.
isECNBroker true If you are using an ECN broker and the EA places trades with a stoploss and/or a take profit, then this needs to be true. The rules around the handling of ECN brokers means that the actions of placing a trade and setting its stop levels have to be separated.
debugDll 0 If you are having problems with the EA that may be associated with our DLL's, then you will be requested to set this value to 1. This results in the DLL's writing a log file that can be used to identifying the cause of such problems.
notifyErrorsByEmail true If you have setup an email address with MT4 and this property is true then you will be notified by email if the EA runs into any problems. This is useful if you are running the EA on a virtual private server and hence are not monitoring the EA on a computer screen.
Tracing
traceWhat TRACE_OFF JTA's EA's have the ability to display trace information to the chart window. The options are TRACE_OFF (no trace), TRACE_PROCESSES (displays the status of all running EA processes) and TRACE_TRADES (display information for all trades). Note that the latter will display all trades (not just the ones created and/or managed by this EA). The trace is meant for checking that the EA is running correctly.
traceOffset 20 Y offset of the trace display from the top of the chart window. If the trace offset is zero and another chart is open, then the trace appears on the other chart. If you are running in the back tester, then the trace (if enabled) will always appear in the tester chart window.
traceMaxLines 30 This is the maximum number of lines that are displayed in the trace. If the trace output exceeds this limit, then the trace output scrolls to display the most recent output.
Drawdown Manager Settings
enableDDMgr false The DD manager only runs if this is set to true
ddCheckSecs 5 The period at which the DD manager checks the current drawdown. If this has the value of zero, then the DD manager runs on every price tick.
maxDDPercent 2 If the drawdown exceeds this percentage, then the DD action is carried out
ddOption DD_PAUSE The action carried out if the maximum drawdown is exceeded. The options are ABORT (closes all trades and stops), PAUSE (manages the current trades to completion and then stops) or STARTOVER (closes all trades and then continues trading).
Auto Updater Settings
enableAutoUpdate true The auto updater only runs if this is true
updateStart 1 The auto updater only looks for a new update within the updateStart to updateEnd time slot (time in in hours on a 24 hour clock using your local time. Hence the default is to look for a new update between 1am and 6am local time.
updateEnd 6 The end of the auto updater window.
notifyUpdateByEmail false If email communication has been setup in MT4, if this is set to true then you will receive an email to notify you if a new update has been downloaded and is available for installation.


Signals

A range of signals are supported for our EA's. The following table defines these signals and their settings

BBSTOP
Bollinger Band stop signal. Triggered when price moves outside the Bollinger Band channel.
bbStop_Period 20 The period of the middle BBand SMA line
bbStop_Deviation 2 The offset from the middle line in standard deviations. The upper BBand line is the middle line plus deviation standard deviations above the middle line. The lower BBand is the same distance below the middle line.
bbStop_Offset 0.5 The offset applied to the BBStop line. Ignored for when used for signal
HEIKEN ASHI
Smoothed Heiken Ashi signal. Triggered when it switches from bear bar to bull bar (BUY signal) or vice versa (SELL signal)
heikenAshiMaPeriod 6 The period of the moving average used for calculating the Heiken Ashi open, close, high and low.
heikenAshimaMethod MODE_SMMA The moving average method used in the HA calculation.
heikenAshimaSmPeriod 2 The period of the moving average used to apply further smoothing of the Heiken Ashi candle values.
heikenAshimaSmMethod MODE_LWMA The moving average method used to apply further smoothing of the Heiken Ashi candle values.
MACD
The conventional MACD signal. MACD is a measure of the difference between 2 moving averages (defined by the fast period and slow period). The signal is a short period moving average applied to this difference. The default settings are the normal defaults used for MACD.
macd_FastPeriod 12 The period for the fast period MA
macd_SlowPeriod 26 The period for the slow period MA
macd_SignalPeriod 9 The period for the signal MA
macd_AppliedPrice PRICE_CLOSE The applied price used in the moving average calculations.
MACD_ZEROX
A simpler MACD that generates signals in response to the signal line crossing the zero line. This can produce more false signals than the normal MACD, so should be filtered. The settings are the same as the MACD signal.
macd_ZeroXFastPeriod 5
macd_ZeroXSlowPeriod 9
macd_ZeroXSignalPeriod 3
macd_ZeroXAppliedPrice PRICE_CLOSE
MAX
A Moving Average crossover signal. Given 2 moving averages defined by their period and MA method, it generates BUY signals when the fast MA crosses up through the slow MA and SELL signals when the slow MA crosses down through the slow MA.
max_FastPeriod 21 Period of the fast MA
max_SlowPeriod 89 Period of the slow MA
max_FastMethod MODE_EMA The MA method used for the fast MA.
max_SlowMethod MODE_SMA The MA method used for the slow MA
max_AppliedPrice PRICE_CLOSE The Applied Price used for both moving averages.
PINBAR_ENGULFING
Generates BUY signals if we have a bullish pinbar or engulfing bar pattern and a SELL signal for the bearish equivalents. Note that an engulfing bar pattern is essentially the same as a pinbar pattern viewed at a longer timeframe.
pinbarAtrPeriod 10 The ATR period used to determine the typical bar length
pinbarMinBarLen 1.5 The minimum length of a pinbar with regards to the typical bar length. The default setting is that to be recognised as a pinbar, the bar length must be at least 1.5 times the typical bar length.
pinbarMaxBodyProp 0.2 The maximum length of the pinbar body as a proportion of the total bar length (from high to low).
pinbarBodyLoc 0.25 The location of the pinbar body within the overall bar. The default setting is that the body must be within the top 25% of the bar for a bullish pinbar or within the bottom 25% of the bar for a bearish pinbar.
PSAR
Parabollic SAR signal, generated when the PSAR changes sides on the price line. The settings are the normal ones applied to Parabolic SAR.
psar_Step 0.02 The PSAR step interval
psar_Max 0.2 The PSAR maximum value
RSI_REV
RSI Reversal Signal, generated when the RSI crosses down from the overbought level for a SELL signal or up through the oversold level for a BUY signal
rsiRevPeriod 14 The RSI period used. Shorter period are more responsive to price changes, but can produce more false signals.
rsiRevAppliedPrice PRICE_TYPICAL The applied price used in the RSI calculation
rsiRevLimit 30 This parameter is used to calculate the limits that are checked to generate the signal. RSI cycles between the values of 0 (very weak) and 100 (very strong). With the limit set at 30, a BUY signal is generated if the RSI crosses up through the 30 level and a SELL signal is generated if the RSI crosses down through the 70 level (100-30). Smaller values for this limit will result in signals being generated only when RSI is very extreme, resulting in fewer signals.
STC
The Schaff Trend Cycle (STC) Indicator is the product of combining Slow Stochastics and MACD. It is exceptionally good at detecting trend changes. STC oscillates between 0 and 100. A BUY signal is generated if the STC moves up through the lower limit and a SELL signal if it moves down through the upper limit.
stc_UpperLimit 75 The BBand period.
stc_LowerLimit 25 The BBand deviation.
TEMAX
This signal uses 2 Triple EMA to generate crossover signals. An EMA applied to an EMA applied to an EMA produces a smooth, yet very responsive moving average. The resultant signals can be very effect in fast moving markets, but should be filtered to reduce the number of false signals.
temax_FastPeriod 7 The fast TEMA period
temax_SlowPeriod 10 The slow TEMA period
temax_AppliedPrice PRICE_CLOSE The applied price used in the calculation of the first EMA
STEPMA
The StepMA is a “better” moving average. Signals are generate in response to the price line crossing the stepMA line, a BUY signal if price crosses upwards, a SELL signal if price crosses downwards. The step MA period and sensitivity (Kv) are important settings for optimisation. All other settings can generally be left at the default values.
stepMaLength 10 ATR period used in the calculation
stepMaKv 1 Sensitivity factors in the range of 0 (not very sensitive) to 1 (very sensitive)
stepMaMaMode 0 Identifies the moving average method used. 0 = SMA, 1=LWMA
stepMaStepSizeMin 0 Minimum step size in points
stepMaStepSizeMax 0 Maximum step size in points
stepMaShiftMin 0
stepMaShiftMid 0
stepMaShiftMax 0

Filters

A range of signal filters are supported by JTA EA's.

ADX Filter
The Average Directional Index (ADX) indicator indicates the strength and direction of a trend. An ADX value of 25 or more indicates that the market is trending rather than just ranging. If you use this filter then the signal is only taken if the ADX value is greater or equal to the minAdx value and the direction of the signal aligns with the trend direction.
filterMinAdx 25 ADX must be greater than or equal to this value for the signal to be taken.
filterAdxPeriod 14 The number of bars that the ADX is evaluated
BBSTOP Filter
The BBSTOP indicator is based on Bollinger Bands and generates signals when price breaks outside the bands. The BBSTOP line is formed from the opposite side of the bands from the previous breakout. This filter lets signals through if price is on the correct side of the BBSTOP line for the signal direction. Hence, if we have a BUY signal, then the signal is only taken if price is above the current BBSTOP line.
filterBBStopPeriod 20 The Bollinger Band period used.
filterBBStopDeviation 2 The Bollinger Band deviation, the default being 2 standard deviations
filterBBStopOffset 0.5 An offset applied to the BBSTOP line as a proportion of the total width of the Bollinger Band channel.
CCI Filter
The Commodity Channel Index (CCI) is a powerful oscillator for indicating when an instrument is overbought or oversold. BUY signals are only let through if the CCI is in the oversold region and SELL signals if the CCI is indicating overbought.
filterCCIPeriod 12 The CCI period used.
filterCCILimit 200 Overbought is when the CCI is greater than this value and oversold when CCI is less than minus this value.
Heiken Ashi Filter
Signals are only let through if the direction matches that of the corresponding Heiken Aski bar at the filter timeframe.
filterHeikenAshiMaPeriod 6 The period of the moving average used for calculating the Heiken Ashi open, close, high and low.
filterHeikenAshimaMethod MODE_SMMA The moving average method used in the HA calculation.
filterHeikenAshimaSmPeriod 2 The period of the moving average used to apply further smoothing of the Heiken Ashi candle values.
filterHeikenAshimaSmMethod MODE_LWMA The moving average method used to apply further smoothing of the Heiken Ashi candle values.
MA1 Filter
The Moving Average x 1 (MA1) filter is a very simple filter based on a single moving average. BUY signals are only taken if price is above the MA and SELL signals are only taken if price is below the MA.
filterMaPeriod 200 The period of the MA
filterMaMethod MODE_EMA The MA method used for all of the moving averages.
filterMaAppliedPrice PRICE_CLOSE The price to which the MA is applied.
MA3 Filter
The Moving Average x 3 (MA3) filter uses 3 moving averages of different periods (fast, medium and slow) to determine if the market is trending and in which direction. If the fast MA is above the medium MA and the medium MA is above the slow, then the market is trending up. If the fast MA is below the medium MA and the medium MA is below the slow MA, then the market is trending down. Any other combination indicates that the market is ranging. Signals are only taken if they align with the indicated trend direction.
filterMaMethod MODE_EMA The MA method used for all of the moving averages.
filterMaAppliedPrice PRICE_CLOSE The price to which the MA is applied.
filterMaFastPeriod 13 Period of the fastest moving MA
filterMaMediumPeriod 21 Period of the medium MA
filterMaSlowPeriod 34 Period of the slowest moving MA
MTF BBand Filter
Multi-TimeFrame (MTF) Bollinger Band filter. Using 3 different timeframes, BUY signals are only taken if price is in the upper half of the Bollinger Band channel for all of the timeframes. Likewise, SELL signals are only taken if price is in the lower half of the BB channel for all the timeframes.
filterMtfBBFastTf PERIOD_M5 The shortest timeframe
filterMtfBBMedTf PERIOD_M30 The medium timeframe
filterMtfBBSlowTf PERIOD_H4 The longest timeframe
filterMtfBBPeriod 20 BBand period used
filterMtfBBDev 2 BBand deviation
filterMtfBBAppliedPrice PRICE_CLOSE BBand applied price
MTF MA Filter
Like the MA3 Filter, this filter uses 3 moving averages to determine trend direction. However, unlike MA3, the 3 moving averages are calculated at different timeframes. The fast MA is calculated using the same timeframe as the signal, the medium MA using a timeframe of 4 times that of the fast MA and the slow MA using a timeframe of 16 time that of the fast MA. Hence if the signal timeframe is M15, then the 3 timeframes used would be M15, H1 and H4. Simple moving averages based on closing prices are used throughout.
filterMtfMaPeriod 20 The moving average period used
PSAR Filter
The Parabolic SAR indicator is commonly used indicator of short term momentum. If the PSAR dots are under the current price, then only BUY signals are taken and vice versa.
filterPsarStep 0.02 The parabolic SAR step used
filterPsarMax 0.2 The parabolic SAR maximum value
STEPMA Filter
The STEPMA indicator is a special type of moving average indicator.
filterStepMaLength 10 The number of steps (bars) for calculating STEPMA
filterStepMaKv 1 The sensitivity factor
filterStepMaMaMode 0 The moving average method used. 0=SMA, 1=LWMA
filterStepMaStepSizeMin 0 The Minimum size for each step used by the StepMA indicator.
filterStepMaStepSizeMax 0 The Maximum size for each step used by the StepMA indicator
filterStepMaShiftMin 0 The number of bars used to shift the STEPMA fast line
filterStepMaShiftMid 0 The number of bars used to shift the STEPMA medium line
filterStepMaShiftMax 0 The number of bars used to shift the STEPMA slow line
WPR Filter
The Williams' Percent Range (WPR) indicator is similar to the CCI in that it is a good indicator of whether a market is overbought or oversold. BUY signals are only taken if oversold and vice versa. WPR oscillates between 0 (very overbought) to -100 (very oversold).
filterWprPeriod 55 The WPR period used
filterWprZoneOffset 20 Defines the overbought/oversold zones. With the default value the overbought zone is between 0 and -20; the oversold zone between -80 and -100.

Common Properties

There are a number of properties that are common to all of our second generation EA's.

Property Default Value Description
Common Settings
reportWhat REPORT_ASSERTIONS Defines the level of reporting in the log file.
tickerInMSec 500 The rate at which ticks are generated that drive the system (the 'heartbeat'). The default of 500 MSec (half a second) should be fine for most systems. If however you are using a slow PC or have a very slow internet connection, then you might find increasing this value is desirable.
isECNBroker true Not all brokers are equal! An ECN broker is one that uses electronic communications networks (ECNs) to provide its clients direct access to other participants in the currency markets. In particular, an ECN broker does not have a dealing desk like a market maker. From a technical perspective, there is a difference in the way that trades are placed with an ECN broker as opposed to a market maker. This must be true if you are using an ECN broker.
debugDll 0 If this is set to 1, then additional log information is generated that may help us sort out any problems you may have with JTA's security infrastructure.
Drawdown Manager Settings
enableDDMgr false The DD manager only runs if this is true
ddCheckSecs 5 The frequency at which the DD manager checks the drawdown.
maxDDPercent 2 The maximum DD allowed as a percentage of the account balance
ddOption DD_PAUSE Defines the action carried out if the maximum drawdown is exceeded. The options are abort, pause or start over.
AutoUpdater Settings
enableAutoUpdate true The auto-updater process only runs if this is true. If an update is found, then the system attempts to download the update at some random time period within the update window (between updateStart and updateEnd).
updateStart 1 Start of the potential update window (in GMT)
updateEnd 6 End of the potential update window (in GMT)

Log Files

EA's create log files of the form:

EA name - instrument - account - date

For example:

XS-EURUSD-888901021-2017.08.15.txt

The file is located in the MQL4/Files directory if you are running the EA on a demo or live account. If you are running in the MT4 back tester then the file is found in the Tester/Files directory (The Tester directory is found one level up from the MT4 directory.

The system 'Reporter' write records to this file and also copies them to the system log (found under the Expert tab). The user has some control as to what is recorded through the reportWhat property described above. The possible settings are:

Setting Meaning
REPORT_CRITICAL_ERRORS Only system critical errors and errors encountered in initialisation are recorded
REPORT_WARNINGS As previous plus any system warnings
REPORT_ASSERTIONS As previous plus reports of any assertions that failed.
REPORT_TRADE As previous plus reports of all trades place, modified, deleted or closed
REPORT_INFO As previous plus general information. This can be very verbose
REPORT_ALL As previous plus information concerning the operation of library routines

The default reportWhat setting is REPORT_ASSERTIONS which should be sufficient to track down any run time issues. Full system logging is achieve by setting reportWhat to REPORT_LIBRARY and setting debugDll to 1