Signals and filters

Directional change filter

(starting from v2.44)

Directional change filter allows to filter entries based on previous closed trade direction and its profit.

Directional change filter type

Disabled: filter disabled

Change dir after loss:

  • allows BUYs after profitable BUYs / after losing SELLs
  • allows SELLs after profitable SELLs / after losing BUYs

Change dir after profit (starting from v2.58):

  • allows BUYs after losing BUYs / after profitable SELLs
  • allows SELLs after losing SELLs / after profitable BUYs



Big candle filter

(starting from v2.12)

Big candle filter analyzes candle (current or previous, depending on Analyze current bar parameter) from the specified timeframe and allows entry only if candle size is in the specified range.


Big candle filter type

  • Disabled: filter disabled
  • Big candle in any direction:
    • both BUYs and SELLs are allowed only if High - Low >= Big candle min size and High - Low <= Big candle max size (or max size = 0)
  • Co-directional big candle only:
    • BUYs are allowed if High - Open >= Big candle min size and High - Open <= Big candle max size (or max size = 0)
    • SELLs are allowed if Open - Low >= Big candle min size and Open - Low <= Big candle max size (or max size = 0)
  • Opposite big candle only:
    • BUYs are allowed if Open - Low >= Big candle min size and Open - Low <= Big candle max size (or max size = 0)
    • SELLs are allowed if High - Open >= Big candle min size and High - Open <= Big candle max size (or max size = 0)


Big candle min size

Min candle size in points to activate signal (what is a “point”?).


Big candle max size

(starting from v2.44)

Max candle size in points to activate signal (what is a “point”?).

Set 0 to disable max size check.


Big candle TimeFrame

TimeFrame to analyze candle size.


Analyze current bar

Set true to analyze current bar, false to analyze previous (formed) bar.



Oscillator filters #1-3

Filter type

Type of oscillator signal:

  • Disabled: filter disabled.
  • Inside zone:
    • BUYs are allowed if oscillator <= LevelDn
    • SELLs are allowed if oscillator >= LevelUp
  • Cross In:
    • BUYs are allowed when oscillator crosses LevelDn downwards
    • SELLs are allowed when oscillator crosses LevelUp upwards
  • Cross Out:
    • BUYs are allowed when oscillator crosses LevelDn upwards
    • SELLs are allowed when oscillator crosses LevelUp downwards
  • Cross MA:
    • BUYs are allowed when oscillator crosses MA based on its line below the LevelDn
    • SELLs are allowed when oscillator crosses MA based on its line above the LevelUp

For example:
oscillator_cross_ma.png

  • Above/below MA (starting from v2.35):
    • BUYs are allowed if oscillator > MA based on its line and <= LevelDn
    • SELLs are allowed when oscillator < MA based on its line and >= LevelUp
  • Reversal (starting from v2.52):
    • BUYs are allowed if oscillator turns UP below the LevelDn (middle bar should be below the level)
    • SELLs are allowed if oscillator turns DOWN above the LevelUp (middle bar should be above the level)


Indicator

Indicator used for oscillator signal.

Can be one of the following:


TimeFrame

TimeFrame to calculate signal.


Main Period

Period of oscillator (K period for Stochastic)


Applied price

Applied price for CCI and RSI


MA Period

MA period for Cross MA mode


MA Method

MA method for Cross MA mode


Stochastic Slowing period and Price

Stochastic parameters


Level UP

Signal level for sell signals


Level DN

Signal level for buy signals.

Set -999 to calculate it automatically based on Level Up (for faster optimization).

For Stochastic and RSI, level is mirrored from 50:

  • Up = 90 —> Dn = 10
  • Up = 70 —> Dn = 30
  • Up = 50 —> Dn = 50

For WPR – from -50:

  • Up = -10 —> Dn = -90
  • Up = -20 —> Dn = -80
  • Up = -50 —> Dn = -50

For CCI – from 0:

  • Up = 100 —> Dn = -100
  • Up = 150 —> Dn = -150
  • Up = 0 —> Dn = 0


Reverse mode

Reverse all Oscillator signals.


Use closed bars only

(starting from v2.35)

Use only closed (formed) bars. If true, the signal can’t change in the middle of the bar.

Default value for Oscillator filters is true



IdentifyTrend filter

Enable IdentifyTrend filter

(starting from v2.03)

If true:

  • BUYs are allowed if IdentifyTrend is blue
  • SELLs are allowed if IdentifyTrend is red

Set false to disable this filter.

You don’t need the IdentifyTrend indicator file for the correct work of EA. However, you can get it here, if you want.


IdentifyTrend TimeFrame

TimeFrame for the IdentifyTrend filter


IdentifyTrend Price, IdentifyTrend Period

Price and period for IdentifyTrend calculation


IdentifyTrend Reverse mode

(starting from v2.14)

Reverse all IdentifyTrend signals (Buy on Red and Sell on Blue)


IdentifyTrend use closed bars only

(starting from v2.14)

Use only closed (formed) bars. If true, the signal can’t change in the middle of the bar.

Default value for IdentifyTrend is false.



TDI filter

(starting from v1.01)

TDI – is a well-known oscillator based on RSI:

You don’t need the TDI indicator file for the correct work of EA. However, you can get it here, if you want


TDI filter mode

(starting from v2.27)

TDI filter type, can be one of the following:

  • Disabled - TDI filter is disabled
  • Market Base Line > Signal Level:
    • BUYs are allowed if TDI yellow line is >= Signal level
    • SELLs are allowed if TDI yellow line is <= Signal level


TDI TimeFrame

TimeFrame for the TDI filter


Signal level

(starting from v2.27)

Signal level for signal calculation


TDI indicator parameters

(starting from v2.27)

  • RSI period and price
  • RSI smoothing period and method
  • Signal smoothing period and method
  • Volatility bands period
  • Standard Deviations


TDI Reverse mode

(starting from v2.14)

Reverse all TDI signals


TDI use closed bars only

(starting from v2.14)

Use only closed (formed) bars. If true, the signal can’t change in the middle of the bar.

Default value for TDI is true.



MACD filter

MACD filter Type

(starting from v2.16)

Type of MACD filter:

  • Disabled: MACD filter disabled
  • Buy on Main > 0 / Sell on Main < 0:
    • BUYs are allowed if MACD histogram > Signal Level
    • SELLs are allowed if MACD histogram < -Signal Level
  • Buy on 2 growing bars / Sell on 2 reducing bars:
    • BUYs are allowed if MACD is growing (value on the last bar is greater than previous one)
    • SELLs are allowed if MACD is reducing (value on the last bar is less than previous one)
  • Buy on 3 growing bars / Sell on 3 reducing bars:
    • BUYs are allowed if MACD is growing 3 bars in a row
    • SELLs are allowed if MACD is reducing 3 bars in a row
  • Buy on Main > Signal / Sell on Main < Signal:
    • BUYs are allowed if MACD histogram > MACD Signal line
    • SELLs are allowed if MACD histogram < MACD Signal line
  • Main and Signal cross:
    • BUYs are allowed on the bar where MACD histogram crosses MACD Signal line upwards
    • SELLs are allowed on the bar where MACD histogram crosses MACD Signal line downwards
  • Main and Signal cross >/< 0:
    • BUYs are allowed on the bar where MACD histogram crosses MACD Signal line upwards below the -Signal Level
    • SELLs are allowed on the bar where MACD histogram crosses MACD Signal line downwards above the Signal Level
  • Buy on Signal > 0 / Sell on Signal < 0 (starting from 2.35):
    • BUYs are allowed if MACD signal line > Signal Level
    • SELLs are allowed if MACD signal line < -Signal Level
  • Buy on Main > Signal and Signal < 0 / Sell on Main < Signal and Signal > 0 (starting from 2.35):
    • BUYs are allowed if MACD histogram > MACD Signal line and MACD signal line < -Signal Level
    • SELLs are allowed if MACD histogram < MACD Signal line and MACD signal line > Signal Level
  • Main cross 0 (starting from v2.48):
    • BUYs are allowed on the bar where MACD histogram crosses Signal Level upwards
    • SELLs are allowed on the bar where MACD histogram crosses -Signal Level downwards
  • Signal cross 0 (starting from v2.48):
    • BUYs are allowed on the bar where MACD Signal line crosses Signal Level upwards
    • SELLs are allowed on the bar where MACD Signal line crosses -Signal Level downwards


MACD TimeFrame

TimeFrame for the MACD filter


MACD Signal Level

(starting from v2.53)

Signal level for all filter types where it is used


MACD indicator parameters

  • MACD Fast period
  • MACD Fast method
  • MACD Slow period
  • MACD Slow method
  • MACD Signal period
  • MACD Signal method
  • MACD Applied price


MACD Reverse mode

(starting from v2.14)

Reverse all MACD signals


MACD use closed bars only

(starting from v2.14)

Use only closed (formed) bars. If true, the signal can’t change in the middle of the bar.



ADX filter

Type

Type of ADX filter:

  • Disabled: filter disabled
  • Buy on +DI <= level / Sell on -DI <= level:
    • BUYs are allowed if +DI value <= Signal level
    • SELLs are allowed if -DI value <= Signal level

  • Buy on +DI >= level / Sell on -DI >= level (starting from v2.52):
    • BUYs are allowed if +DI value >= Signal level
    • SELLs are allowed if -DI value >= Signal level
  • Buy/sell on +DI crosses -DI up/down when ADX >= level:
    • BUYs are allowed if ADX >= Signal level and +DI line crosses -DI line up
    • SELLs are allowed if ADX >= Signal level and +DI line crosses -DI line down

  • Buy/sell when ADX >= level (starting from v2.52):
    • Both BUYs and SELLs are allowed if ADX >= Signal level


TimeFrame

TimeFrame for the ADX filter


Period Applied price

ADX indicator parameters (for MT4 only)


Signal level

Signal level value


Reverse mode

If true, buy signals replaced by sell signals and vice versa.


Use closed bars only

Use only closed (formed) bars. If true, the signal can’t change in the middle of the bar.

Default value for ADX is true.



DTrend filter

(starting from v2.35)

Type

Type of DTrend filter:

  • Disabled: filter disabled
  • Buy > level / Sell < -level:
    • BUYs are allowed if indicator value > Signal level
    • SELLs are allowed if indicator value < -Signal level
  • Buy on rise / Sell on fall:
    • BUYs are allowed if indicator grows
    • SELLs are allowed if indicator falls
  • Buy on bottom / Sell on top:
    • BUYs are allowed if indicator starts to grow
    • SELLs are allowed if indicator starts to fall


TimeFrame

TimeFrame for the DTrend filter


DTrend indicator parameters

  • MA1 period
  • MA2 period
  • D period
  • Scalar


Signal level

Level value for Buy > level / Sell < -level mode


Reverse mode

Reverse all DTrend signals


Use closed bars only

Use only closed (formed) bars. If true, the signal can’t change in the middle of the bar.

Default value for DTrend is false.



Parabolic SAR filter

(starting from v2.29)

Signal Type

Type of Parabolic filter:

  • Disabled: filter disabled
  • Direction:
    • BUYs are allowed if price is above the Parabolic
    • SELLs are allowed if price is below the Parabolic
  • Signal:
    • BUYs are allowed if price crosses the Parabolic upward
    • SELLs are allowed if price crosses the Parabolic downward


TimeFrame

TimeFrame for the Parabolic filter


Step Maximum

Parabolic indicator parameters


Reverse mode

Reverse all Parabolic signals



MA Filters

(starting from v2.15, refactored in 2.53)

MA Filter Type

Type of MA filter:

  • Disabled: MA filter is disabled

  • Buy below MA / Sell above MA:
    • BUYs are allowed if current price is below the MA by Distance:
      • MA - price >= Distance
    • SELLs are allowed if current price is above the MA by Distance:
      • price - MA >= Distance
  • Buy on cross DN / Sell on cross UP:
    • BUYs are allowed if price crosses the MA upward by Distance:
      • MA - price >= Distance [on current bar]
      • MA - price < Distance [on previous bar]
    • SELLs are allowed if price crosses the MA downward by Distance:
      • price - MA >= Distance [on current bar]
      • price - MA < Distance [on previous bar]
  • Buy on rising MA / Sell on falling MA:
    • BUYs are allowed if the MA rises with a slope >= Angle
    • SELLs are allowed if the MA falls with a slope >= Angle

Price depends on the “Use closed bars only” parameter:

  • If “Use closed bars only” = false:
    • Price on current bar = Ask for BUYs, Bid for SELLs
    • Price on previous bar = Open price of the previous bar
  • If “Use closed bars only” = true:
    • Price on current bar = Open price of the current bar
    • Price on previous bar = Open price of the previous bar


TimeFrame

TimeFrame for MA filter


Moving Average properties

  • MA Period
  • MA Method
  • Applied price


Distance / angle calculation type

Distance / angle calculation type:

  • In points: fixed distance in points / fixed angle in points per bar is used (what is a “point”?)
  • Volatility * Coefficient: distance is calculated as “current volatility * Coefficient” / angle is calculated as “current volatility * Coefficient” per bar


Distance / angle value

Distance or angle value for signal calculation.

Distance can be negative (so, in Buy below MA mode, BUYs will be allowed if Ask above the MA, but not more than by distance points).

Angle is set in points per bar (for example, 1.5 points per bar means MA changed by 1.5 points), or as “current volatility * Coefficient” per bar (for example, if volatility = 20 points, and Distance / angle value = 0.1, MA should change by 20*0.1 = 2 points per bar to generate signal).

Angle value also can be negative, so in Buy on rising MA mode BUY will be allowed on falling MA, but it shouldn’t fall too fast (slope still should be >= Angle).


Max Distance / Angle value

(starting from v2.55)

Max distance / angle value.

For example, if Distance value = 10, Max Distance value = 20, Buy below MA signal will be active if Max Distance >= MA - price >= Distance.

Set 0 to disable this limit.


Reverse mode

(starting from v2.53)

Reverse all Moving Average (MA) signals


Use closed bars only

(starting from v2.53)

Use only closed (formed) bars.

If true, the signal can’t change in the middle of the bar.



Line Filters

(starting from v2.55)

Line filter allows to use a graphical object as a filter.

Activate it with specific Object name, create a trend or horizontal line on the chart with the EA, and rename it with the same name as you set in filter parameters.


Line Filter Type

Type of Line filter:

  • Disabled: Line filter is disabled

  • Buy below Line / Sell above Line:
    • BUYs are allowed if current price is below the line by Distance:
      • Line - price >= Distance
    • SELLs are allowed if current price is above the Line by Distance:
      • price - Line >= Distance
  • Buy on cross DN / Sell on cross UP:
    • BUYs are allowed if price crosses the Line upward by Distance:
      • Line - price >= Distance [on current bar]
      • Line - price < Distance [on previous bar]
    • SELLs are allowed if price crosses the Line downward by Distance:
      • price - Line >= Distance [on current bar]
      • price - Line < Distance [on previous bar]


Price depends on the “Use closed bars only” parameter:

  • If “Use closed bars only” = false:
    • Price on current bar = Ask for BUYs, Bid for SELLs
    • Price on previous bar = Open price of the previous bar
  • If “Use closed bars only” = true:
    • Price on current bar = Open price of the current bar
    • Price on previous bar = Open price of the previous bar


TimeFrame

TimeFrame for Line filter


Object name

Name of the graphical object to use as a Line filter


Distance calculation type

Distance calculation type:

  • In points: fixed distance in points is used (what is a “point”?)
  • Volatility * Coefficient: distance is calculated as “current volatility * Coefficient”


Distance value

Distance value for signal calculation.

Distance can be negative (so, in Buy below Line mode, BUYs will be allowed if Ask above the Line, but not more than by distance points).


Max Distance value

(starting from v2.55)

Max distance value.

For example, if Distance value = 10, Max Distance value = 20, Sell above Line signal will be active if Max Distance >= price - Line >= Distance.

Set 0 to disable this limit.


Reverse mode

Reverse all Line filter signals


Use closed bars only

Use only closed (formed) bars.

If true, the signal can’t change in the middle of the bar.



Pivot Filter

(starting from v2.56)

Pivot symbol

Symbol to calculate Pivot. Leave empty to use current symbol.


Pivot calculation mode

Pivot calculation mode can be one of the following:

  • Classic
  • Woodie
  • Camarilla
  • Fibonacci
  • Demark


Pivot TimeFrame

TimeFrame to calculate Pivot


Check Interval

Pivot signals can be checked on every tick, or on every bar of the specified TimeFrame.

Use Every tick for the most accurate signals.


Distance calculation type

Distance calculation type:

  • In points: fixed distance in points is used (what is a “point”?)
  • Volatility * Coefficient: distance is calculated as “current volatility * Coefficient”


Visualization properties

Enable visualization to understand signals better. You can choose:

  • Lines width
  • Lines style
  • Pivot Level Color
  • Support Levels Color
  • Resistance Levels Color

Set Lines width = 0 to disable visualization.


Pivot Level #1-4 properties

Type

Type of Pivot filter:

  • Disabled: filter disabled

  • Buy below Level / Sell above Level:
    • BUYs are allowed if current price is below the level by Distance:
      • Level - price >= Distance
    • SELLs are allowed if current price is above the level by Distance:
      • price - Level >= Distance
  • Buy on cross DN / Sell on cross UP:
    • BUYs are allowed if price crosses the level upward by Distance:
      • Level - price >= Distance [on current bar]
      • Level - price < Distance [on previous bar]
    • SELLs are allowed if price crosses the level downward by Distance:
      • price - Level >= Distance [on current bar]
      • price - Level < Distance [on previous bar]


Price depends on the “Use closed bars only” parameter:

  • If “Use closed bars only” = false:
    • Price on current bar = Ask for BUYs, Bid for SELLs
    • Price on previous bar = Open price of the previous bar
  • If “Use closed bars only” = true:
    • Price on current bar = Open price of the current bar
    • Price on previous bar = Open price of the previous bar


Use level

Level to use as a filter:

  • Pivot Level
  • Support / Resistance #1
  • Support / Resistance #2
  • Support / Resistance #3
  • Support / Resistance #4

For example, if Use level = Support / Resistance #2 and Type = Buy below Level / Sell above Level, BUYs will be allowed if Ask below the Support #2 and SELLs will be allowed if Bid above the Resistance #2.

For some Pivot calculation modes, not all levels are available.


Distance value

Distance value for signal calculation.

Distance can be negative (so, in Buy below Level mode, BUYs will be allowed if Ask above the level, but not more than by distance points).


Max Distance value

Max distance value.

For example, if Distance value = 10, Max Distance value = 20, Sell above Level signal will be active if Max Distance >= price - Level >= Distance.

Set 0 to disable this limit.


Reverse mode

Reverse all Pivot filter signals



ZigZag Filter

(starting from v2.30)

ZZ filter type

Type of ZZ filter:

  • Disabled: ZZ filter disabled
  • Extremum break
    • BUYs are allowed on the bar breaking UP the last formed extremum of ZZ:

    • SELLs are allowed on the bar breaking DOWN the last formed extremum of ZZ:

  • Trend continue (last broken extremum direction) Can be used as a filter to other signals.
    • BUYs are allowed after the last UP-break and till the next peak of ZZ is formed:

    • SELLs are allowed after the last DOWN-break and till the next bottom is formed:

  • Reversion point
    • BUYs are allowed when the DOWN-section of ZZ is forming and the distance between the last top and the current price becomes big enough:

    • SELLs are allowed when the UP-section of ZZ is forming and the distance between the last bottom and the current price becomes big enough:

  • Counter-trend (distance from last extremum) Can be used as a filter to other signals
    • BUYs are allowed when the DOWN-section of ZZ is forming and the distance between the last top and the current price is big enough:

    • SELLs are allowed when the UP-section of ZZ is forming and the distance between the last bottom and the current price is big enough


TimeFrame

TimeFrame for ZZ filter


ZZ indicator properties

  • Period
  • Min Amplitude
  • Min Motion


Distance type

Distance calculation type:

  • In points: fixed distance in points is used (what is a “point”?)
  • Volatility * Coefficient: distance is calculated as “current volatility * Coefficient”:

  • Average ZZ size * coefficient: distance is calculated as “average size of 10 last ZZ segments * Coefficient”
  • Extremum bar size * coefficient (starting from v2.43): distance is calculated as “extremum bar size * Coefficient”, where extremum bar size for UP extremums = high - min(open, close), extremum bar size for DN extremums = max(open, close) - low:


Distance size (Points / Coefficient)

Distance size for signal calculation.

Distance can be set negative (so, in Extremum break mode trade will be opened before X points before extremum break)


Use previous unbroken extremums

(starting from v2.43)

If enabled, previous (unbroken) extremums will be used after the last extremum is broken:


Reverse mode

Reverse all ZZ signals


Use closed bars only

Use only closed (formed) bars. If true, the signal can’t change in the middle of the bar.


Visualization parameters

(starting from v2.43)

  • Visualize levels (true/false)
  • Fill rectangle (true/false)
  • Color UP
  • Color DN

Enable visualization to understand signals better.



Volatility for MA, ZZ, Line and Pivot filters distance

(starting from v2.15)

Volatility Indicator

Indicator used for the Distance calculation for the MA and ZZ Filters.

Can be one of the following:

  • ATR
  • StDev
  • ATR based on Close-Open (high and low prices not used)
  • WATR
  • Volume (don’t use for this block!)


TimeFrame and Period

TimeFrame and Period of volatility indicator

2nd Volatility Indicator for MA filter

(starting from v2.59.2)

If set, volatility value for MA filter distance is calculated as max(volatility_1, volatility_2).

For example, you can set Volatility Indicator = ATR, and 2nd Volatility Indicator = StDev, and Distance for MA filter will be the maximum of ATR and StDev.



Volatility Filter

Volatility Filter Indicator

(starting from v2.15)

Indicator for the Volatility Filter:


Volatility Filter TimeFrame

TimeFrame for the Volatility Filter


Indicator Period

Selected Volatility indicator period


Transformation Period

(starting from v2.59)

Transformation period for Volatility filter.

If period is positive, volatility is calculated as indy_1 * indy_1 / indy_2 where:

  • indy_1 - is the selected volatility indicator with the selected period
  • indy_2 - is the selected volatility indicator with the selected transformation period

If period is negative, volatility is calculated as indy_1 / indy_2 (ratio of two indicators) (starting from v2.59.1)

For example, you can allow trades only when the fast (current) volatility is greater than the slow (long term) volatility (ratio >= Min Volatility)

Set 0 to disable this transformation.


Volatility Coefficient

(starting from v2.59)

If set, volatility value is multiplied by this coefficient.

Set 0 to disable this coefficient.


Min Volatility

Min volatility (in points) (what is a “point”?) or ratio (if Transformation period is negative) to allow new trade (both buy and sell).

Set 0 to disable minimum volatility value.


Max Volatility

Max volatility (in points) (what is a “point”?) or ratio (if Transformation period is negative) to allow new trade (both buy and sell).

Set 0 to disable maximum volatility value.

For example, if you set Volatility Indicator = ATR, and Volatility Period = 20, and Min Volatility (in points) = 10, you’ll have trades in the green zones only:


Smoothing Filter

Smoothing Volatility filter. Can be one of following:

  • Disable Smoothing Filter: filter disabled
  • Allow trade on growth (Volatility > MA): new trade is allowed only if the Volatility indicator is greater than MA based on it.
  • Allow trade on reduce (Volatility < MA): new trade is allowed only if the Volatility indicator is lower than MA based on it.


Smoothing Period

MA period for Smoothing Volatility filter



Fibo Filters

(starting from v2.17, improved in v2.24, improved in v2.25)

Type

Type of Fibo filter:

  • Disabled: Fibo filter disabled
  • On retracement:
    • BUYs are allowed if Trend is Bullish and Price <= FiboLevel
    • SELLs are allowed if Trend is Bearish and Price >= FiboLevel
  • On retracement + opposite direction:
    • BUYs are allowed if Trend is Bullish and Price <= FiboLevel or Trend is Bearish
    • SELLs are allowed if Trend is Bearish and Price >= FiboLevel or Trend is Bullish
  • On trend reversal:
    • BUYs are allowed if Trend is Bearish and Price <= FiboLevel
    • SELLs are allowed if Trend is Bullish and Price >= FiboLevel

Fibo retracement is placed automatically from the lowest Low to the highest High based on specified Bars number and TimeFrame.

Trend is Bullish means the highest High happened after the lowest Low:

Trend is Bearish means the highest High happened before the lowest Low:

FiboLevel is set by parameter.


Check Interval

Signal check frequency and price used:

  • Every bar of indy TF: check signal on every bar of the FIBO TimeFrame, use Close price of the last bar
  • Every tick: check signal on every tick, use Bid price
  • Every M1 bar: check signal every M1 bar, use Close price of the last M1 bar
  • Every M5 bar: check signal every M5 bar, use Close price of the last M5 bar
  • and so on…


Bars for range calculation

The number of bars used to find extremums.


MACD bars for extremums detection

(starting from v2.54)

You can use MACD for price extremums detection:

  • High extremum will be located on positive MACD waves,
  • Low extremums will be located on negative MACD waves.

Minimum wave width is defined by this parameter.

Set 0 to disable MACD extremums detection.


Fibo level

Fibo level used for signal


Use closed bars only

If Use closed bars only = true, FIBO levels recalculate every bar of selected TimeFrame. Otherwise, FIBO recalculates every tick.



Custom Indicators

(starting from v2.49)

Custom label

Short and understandable name of your custom indy to draw on the GUI, write to the expert logs and send via Grammy to your Telegram


Type

Custom indicator signal type. Can be one of the following:

  • Disabled: custom indicator signal disabled.

  • On arrow (non-empty buffer):
    • BUYs are allowed on every bar with some value in the Buy-buffer
    • SELLs are allowed on every bar with some value in the Sell-buffer

    Non-empty means any value. It can look like an arrow, like a line, like a histogram or even be invisible (calculation buffer).

  • On new arrow (non-empty after empty):
    • BUYs are allowed on the bar with some value in the Buy-buffer that follows a bar with an empty value the Buy-buffer
    • SELLs are allowed on the bar with some value in the Sell-buffer that follows a bar with an empty value in the Sell-buffer

    It can be an arrow, beginning of the line, first bar of histogram (after emptiness), etc..

  • In the direction of the last arrow:
    • BUYs are allowed if the last bar with some value in the Buy-buffer was later than the last bar with some value in the Sell-buffer
    • SELLs are allowed if the last bar with some value in the Sell-buffer was later than the last bar with some value in the Buy-buffer

    If both buffers are not empty on the same bar, both BUYs and SELLs are allowed after it.

    For example, if the latest arrow is UP, buys are allowed, if the latest arrow is DN, sells are allowed, and if there are both arrows on the same bar, both buys and sells are allowed after it.

  • Above/below the line/last arrow
    • BUYs are allowed if the close price is above the line/arrow in the Buy-buffer.
    • SELLs are allowed if the close price is below the line/arrow in the Sell-buffer.

    If the buffer is empty, the last bar with some value in the buffer is used.

  • On line/last arrow cross
    • BUYs are allowed on the bar where the close price crosses above the line/arrow in the Buy-buffer.
    • SELLs are allowed on the bar where the close price crosses below the line/arrow in the Sell-buffer.

    If the buffer is empty, the last bar with some value in the buffer is used. For arrows, only the first cross is used.

  • On lines cross:
    • BUYs are allowed on the bar where line from the Buy-buffer crosses above the line from the Sell-buffer
    • SELLs are allowed on the bar where line from the Buy-buffer crosses below the line from the Sell-buffer
  • On lines position:
    • BUYs are allowed on every bar where line from the Buy-buffer is above the line from the Sell-buffer
    • SELLs are allowed on every bar where line from the Buy-buffer is below the line from the Sell-buffer


TimeFrame

TimeFrame for the signal


Indicator path and name

Name of the indicator you want to use.

If it is located not in the “MQL5\Indicators" folder, the path should be specified too.

For example, if your indicator “SuperTrend.ex5” is in the “MQL5\Indicators\Market" folder, you should set the Indicator path and name = “Market\SuperTrend”.


Indicator parameters

Indicator parameters separated by commas.

Order and type of parameters must match the original order and type of indicator parameters.

String parameters must be enclosed in single quotes.

Starting from v2.58, you can use “INPUT_XX” macros to replace the parameter value with the special parameter that could be optimized.


Buy buffer number

Buy-buffer — is an indicator buffer with index Buy buffer number (numeration starts from 0)


Sell buffer number

Sell-buffer — is an indicator buffer with index Sell buffer number (numeration starts from 0)

Set -1 to use the same buffer index as for Buy.


Color buffer number and index

If both Buy color buffer number and Buy color index are set (>= 0), color filtering is applied for all values in Buy-buffer: if the value in the Buy color buffer number differs from Buy color index, value in Buy-buffer is considered as empty.

For example, if the indicator draws arrows for both buy and sell signals using buffer #0, and applies colors to these arrows using buffer #1 (first is green, means buy, second is red, means sell), you should set:

  • Signal type = On arrow / On new arrow
  • Buy buffer number = 0
  • Sell buffer number = 0
  • Buy color buffer number = 1
  • Sell color buffer number = 1
  • Buy color index = 0
  • and Sell color index = 1
    Thus, buy-signal will appear after the green arrow, and sell-signal — after red.


Another example: indicator draws color line and color arrows. If you open its settings, you will see the following:

If you go to source code, you can find something like this:

Buffer #0 (LineBuffer) corresponds to the line, buffer #1 (LineColors) — to the colors of the line.

Buffers #2 (UpBuffer) and #3 (DownBuffer) correspond to the arrows.

So, if you want to allow buys on the blue line and sells on the red line, you should set:

  • Signal type = On arrow (non-empty buffer)
  • Buy buffer number = 0
  • Sell buffer number = 0
  • Buy color buffer number = 1
  • Sell color buffer number = 1
  • Buy color index = 1 (because blue color index is 1, counting from 0)
  • and Sell color index = 0 (because red color index is 0, counting from 0)

Or, if you want to entry on the color arrows, you should set:

  • Signal type = On new arrow (non-empty after empty)
  • Buy buffer number = 2
  • Sell buffer number = 3
  • Buy color buffer number = -1 (no need to set, because arrows of different colors are in different buffers)
  • Sell color buffer number = -1 (no need to set, because arrows of different colors are in different buffers)
  • Buy color index = -1 (no need to set)
  • and Sell color index = -1 (no need to set)


Max/min level

If the value in the Buy-buffer is greater than Buy max level, it is considered as empty.

If the value in the Buy-buffer is less than Buy min level, it is considered as empty.

The same for Sell-buffer.

Levels can be used:

  • for Oscillator signals:
    • Stochastic in On new arrow (non-empty after empty) mode with Buy max = 20 / Sell min = 80 will generate signals on Main line cross levels 80 (sell) and 20 (buy)
  • for Trend filter signals:
    • MACD in On arrow (non-empty buffer) mode with Buy min = 0 / Sell max = 0 will filter all buys below 0 line and all sells above 0 level.

Set -999 to disable filtering by levels.


Reverse mode

Reverse all CustomIndy signals


Use bar

(starting from v2.59)

Number of the bar to use for the signal calculation.

0 means the current (unformed) bar, 1 means the previous (last formed) bar, 2 means the bar before the previous, etc.

Default value for CustomIndy is 1.


Short indicator name, Draw in subwindow

These parameters should be set for correct work of the CP GUI (show/hide indicator by clicking on signal label).

Short indicator name must match the indicator name as it is shown in the Data window.

Draw in subwindow must be set to True for all indicators that draw in sub-windows (oscillators, MACD, ADX, etc) and to False for others.


Allow negative and zero values

Set True for indicators that can contain 0 or negative value by design (for example, MACD).

Set False for indicators that draw arrows and fill empty values with zeros (not EMPTY_VALUE constant).


Optimization Inputs

(starting from v2.58)

Specifying Indicator parameters, you can put “INPUT_XX” instead of the actual value of the parameter. In this case, the value of the parameter will be taken from the special parameter “INPUT_XX” from this block.

For example, you can set “Indicator parameters” for MACD as “INPUT_01,INPUT_02,INPUT_03”, and set “INPUT_01” = 12, “INPUT_02” = 26, “INPUT_03” = 9 in this block. Then, if you want to optimize MACD parameters, you can optimize values of “INPUT_01”, “INPUT_02” and “INPUT_03”.



Spread Filter

Max current spread

(starting from v2.05)

Max spread (in points) (what is a “point”?) for positions opening.

Set 0 to disable the filter.


Max average spread, Seconds for averaging

(starting from v2.05)

Max average spread (in points) (what is a “point”?) for positions opening and the number of seconds to calculate it.

Set 0 to disable the filter.


Apply to first open

(starting from v2.49)

Set true to apply the spread filter to the open of the first position in a series.


Apply to martin

(starting from v2.49)

Set true to apply the spread filter to the open of the martingale and anti-martingale positions.


Apply to hedge

(starting from v2.59.6)

Set true to apply the spread filter to the open of the hedge positions.


Apply to close

(starting from v2.60.1)

Set true to apply the spread filter to the closing by StopLoss.