You are on page 1of 57

CommunityPower EA

CommunityPower EA 1
Development process 2
Quick start 4
Backtesting and Optimization 4
Expert parameters 5
Binance 5
Main 5
Lot 6
Hedge properties 7
Global account properties 8
Volatility for all parameters nominated in points 9
Pending Entry 11
Follow up 12
Martingale 15
Anti-Martingale 17
Partial close 19
Entry strategy 20
Signals and Filters 21
Time 34
News 35
Lines 36
GUI 36
Orders on chart 37
Notifications settings 38
Tester and optimization settings 39
GUI user guide 40
Known issues 43
How to support the project? 44
Recommended brokers 44
Recommended VPS 44
Accounts for backtesting in MT5 44
Versions history 46

1
Development process
CommunityPower — is the EA made by the community. So, what does the development
process look like?

1. We discuss all ideas in the Telegram group (in English).


Please, read the pinned message at first visit!

2. We add new suggestions to the UserEcho forum.

You must register and confirm the email (set the password) to add new
topics/comments.

To add your idea, go to the Suggestions section and press the New idea button.
Then add a Header, describe your idea (screenshots are very appreciated!), choose
Category and press Submit:

Please, check for possible duplicates before adding a new topic!

2
3. We vote for the suggestions to be implemented in the next version of EA on the
same UserEcho forum. To add your vote, open the topic, click “Thumb up” and
choose how much do you like this idea:

To cancel your vote just click on the votes number:

You must register and confirm the email (set the password) to have a voice.

4. After all, I implement new functions to the EA, upload it to the market, add a short
description to the Versions history and we go to the backtesting and optimization.

3
Quick start
Quick start guide is here.
Community strategies and set files are here.

Backtesting and Optimization


Please, do all your tests in the MetaTrader 5!
There are full ticks history available “from the box”, no “synchronization errors” and powerful
multi-threaded optimization in MetaTrader 5.

To test the EA, connect your MT5 to the broker you want to trade with (different brokers have
different quotes history!), open StrategyTester, select symbol, time interval, modelling mode,
adjust EA settings and press the Start button.

Modelling mode
● If TrailingStop and BreakEven disabled, and StopLoss/TakeProfit/Step size are
bigger than average M5 bar, you can use “1 minute OHLC” mode,
● Otherwise, please use “Every tick based on real ticks” mode.

4
Expert parameters

Binance
Starting from v2.41, you can trade on your Binance account using CP EA (MT5 only).

Custom account
balance (0 - use real
Binance balance)

Show virtual info on


the chart

Save virtual state on


every change

Main

Expert Id Uniq expert id (magic number)

Comment for positions.


Expert Comment
Leave empty to use “CommunityPower” comment.

Allowed direction: buy, sell or both.


Trade direction EA will not open first trade in disabled direction (but will open additional
trades).

Common TimeFrame for the following functions/parameters:


● New deal on the new bar
● Martin: New deal on the end of the bar only
Signal TimeFrame
● Martin: Min pause between trades
(starting from v2.09)
● Pending entry: Extremum bars
● Pending entry: Cancel after bars
● Pause after loss

If true, allows opening of the first deal only on the next bar after the
New deal on the new
previous deal in the same direction was closed.
bar
If false, the next deal can be opened on the same bar (if signal allows
(starting from v2.21)
opening).

Disables new trades if floating loss of positions opened by this EA (and


Max floating loss
manual positions, if “Manage manual trades” = true) reaches specified
(starting from v2.23)
value (in account currency). Set 0 to disable this limit.

Min margin level % Disables new trades if Account margin level reaches specified value (in
(starting from v2.31) %). Set 0 to disable this limit.

5
Commission size (in account currency per lot) for all calculations in the
EA (including BE level, current profit, etc).
Custom commission Overrides real commission size. Can be used for MT5 accounts with
(starting from v2.27) commission taken on opening and closing to help the EA calculate
current profit correctly.
Set 0 to use real commission size.

If true, EA manages trades opened by hands (with magic number = 0).


EA considers manual trades as it’s own, takes them into account for
Manage manual trades
Max trades limit, manages them by TrailingStop and BreakEven, etc.
If false, EA doesn’t take into account manual trades.

Lot

Lot size calculation type (applies to first trade in each series):


● Fixed lot: lot is fixed and regulated by Lot size parameter
● Risk per trade: deal closed by SL will damage the account by
a specified % of balance. Percent is regulated by the Lot risk
% parameter. This mode will work correctly only with disabled
martingale and enabled StopLoss!
● Margin percent use: lot calculates to use specified % of
margin. Percent is regulated by the Lot risk % parameter.
● Fixed size per 1000: lot size is specified for every 1000 units of
Lot type your account balance. For example, with Start lot = 0.1 you’ll
(starting from v2.10) have:
○ for balance $2000: 0.2 lots
○ for balance $1980: 0.1 lots (only 1 full thousand is
available)
○ for balance $700: 0.01 lots (min lot used because
balance size < 1000)
○ for balance 112 342: 11.20 lots
● Fixed size per 1000 USD: the same as Fixed size per 1000,
but converted to USD. So, if your account is in EUR or GBP
you’ll have a greater lot.

Lot size for Fixed lot, Fixed size per 1000 and Fixed size per 1000
Lot size
USD modes.

Lot risk %
Risk % for Risk per trade and Margin percent use modes.
(starting from v2.10)

Max lot EA can use for any deal.


Max lot
If 0, the limit is disabled.

Max lot calculated per 1000 units of account balance.


Max lot per 1000 For example, with balance 15000 USD and Max lot per 1000 = 0.1, max
(starting from v2.32) lot size for EA will be 15 * 0.1 = 1.5
Set 0 to disable the limit.

6
Hedge properties

If true:
● allows open buy when sell is opened,
● allows open sell when buy is opened.
Allow hedge
If false:
● skips all buy signals (first and martingale) when sell is opened,
● skips all sell signals (first and martingale) when buy is opened.

If there are X sell trades opened and buy signal appears, lot for the new
buy order will be calculated using these parameters.

Depending on Apply coefficient to:


● First opposite lot mode: lot for the first buy will be calculated
as “lot of first sell-order * Increase lot coefficient”
Increase hedge lot
If Auto-hedge after order enabled and auto-hedge signal
after order #,
comes and there is 1 or more buys already opened, lot will be
Increase lot
calculated as “corresponding sell lot * Increase lot
coefficient,
coefficient”. For example, if there are 4 sells and 1 buy and
Apply coefficient to
2nd buy is opening, lot will be “2nd sell lot * coefficient”.
(starting from v2.32)
● Last opposite lot mode: lot for the first buy will be calculated
as “lot of last sell-order * Increase lot coefficient”
● Sum opposite lots mode: lot for the first buy will be calculated
as “sum lot of all sell-orders * Increase lot coefficient”

Set Increase hedge lot after order = 0 to disable this feature.

Open buy position immediately after sell-order #X is opened without any


other signal. The same for sells.
Starting from v2.30, it always opens like market-order (even if Pending
enter is enabled).
Auto-hedge after order Starting from v2.32, hedge-order can be opened several times (with any
(starting from v2.25) new main order). Max number of hedges is limited by Max auto-hedge
orders number parameter.

Auto-hedge order can be opened within 60 seconds after main order


opening.

Max auto-hedge orders


number Max number of auto-hedge orders opened.
(starting from v2.32)

Open auto-hedge order when loss of the main series becomes specified
Auto-hedge on % from the current balance. Lot for the hedge order calculates using
DrawDown % settings listed above (Increase hedge lot after order #, Increase lot
(starting from v2.36) coefficient, Apply coefficient to).

7
Set 0 to disable this option.

Set true to close hedge-series by individual rules (SL, TP, TrailingStop,


Allow individual close etc).
(starting from v2.32) Set false to disable individual management (hedge trades will be closed
(removed in v2.33) with the main series (if enabled, see below) or by Close hedge partial
after order function.

Close with main series Set true to close hedge-series with the main series.
(starting from v2.32) Set false to leave the hedge-series open (it will be managed by
(removed in v2.33) individual rules).

Global account properties

Global Account TrailingStop (starting from v2.34)

Equity Trailing Stop (in account currency / in % from account balance).


Activates when profit of all opened positions (with all magic numbers,
opened by any EA or manually) reaches some value. Follows new
equity highs. Closes all opened positions when equity rolls back by the
same value.

For example, if you start with $1000 and set GA TrailingStop (account
currency) = 35, trailing is activated when equity becomes $1035. If
equity continues to grow, trailing follows. Let’s say equity becomes
$1095 and then go down. EA closes all positions when equity is $1060
(1095 - 35).
GA TrailingStop

Be careful — other EAs can't cooperate with CP EA correctly, so you


have a small chance of new positions opening before all positions are
closed by GA TS (in case of new opening signal of another EA happens
simultaneously with GA TS). So, please, test your EAs on
demo-accounts first.

Don’t activate this option for several EAs, you need to activate it only
once!

Set 0 to disable GA TrailingStop.

Global Account TakeProfit (starting from v2.31)

Profit of all opened positions (with all magic numbers, opened by any
EA or manually) that should be closed as soon as it is reached.

GA TakeProfit
Be careful — other EAs can't cooperate with CP EA correctly, so you
(account currency)
have a small chance of new positions opening before all positions are
closed by GA TP (in case of new opening signal of another EA happens
simultaneously with GA TP). So, please, test your EAs on

8
demo-accounts first.

Don’t activate this option for several EAs, you need to activate it only
once!

Set 0 to disable GA TakeProfit.

The same as GA TakeProfit (account currency) but in % from current


GA TakeProfit account balance.
(% from balance)
Set 0 to disable.

Global Account TargetProfit (starting from v2.31)

Target profit for the entire account. EA will close all positions when the
target level is reached. Then the target level will be moved by the
TargetProfit size (to the next level). Thus, EA will close positions every
X dollars earned. Restarts if all positions are closed (starting from
v2.34).

For example, if you start with $1000 and set GA TargetProfit = 25, EA
closes all positions as soon as equity becomes $1025, then at $1050,
$1075, $1100, and so on. Equity will not be exactly rounded to the
TargetProfit size because of price moves, slippages and execution
GA TargetProfit speed. So, progression could be like 1000 - 1026 - 1050 - 1074 - 1110.
(account currency)
Be careful — other EAs can't cooperate with CP EA correctly, so you
have a small chance of new positions opening before all positions are
closed by Global Account TP (in case of new opening signal of another
EA happens simultaneously with global TP). So, please, test your EAs
on demo-accounts first.

Don’t activate this option for several EAs, you need to activate it only
once!

Set 0 to disable GA TakeProfit..

The same as GA TargetProfit (account currency) but in % from the last


GA TargetProfit equity high.
(% from balance)
Set 0 to disable.

Volatility for all parameters nominated in points


What is a "point" in CP?

Starting from v2.31, you can set "Volatility for all parameters nominated in points", as
well as limit volatility min and max size:

9
Then you can set "calculation mode" for any parameter to "Coefficient to Volatility":

In this example, TrailingStop size will be calculated as "Current ATR * 1.5", Trailing Step will
be "ATR * 0.1".

You can set "calculation mode" for the following parameters:


● Pending entry: Distance to order and Cancel after distance
● StopLoss size
● TakeProfit size
● Min profit to close on signal
● Martingale Step size
● Anti-martingale Step size
● Anti-StopLoss size
● TrailingStop size
● Trailing Step
● Start trailing after

Indicator used for the Volatility calculation.


Can be one of the following:
● ATR
Volatility Indicator
● StDev
● ATR based on “Close-Open” (high and low prices not used)
● WATR
● (don’t use Volume mode for this block!)

TimeFrame and Period TimeFrame and Period of volatility indicator

Min and Max volatility Indicator value will be limited by these Min and Max values defined in

10
to use (points) points (What is a "point" in CP?) For example, if current StDev value is
0.00203 (20.3 points for EURUSD), and you set Min volatility to use =
25, EA will use 25 points as volatility size (and TrailingStop with
coefficient to volatility = 1.5 will be 25 * 1.5 = 37.5 points (not 20.3 * 1.5
= 30.45).

Set 0 to disable the limit.

Pending Entry
(starting from v2.09) (updated in v2.18)

Type of Pending entry:


● Pending entry disabled: first deal will be opened by market.
● Entry with STOP order: buy-stop / sell-stop orders will be set
Pending entry type
on signal.
● Entry with LIMIT order: buy-limit / sell-limit orders will be set
on signal.

Distance from the current price to the pending order.


Distance to order

If Extremum bars > 0, pending order open price will be based on the
price extremum (instead of current price):
● Buy-stop and sell-limit orders will be set on “Highest price of
Extremum bars
last Extremum bars + Distance to order”,
● Sell-stop and buy-limit orders will be set on “Lowest price of
last Extremum bars - Distance to order”.

Trailing mode for pendings:


● Disabled: pendings will not be moved
● Trail on signal: pendings will be moved only while signal is
active (oscillator in zone, filters allow this direction, etc.)
● Trail always: pendings will be moved till cancelation or
Trail pendings mode execution.

Order level calculates using Distance to order and Extremum bars


parameters and order moves to the new level only if the new level is
better than the previous one (lower — for buy-stops and sell-limits, or
higher — for sell-stops and buy-limits).

Cancel on opposite
Cancel order on the opposite oscillator signal.
signal
In 2.09 this behavior was regulated by the “Close on opposite signal” parameter.
(starting from v2.10)

Pending order will be canceled if distance to the current price is greater


Cancel after distance than specified distance.
Pending order will not be placed if the distance to current price is too

11
big.
Set 0 to disable cancelation after distance.

Pending order will be canceled after specified number of bars.


Cancel after bars
Set 0 to disable cancelation after bars.

Distance to order and Cancel after distance can be set:


● In points (What is a "point" in CP?)
Distance calc mode
● Like Coefficient to Volatility (volatility parameters must be set
correctly)

Enter by market if
Set true to disable Pending entry for buys if any sell position is open
opposite trade is open
and vice versa (buy will be opened by market if signal appears).
(starting from v2.37)

Delete if opposite
Set true to delete pending buy-order if any sell position is open and vice
trade is open
versa. New buy-order can be opened when the sell-position is closed.
(starting from v2.42)

Follow up

StopLoss

StopLoss for the last position in series (for the single position, if
StopLoss size
martingale disabled)

StopLoss mode:
● From average open price — SL based on weighted average
open price of all positions in the series.
StopLoss mode
● From last open price — SL based on the open price of the last
(starting from v2.20)
position in the series.
● From first open price — SL based on the open price of the
first position in the series.

StopLoss can be set:


● In points (What is a "point" in CP?)
StopLoss calc mode
● Like Coefficient to Volatility (volatility parameters must be set
correctly)

Sum StopLoss in Sum StopLoss for all positions opened by EA (excluding auto-hedge
account currency positions) in account currency.
(starting from v2.23) Set 0 to disable.

Sum StopLoss Sum StopLoss for all positions opened by EA (excluding auto-hedge
(% from balance) positions) in % from current balance.
(starting from v2.07) Set 0 to disable.

PauseAfterLoss Disables opening new first trades after closing by StopLoss or


(starting from v2.23) GlobalStopLoss. Specifies in bars of Signal TimeFrame.

12
Use virtual StopLoss Set true to close trades by market when SL level is reached.
(starting from v2.27) Set false to set the real SL for all orders (if possible).

TakeProfit

TakeProfit size TakeProfit size (In points or Like Coefficient to Volatility) (0 - disabled)

TakeProfit mode:
● From average open price — TP based on weighted average
open price of all positions in the series (price1*lot1 + price2*lot2
+ priceN*lotN)/(lot1 + lot2 + lotN).
● From last open price — TP based on the open price of the
last position in the series.
TakeProfit mode ● From first open price (starting from v2.20) — TP based on the
open price of the first position in the series.

Spread included. Sells are closed by Ask price. So, only when Ask
became <= TP must trigger.

Commission and swap also included.

TakeProfit can be set:


● In points (What is a "point" in CP?)
TakeProfit calc mode
● Like Coefficient to Volatility (volatility parameters must be set
correctly)

Reduce TP after
minutes and Reduce TakeProfit reduce coefficient for all orders. Activates after a certain
coefficient number of minutes have passed since first order opening.
(starting from v2.23)

TakeProfit reduce size and coefficient for every order in series.


If enabled, TP for each next order in the series will be reduced by
specified “reduce size”. This size will be also multiplied by “reduce
coefficient” for each next stage too.

For example, with TakeProfit = 50, reduce size = 10 and reduce coeff =
1.1 you will have the following series:
Reduce TP for every ● For the 1st deal TP will be = 50 points
order: ● For 2 deals: 50 - 10 = 40
- Reduce size, ● For 3 deals: 50 - 10*1.1 = 29
- Reduce coefficient, ● For 4 deals: 50 - 10 - 10*1.1 - 10*1.1*1.1 = 16.9
- Min TakeProfit size ● For 5 deals: 50 - 10 - 10*1.1 - 10*1.1*1.1 - 10*1.1*1.1*1.1 = 3.6
(starting from v2.11) ● And so on (-11 for 6 deals, -27.2 for 7 deals)

TakeProfit can’t be less than Min TakeProfit size (points) (What is a


"point" in CP?).

For example, if you set Min TakeProfit size = 20, for all deals from the
last example, starting from 4th TP will be = 20 (16.9 is less than 20, so
will be replaced).

13
Min TakeProfit size can be negative. So, you can limit it to -5 or -20
points.

Sum TakeProfit Sum TakeProfit for all positions opened by EA (excluding auto-hedge
(% from balance) positions) in % from current balance.
(starting from v2.17) Set 0 to disable.

Sum TakeProfit Sum TakeProfit for all positions opened by EA (excluding auto-hedge
(account currency) positions) in account currency.
(starting from v2.35) Set 0 to disable.

Sum TakeProfit works


if both buy and sell are Set this parameter to true to activate Sum TakeProfit if both buy and sell
open trades are opened.
(starting from v2.35)

Min profit to close on


When you select "Close in profit only" mode for any signal, it will close
signal
the series with profit >= X only (was >= 0 in previous versions).
(starting from v2.20)

Min profit can be set:


● In points (What is a "point" in CP?)
Min profit calc mode
● Like Coefficient to Volatility (volatility parameters must be set
correctly)

Use virtual TakeProfit Set true to close trades by market when TP level is reached.
(starting from v2.27) Set false to set the real TP for all orders (if possible).

TrailingStop

TrailingStop size Trailing stop size (0 - disabled)

Trailing Step
Minimal step to move the StopLoss
(starting from v2.16)

Trailing activated after profit = Start trailing after.


Start trailing after
If 0, trailing activated after profit = Trailing stop size.

TrailingStop mode:
● From average open price — TS based on average open price
of all positions in the series;
TrailingStop mode ● From last open price — TS based on the open price of the
last position in the series.
● From first open price (starting from v2.20) — TS based on the
open price of the first position in the series.

TrailingStop, TrailingStep and Start trailing after can be set:


● In points (What is a "point" in CP?)
TrailingStop calc mode
● Like Coefficient to Volatility (volatility parameters must be set
correctly)

14
Martingale

Martingale type
Type of martingale strategy used. Can be enabled or disabled.
(starting from v2.01)

Max trades in one


Max deals in series.
direction

If enabled, Step condition is checked using last bar Close price (+


New deal on the end of
current spread for buy-orders).
the bar only
So, only 1 trade per bar is allowed and all trades are opened on the
(starting from v2.20)
beginning of the bar.

Min pause between Martingale deal can be opened only if previous trade in this direction
trades (in bars of was opened at least Min pause bars before (bars from Signal
Signal TF) TimeFrame are used).
(starting from v2.18) Set 0 to disable this filter.

Can be one of the following:


● Sum: previous lot + adding [1-2-3-4-5-...]
● Fibo: previous lot + pre-previous lot [1-1-2-3-5-8-...]
● Martin: previous lot * coeff [1-2-4-8-16-...]
● Martin Sum (starting from v2.29): previous lots sum * coeff
[1-2-6-18-54-...]
● Logistic Growth (starting from v2.30): lot is calculated using
Lot increasing mode
logistic growth formula (between Start Lot and Max Lot with
(starting from v2.20)
average size at order x0, where x0 is specified by parameter
“Lot coefficient / adding / x0”)
● Soft Martin (starting from v2.32): previous lot * coeff - previous lot
[1-1-2-4-8-...] (details are here)
● Custom lot coefficients (starting from v2.33): user-defined
coefficient sequence (see Custom lot coefficients parameter
below)

Lot coefficient / adding


Lot coefficient / adding / x0 for 2nd and next deals lot calculation.
/ x0

User-defined coefficient sequence for Custom lot coefficients


increasing mode. Coefficients should be separated by comma. Max
Custom lot
allowed string length — 63 symbols.
coefficients
(starting from v2.33)
For example: sequence “1.0,2.0,3.0” with start lot 0.1 will cause a series
with lots: 0.1 (first deal) - 0.1 - 0.2 - 0.3 - 0.3 - 0.3 - ...

Step size Step size (in points or like coefficient to Volatility)

Step can be set:


Step size calc mode ● In points (What is a "point" in CP?)
(starting from v2.31) ● Like Coefficient to Volatility (volatility parameters must be set
correctly)

15
Step increase coefficient for 2nd and all next martingale deals.
Step increase For example, with Step size = 20 points and Step increase coefficient
coefficient = 1.5, distances between orders in martingale series will be 20 - 30 - 45
- 67.5 - 101.3 and so on

Custom coefficients (comma separated) for 2nd and all next martingale
deals. For example, with Step size = 20 points and Custom step
coefficients = “1.5,2.5,5.0”, distances between orders in martingale
series will be 20 - 30 - 50 - 100 - 100 and so on (last coefficient applied
to all following steps.

Custom step
If both Step increase coefficient and Custom step coefficients are
coefficients
set, Step increase coefficient is applied first and then Custom step
(starting from v2.36)
coefficients are applied. For example, with Step size = 20 points, Step
increase coefficient = 1.5 and Custom step coefficients =
“1.5,2.5,5.0”, distances between orders in martingale series will be 20 -
45 - 112.5 - 337.5 - 506.5 and so on.

Set empty value to disable Custom step coefficients.

Min step size (points) Minimum step size (in points) (What is a "point" in CP?).
(starting from v2.29) Calculated step can’t be smaller than the Min step size value.

Break even

Close all orders when your series containing a specified number of


orders reaches Break Even.

Close on BreakEven
For example, if Close on BreakEven after order # = 2, and if you have
after order #
2 or more deals opened in one direction, they will be closed as soon as
(starting from v2.18)
they become profitable.

Set 0 to disable this function.

BreakEven min profit Min profit size to close series on BreakEven after order (in points)
(starting from v2.27) (What is a "point" in CP?).

Send a message to Grammy when your series containing a specified


number of orders reached Break Even. One alert for each series length.

For example, if BreakEven Alert after order # = 3, and if you have 3 or


BreakEven Alert
more deals opened in one direction, you’ll have a message as soon as
(starting from v2.11)
these orders become profitable. You will not have a message if the
opened series is shorter than 3 orders.

Set 0 to disable BreakEven alert.

Apply martin to the new deals

Apply martin after


Increase lot of the first deal of the new series (opened on signal) after
closed loss
loss is closed. EA will apply martingale till profit becomes positive.
(starting from v2.07)

16
To start again with Start lot on account with loss, set new Magic
number.

Anti-Martingale
(starting from v2.12)
New type of exit in profit: instead of fixed TP or closing by opposite signal, EA will open new
deals in the same direction, but on the profit side. After each new deal is opened, SL is
moved to the new level.

Anti-martingale type Type of anti-martingale strategy used. Can be enabled or disabled.

Max trades Max anti-martingale deals in series.

Can be one of the following:


● Sum: previous lot + adding [1-2-3-4-5-...]
● Fibo: previous lot + pre-previous lot [1-1-2-3-5-8-...]
● Martin: previous lot * coeff [1-2-4-8-16-...]
● Martin Sum (starting from v2.29): previous lots sum * coeff
[1-2-6-18-54-...]
● Logistic Growth (starting from v2.30): lot is calculated using
Lot increasing mode
logistic growth formula (between Start Lot and Max Lot with
(starting from v2.20)
average size at order x0, where x0 is specified by parameter
“Lot coefficient / adding / x0”)
● Soft Martin (starting from v2.32): previous lot * coeff - previous lot
[1-1-2-4-8-...] (details are here)
● Custom lot coefficients (starting from v2.33): user-defined
coefficient sequence (see Custom lot coefficients parameter
below)

Lot coefficient / adding


Lot coefficient / adding / x0 for 2nd and next deals lot calculation.
/ x0

User-defined coefficient sequence for Custom lot coefficients


increasing mode. Coefficients should be separated by comma. Max
Custom lot
allowed string length — 63 symbols.
coefficients
(starting from v2.33)
For example: sequence “1.0,2.0,3.0” with start lot 0.1 will cause a series
with lots: 0.1 (first deal) - 0.1 - 0.2 - 0.3 - 0.3 - 0.3 - ...

Step size Step size (in points or like coefficient to Volatility)

Step can be set:


Step size calc mode ● In points (What is a "point" in CP?)
(starting from v2.31) ● Like Coefficient to Volatility (volatility parameters must be set
correctly)

Step increase Step increase coefficient for 2nd and all next martingale deals.

17
coefficient For example, with Step size = 20 points and Step increase coefficient
= 1.5, distances between orders in martingale series will be 20 - 30 - 45
- 68 and so on

Min step size (points) Minimum step size (in points) (What is a "point" in CP?).
(starting from v2.29) Calculated step can’t be smaller than the Min step size value.

Anti-StopLoss

StopLoss applies to the series after the anti-martingale strategy is


Anti-StopLoss size activated (2nd order in series is opened).
Can be negative (when calculated from average price) (starting from v2.20)

Anti-StopLoss reduce size and coefficient.


If enabled, SL for each next anti-martingale order in the series will be
reduced by specified “reduce size”. This size will be also multiplied by
“reduce coefficient” for each next stage too.

For example, with Anti-StopLoss = 50, reduce size = 10 and reduce


coeff = 1.1 you will have the following series:
● For the 1st deal SL will be = 50 points
Anti-StopLoss reduce ● For 2 deals: 50 - 10 = 40
size, Anti-StopLoss ● For 3 deals: 50 - 10*1.1 = 29
reduce coefficient and ● For 4 deals: 50 - 10 - 10*1.1 - 10*1.1*1.1 = 16.9
Min Anti-StopLoss size ● For 5 deals: 50 - 10 - 10*1.1 - 10*1.1*1.1 - 10*1.1*1.1*1.1 = 3.6
(starting from v2.20) ● And so on (-11 for 6 deals, -27.2 for 7 deals)

Anti-StopLoss can’t be less than Min Anti-StopLoss size (points)


(What is a "point" in CP?).

For example, if you set Min Anti-StopLoss size = 20, for all deals from
the last example, starting from 4th SL will be = 20 (16.9 is less than 20,
so will be replaced).
Anti-StopLoss size can be negative.

Anti-StopLoss mode:
● From average open price — SL based on weighted average
open price of all positions in the series.
Anti-StopLoss mode
● From last open price — SL based on the open price of the last
(starting from v2.20)
position in the series.
● From first open price — SL based on the open price of the
first position in the series.

Can be:
Anti-StopLoss calc
● In points (What is a "point" in CP?)
mode
● Like Coefficient to Volatility (volatility parameters must be set
(starting from v2.31)
correctly)

Allow TakeProfit for


Set true to enable simple TakeProfit for series with anti-martingale trade
anti-martin trades
open.
(starting from v2.37)

18
Allow both Martin and Anti-martin

Allow both Martin and


Set true to allow martingale deals if any anti-martingale deal is opened
Anti-martin
and vice versa.
(starting from v2.32)

Partial close

Partial close

Close some orders in the same direction (the last one and the first one,
for example) if they sum profit is big enough (>= Min profit to close),
the series is long enough (orders number >= Close partial after order
Close partial after #) and there is a signal for partial close (“Partial close on” parameter in
order # and Min profit each filter settings).
to close (in account
currency / in% from Min profit can be defined in account currency, in % from current balance
balance) (starting from v2.23), or using both limits (greater will be taken into
(starting from v2.20) account).

Be careful, EA will reopen the last martingale order if the series is not
totally closed, and lots will continue to increase.

Percent of losing order that can be closed with profit by Partial close.
For example, there are 2 deals opened:
1. buy-order 1.4 lots with profit +50
2. buy-order 1.2 lots with loss -80
Min part of losing
With Min profit to close = 10 we can close only 50% (0.6 lots) of losing
order to close (%)
order, and have +50 - 40 = +10 total profit. So, if Min part of losing
(starting from v2.32)
order to close = 50% or less, orders will be closed.

By default, only the entire order can be closed (Min part of losing
order to close = 100%). Value of 0 also disables this function.

Partial close hedge (starting from v2.32)

Close some opposite direction orders (the last buy and the first sell,
Close partial after for example) if they sum profit is big enough (>= Min profit to close)
order # and the series is long enough (orders number >= Close partial after
Min profit to close (in order #).
account currency / in%
from balance / in % Min profit can be defined in account currency, in % from current
from opposite loss) balance, in % from opposite order loss, or using all 3 limits (greater will
be taken into account).

Close main series by


Allow partial close of opposite main series with total profit (all other
opposite main series
partial close parameters also work for this mode)
(starting from v2.36)

19
False: close a winning order from a series with fewer orders with losing
orders from a series with more orders.
Allow close both ways
True: allow close both ways (profitable order from a series with more
orders with losing orders from a series with fewer orders, as well).

Max profitable orders Max number of profitable orders that can be used for partial close
to close hedge. Set 0 to disable this limit.

Min part of losing Percent of losing order that can be closed with profit by Partial close.
order to close (%) The same as for Partial close of one-side orders.

Entry strategy

You can set up opening of the first deal:


● by one or more individual signals/filters,
● by several signals/filters showing the same direction,
● by several signals/filters showing the same direction or just
confirming it (not showing the opposite one).

If Open on Individual signal mode is selected for any signal, a deal is


opened by this signal any time it happens. So, it is an independent
signal for opening.
You can set several individual signals, and deals will be opened on
"Open on" parameter
each signal.
for each filter
(starting from v2.19)
In Open on Collective signal mode all selected “Collective” signals
must show the same direction to open the deal. Individual signals are
ignored for this set of signals (but continue to work individually).

Open on Collective signal (neutral signals accepted) mode works


like previous, but selected filters/signals should just not show the
opposite direction to allow the opening. For example, if Stochastic
Inside zone signal selected with Levels 70/30, Collective signal will
allow BUY if Stochastic <= 30, but Collective neutral signal — if
Stochastic < 70 (will disable BUYs if Stoch >= 70).

You can set up the opening of the martingale deals in the same way as
the first deals opening. Signals for martingale deals can differ from
"Open martin on"
signals for the first deals.
parameter for each
filter
If all “Open martin on” parameters are set to “Don't use for open”,
(starting from v2.20)
martingale deals are opened without any signal (but taking into account
Step size and other martingale parameters, of course).

"Open hedge on"


parameter for each The same as “Open martin on”, but for auto-hedge deals.
filter

20
(starting from v2.36)

You can set up closing by individual signal/filter or by several filters


showing the same signal. Both modes can be used with "in profit only"
option.

For example, you can set Oscillator signal, TDI and MA filters, and
"Close on" parameter
close deals in profit on opposite MA signal or on opposite Oscillator +
for each filter
TDI signal with or without profit. To do this, set "Close on = Individual
(starting from v2.16)
signal, in profit only" for MA filter and "Close on = Collective signal" for
Oscillator and TDI.

Close signal — is an opposite signal of the filter. So, buy will be closed
when the filter allows sell opening.

Starting from v2.21, if all signals are disabled (or none of “Open on” parameters are
enabled), EA will trade both ways. So, you can open both buy and sell on the same bar and
just manage them with trailing, martingale, or any other option.

Signals and Filters

Big candle filter

Big candle filter analyzes candle size (current or previous, depending


on Analyze current bar parameter) from the specified timeframe.

Can work in one of following modes:


Big candle filter type ● Disabled: filter disabled
Big candle size ● Big candle in any direction: both BUYs and SELLs are
Big candle TimeFrame allowed only if High - Low >= Big candle size
Analyze current bar ● Co-directional big candle only:
(starting from v2.12) ○ BUYs are allowed if High - Open >= Big candle size
○ SELLs are allowed if Open - Low >= Big candle size
● Opposite big candle only:
○ BUYs are allowed if Open - Low >= Big candle size
○ SELLs are allowed if High - Open >= Big candle size

Oscillator filters #1-3

Type of oscillator signal:


● Disabled: filter disabled.
● Inside zone:
Filter type ○ BUYs are allowed if oscillator <= LevelDn
○ SELLs are allowed if oscillator >= LevelUp
● Cross In:
○ BUYs are allowed when oscillator crosses LevelDn

21
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 it's line below the LevelDn
○ SELLs are allowed when oscillator crosses MA based
on it's line above the LevelUp
● MA above/below (starting from 2.35):
○ BUYs are allowed if oscillator > MA based on it's line
and <= LevelDn
○ SELLs are allowed when oscillator < MA based on it's
line and >= LevelUp

Indicator used to find the signal.


Can be one of the following:
● CCI
● WPR
Indicator
● RSI
● Stochastic K
● Stochastic D (starting from v2.21)
● Momentum (starting from v2.16)

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
Stochastic parameters
period and Price

Level UP Signal level for sell signals.

Signal level for buy signals.

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


Level DN optimization). For Stochastic and RSI level is mirrored from 50:
(-999 - calculate ● Up = 90 ---> Dn = 10
automatically) ● Up = 70 ---> Dn = 30
● Up = 50 ---> Dn = 50
For WPR — from -50:
● Up = -10 ---> Dn = -90

22
● 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 If true, buy signals replaced by sell signals and vice versa.

Use only closed (formed) bars. If true, the signal can’t change in the
Use closed bars only
middle of the bar.
(starting from v2.35)
Default value for Oscillator filters is True.

IdentifyTrend filter

BUYs are allowed if IdentifyTrend is blue


SELLs are allowed if IdentifyTrend is red
Indicator values are taken from the previous (formed) bar of
Enable IdentifyTrend IdentifyTrend TimeFrame.
filter
(starting from v2.03) 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 for the IdentifyTrend filter
TimeFrame

IdentifyTrend Price
Price and period for IdentifyTrend calculation
IdentifyTrend Period

IdentifyTrend Reverse
Reverse all IdentifyTrend signals (Buy on Red and Sell on Blue)
mode (starting from v2.14)

IdentifyTrend use Use only closed (formed) bars. If true, the signal can’t change in the
closed bars only middle of the bar.
(starting from v2.14) Default value for IdentifyTrend is False.

TDI filter (starting from v1.01)

TDI filter type, can be one of the following:


● Disabled — TDI filter is disabled
● Market Base Line > Signal Level:
TDI filter mode ○ BUYs are allowed if TDI yellow line is >= Signal level
(starting from v2.27) ○ SELLs are allowed if TDI yellow line is <= Signal level

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

TDI TimeFrame TimeFrame for the TDI filter

Signal level Signal level for signal calculation

23
(starting from v2.27)

RSI period and price


RSI smoothing period
and method
Signal smoothing
TDI indicator parameters
period and method
Volatility bands period
Standard Deviations
(starting from v2.27)

TDI Reverse mode


Reverse all TDI signals (Buy <= 50 and Sell >= 50)
(starting from v2.14)

Use only closed (formed) bars. If true, the signal can’t change in the
TDI use closed bars
middle of the bar.
only (starting from v2.14)
Default value for TDI is True.

MACD filter

Type of MACD filter (Peace filter before v.2.16):


● Disabled: MACD filter disabled
● Buy on Main > 0 / Sell on Main < 0:
○ BUYs are allowed if MACD histogram > 0
○ SELLs are allowed if MACD histogram < 0
● 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
MACD filter Type line
(starting from v2.16) ○ 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 0
○ SELLs are allowed on the bar where MACD histogram
crosses MACD Signal line downwards above the 0
● Buy on Signal > 0 / Sell on Signal < 0 (starting from 2.35):
○ BUYs are allowed if MACD signal line > 0
○ SELLs are allowed if MACD signal line < 0
● Buy on Main > Signal and Signal < 0 / Sell on Main < Signal

24
and Signal > 0 (starting from 2.35):
○ BUYs are allowed if MACD histogram > MACD Signal
line and MACD signal line < 0
○ SELLs are allowed if MACD histogram < MACD Signal
line and MACD signal line > 0

MACD TimeFrame TimeFrame for the MACD filter

MACD Fast period


MACD Fast method
MACD Slow period
MACD Slow method MACD indicator parameters
MACD Signal period
MACD Signal method
MACD Applied price

MACD Reverse mode


Reverse all MACD signals
(starting from v2.14)

Use only closed (formed) bars. If true, the signal can’t change in the
MACD use closed bars
middle of the bar.
only (starting from v2.14)
Default value for MACD is True.

DTrend filter (starting from v2.35)

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
Type ● 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
○ ELLs are allowed if indicator starts to fall

TimeFrame TimeFrame for the DTrend filter

MA1 period
MA2 period
DTrend indicator parameters
D period
Scalar

Signal level Level value for “Buy > level / Sell < -level” mode

Reverse mode Reverse all DTrend signals

Use only closed (formed) bars. If true, the signal can’t change in the
Use closed bars only middle of the bar.
Default value for DTrend is False.

25
Parabolic SAR filter (starting from v2.29)

Type of Parabolic filter:


● Disabled: filter disabled
● Direction:
○ BUYs are allowed if price is above the Parabolic
Signal Type ○ 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
Parabolic indicator parameters
Maximum

Reverse mode Reverse all Parabolic signals

MA Filters (starting from v2.15)

Type of MA filter:
● Disabled: MA filter disabled
● Buy below MA / Sell above MA:
○ BUYs are allowed if MA - Ask >= Distance
○ SELLs are allowed if Bid - MA >= Distance
● Buy above MA / Sell below MA:
○ BUYs are allowed if Ask - MA >= Distance
○ SELLs are allowed if MA - Bid >= Distance
● Buy on cross DN / Sell on cross UP:
○ BUYs are allowed if:
■ MA - Ask >= Distance [on current bar];
MA Filter Type ■ MA - Low < Distance [on previous bar].
○ SELLs are allowed if:
■ Bid - MA >= Distance [on current bar];
■ High - MA < Distance [on previous bar].
● Buy on cross UP / Sell on cross DN::
○ BUYs are allowed if:
■ Ask - MA >= Distance [on current bar];
■ High - MA < Distance [on previous bar].
○ SELLs are allowed if:
■ MA - Bid >= Distance [on current bar];
■ MA - Low < Distance [on previous bar].

TimeFrame TimeFrame for MA filter

MA Period
MA Method MA properties
Applied price

Distance type Distance calculation type:

26
● In points: fixed distance in points is used (What is a "point" in
CP?)
● Volatility * Coefficient: distance is calculated as “current
volatility * Coefficient”

Distance size for signal calculation.


Distance size (Points /
Coefficient) 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).

ZigZag Filter (starting from v2.30)

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

ZZ filter type

○ SELLs are allowed on the bar breaking DOWN the last


formed extremum of ZZ:

27
● 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:

28
● 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:

29
● 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

Period
Min Amplitude ZZ properties
Min Motion

Distance calculation type:


Distance type
● In points: fixed distance in points is used (What is a "point" in

30
CP?)
● 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 for signal calculation.


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

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

Use previous
unbroken extremums
(starting from v2.43)

Reverse mode Reverse all ZZ signals

Use only closed (formed) bars.


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

Visualize levels
Fill rectangle
ZZ signal visualization parameters.
Color UP
Enable visualization to understand signals better.
Color DN
(starting from v2.43)

Volatility for MA and ZZ Filters distance (starting from v2.15)

Indicator used for the Distance calculation for the MA and ZZ Filters.
Can be one of the following:
Volatility Indicator ● ATR
● StDev
● ATR based on “Close-Open” (high and low prices not used)
● WATR

TimeFrame and Period TimeFrame and Period of volatility indicator

Volatility Filter

Indicator for the Volatility Filter:


● Disabled: Volatility Filter disabled
Volatility Filter ● ATR
Indicator ● StDev
(starting from v2.15) ● ATR based on “Close-Open” (high and low prices not used)
● WATR
● Tick volume (starting from v2.29)

Volatility Filter
TimeFrame for the Volatility Filter
TimeFrame

Indicator Period Selected Volatility indicator period

Min Volatility Min volatility (in points) (What is a "point" in CP?) to allow new trade

32
(both buy and sell).
Set 0 to disable minimum volatility value.

Max volatility (in points) (What is a "point" in CP?) to allow new trade
Max Volatility (both buy and sell).
Set 0 to disable maximum volatility value.

Smoothing Volatility filter. Can be one of following:


● Disable Smoothing Filter: filter disabled
● Allow trade on growth (Volatility > MA): new trade is allowed
Smoothing Filter
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 and v2.25)

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
Type ○ 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 lowest Low to highest


High based on specified Bars number and TimeFrame.

Trend is Bullish means highest High happened after lowest Low:

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

FiboLevel is set by parameter.

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;
Check Interval ● 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


The number of bars used to find extremums.
calculation

Fibo level Fibo level used for signal

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

34
Spread Filter

Max current spread Max spread (in points) (What is a "point" in CP?) for positions opening.
(starting from v2.05) Set 0 to disable the filter.

Max average spread Max average spread (in points) (What is a "point" in CP?) for positions
Seconds for averaging opening and the number of seconds to calculate it.
(starting from v2.05) Set 0 to disable the filter.

Time
(starting from v2.04)
All settings are in GMT time corrected with selected DST mode.
Please, set correct DST mode and GMT offset while testing (How to?)

Mode of schedule:
● Schedule disabled: none of the time settings work
● Apply to the first entry only: the schedule applies to the first
Apply schedule to deal opening only
(starting from v2.25) ● Apply to all new trades: the schedule applies to all openings
(including martin and anti-martin)
● Apply to all trade operations: the schedule applies to all
trading operations (excluding closing time)

DST mode of your broker:


● Disable DST
● DST Europe (last Sunday of March / last Sunday of October)
DST mode ● DST USA (2nd Sunday of March / 1st Sunday of November)
● DST Australia (1st Sunday of April / 1st Sunday of October)
● DST New Zealand (1st Sunday of April / last Sunday of
September)

GMT offset for StrategyTester.


Ask your broker what GMT offset and DST mode he uses.
GMT offset

How to set the correct GMT and DST for your broker?

Start time for every day.


EveryDay start
First trade opens only within the “start time - end time” interval.
hour/minute
If disabled, work time starts at 00:00

End time for every day.


EveryDay end
First trade opens only within the “start time - end time” interval.
hour/minute
If disabled, work time ends at 23:59

EveryDay close
Close time for every day.
hour/minute
EA will close all open deals at this time.
(starting from v2.25)

35
Friday stop End time for Friday (can differs from EveryDay end time).
hour/minute EA will not open new first trades after this time on Friday.

Close time for Friday.


Friday close
EA will close all opened deals at this time on Friday (if trading is still
hour/minute
enabled).

Custom Schedule for Individual schedule for each day.


each day Works if “Enable Custom Schedule” = true only.
(starting from v2.25) Set equal start and end hour/minute to disable the whole day.

Last December day to Last day of December when trade is allowed.


trade Set 0 to disable this filter.

First January day to First day of January when trade is allowed.


trade Set 0 to disable this filter.

News
(starting from v2.29)

How to set up the News filter?

Can be one of the following:


● News disabled — news filter disabled, news don’t draw on the
chart.
● News time as a filter — news filter active, news can be drawn
on the chart. News time applied as a filter.
For example, if you set Open on, EA will trade in specified time
News filter mode intervals around news releases and will not trade out of these
intervals.
● No news time as a filter — news filter active, news can be
drawn on the chart. No news time applied as a filter.
For example, if you set Open on, EA will NOT trade in specified
time intervals around news releases and will trade out of these
intervals.

Currencies to filter the news. For example, “GBP,AUD,CAD”.


Currencies Set “auto” to automatically select currencies from the symbol expert is
working on.

High-impact Use news with high impact

Medium-impact Use news with medium impact

Low-impact Use news with low impact

Holidays Use news with none impact (Holidays and non-economic news)

36
Key-words separated by comma to filter the news. Case sensitive.
Include key-words For example, “Nonfarm,Speech,Trade Balance”.
Leave empty not to filter the news by name.

Minutes before
Time interval around the news release when “news time” is active.
Minutes after

Visualization properties

true - draw news lines on the chart by default


Show on chart
false - don’t draw

Previous events line


style
Lines style for past and future news
Future events line
style

High impact color


Medium impact color
Low impact color Colors for different news impact
No impact (holidays)
color

Lines
(starting from v2.04)
You are able to draw StopLoss, TakeProfit, BreakEven and NextOrder levels on the chart.
Each level can be configured with following parameters:

Line width.
Width
Set 0 to disable drawing this type of lines.

Style Line style (works with width = 1 only)

Color BUY Color for the line corresponding to BUY orders

Color SELL Color for the line corresponding to SELL orders

GUI
(starting from v2.14)
You can activate the trading and signals panel (look at GUI user guide for details). Available
parameters to customize GUI:

Enable panel Show panel on chart

37
Font name Font name for all text labels and buttons

Window transparency Transparency for all elements of the panel (0-255)

Show signals panel.


Show signals
Only activated signals and filters will be shown.

Signals background
color Signals background and text color
Signals text color

Buy/Sell block colors:


background, buttons
(pressed and All colors used in Buy and Sell trading blocks.
unpressed), borders and
text

Orders on chart
(starting from v2.28)
You can enable drawing of the EA orders on the chart and toggle it by button on the expert
panel (look at GUI user guide for details). EA draws only trades with a magic number equal
to the Expert Id set in the properties (and manually opened trades, if Manage manual = true).

Available parameters:
Show OPENED deals:
● Disabled — don’t draw any opened positions on chart,
● Trend lines from open to current price — draw trend line for
every open position,
● Horizontal lines like in MT — draw horizontal line for every
open position,
● Trend lines + Horizontal lines — draw both horizontal and
Main properties trend lines for every open position.

Show CLOSED deals — true / false.

Show PENDING orders — true / false.

Max history deals — draw only last X deals from history (0 - disable
limit).

Color for:
● Open arrows,
● Profitable trades (lines and arrows),
Color properties
● Losing trades (lines and arrows).

Each color can be set for Buys and Sells separately.

38
Profit labels properties:
● Show profit in money — show profit in account currency,
● Show profit in points — show profit in points,
● Show profit in percent — show profit in percent to account
Profit properties balance,
● Aggregate profit for opened positions — aggregate all
opened positions into one profit label,
● Number of digits to show — decimal digits for profit in points
● Font name and size — font properties.

Draw style properties:


● Open-Close lines width (0 - don't draw)
● Open-Close lines style
● Open price labels width (0 - don't draw)
● Close price labels width (0 - don't draw)
Style properties
● Show SL and TP dashes
● SL and TP vertical lines width (0 - don't draw)
● SL and TP vertical lines style
● Expiration lines width (0 - don't draw)
● Expiration lines style

Notifications settings
(starting from v2.26)
You can set any sound for any opening and closing signals:

If true, EA sends additional messages and screenshots to the Telegram


Allow messages to
channel using Grammy (Grammy must be launched on the same
Grammy
terminal and configured, of course).

Enable alert on first Show alert on every first signal (even if trading is disabled or ‘first’
signal checkbox is unchecked)

Enable sounds Enable sounds

The name of the sound file that will be played when the first signal
happens. Sound will be played even if trading is disabled or ‘first’
First signal sound checkbox is unchecked.
name
The file must be located in terminal_directory\Sounds or its
sub-directory. Only WAV files are played.

Martin opening sound The name of the sound file that will be played when the martingale
name trade is opened

Anti-martin opening The name of the sound file that will be played when the anti-martingale
sound name trade is opened

Closing sound name The name of the sound file that will be played when trade is closed

39
Tester and optimization settings

Tester withdrawal (starting from v2.37)

● Disabled — don’t use tester withdrawal.


● Withdraw percent of profit — withdraw specified percent of
profit. For example, you set to withdraw 50% every day. If you
have a profit of $50 at the end of the day, $25 is withdrawn.
Set 100% to withdraw all profits you made.
● Withdraw fixed amount — withdraw specified amount of profit
Withdrawal type (in your account currency). For example, you set to withdraw
$45 every day. If you have a profit of $50 at the end of the day,
$45 is withdrawn.

Withdrawal amount can’t be more than the profit made since the last
withdrawal! For example, if you set to withdraw $45 every day but only
$10 is made at the end of the day, only $10 is withdrawn.

Frequency of withdrawals:
● Withdraw every day
● Withdraw every week
Withdrawal frequency
● Withdraw every month
● Withdraw every quarter
● Withdraw every year

Withdrawal size (% or
Percent or amount in account currency for each withdrawal.
amount)

Optimization criterion (starting from v2.27)


How to use it?

● Disabled — don’t use custom criterion.


● R^2 on equity — use R-squared as an estimation of quality of
the strategy equity curve (read this article for details).

Greater value is better with 1 as maximum possible value (ideal


equity going up-right without any volatility).

Custom optimization You should use Fixed start lot size when optimizing using the
criterion R-squared because of the nature of this criterion.

● Max Relative DD (starting from 2.29) — use Maximal relative


DrawDown (in percent) based on equity.

Result is shown as negative value to make genetic optimization


possible (greater value should be better), so -17.5 in the results
column means 17.5% DD

40
Correlation calculation type for R^2 criterion:
Correlation type ● Pearson's correlation
● Spearman's Rank-Order correlation

GUI user guide

41
One click trading without confirmation (starting from v2.20):

Click on signal label to show indicator and switch to signal TF (starting from v2.26):

42
Show orders (starting from v2.28) and show news (starting from v2.29):

43
Known issues
1. I’ve installed and launched the EA as described above. Is it working?
Yes, it is. Just check the smile in the right upper corner of the chart.

2. So when I launch the EA it automatically already has the indicators built in, right?
Yes, all indicators are built into EA. You don’t need to install anything else.

3. Stochastic/RSI levels after the test differs from Signal levels in the EA settings.
What’s wrong?
These are just indicator draw settings, EA can’t change them. But EA works correct
(with signal levels you’ve set), just check signals.

4. Should I drag all indicators to the chart while EA is working?


No, you shouldn’t.

5. EA doesn’t open any trades! I see only “Trade by experts is disabled!” and “ERROR
#133 (trade is disabled)” messages in the expert log.
This is a restriction from your broker. Ask your broker to allow trading by EAs or
change your broker.

6. Can’t load EA (Error #4200)

To use templates with ea attached:


○ Launch and configure the ea
○ delete all objects from chart (including hidden objects)
○ save the template
○ Then you can load this template to any chart

44
How to support the project?
There are several options for those who want to support the CommunityPower — leave your
review on the market page, become a patron, open an account using my IB link, etc.
Details are on the community forum.

Recommended brokers
You can trade with any broker you want.
But results can differ because of trading conditions (spread, commission, slippages, etc.)
and different quotes (yep, even on the same instrument).

A list of good reliable brokers I trade with is on the community forum.

Brokers with cent accounts (for the grid set or for a small budget) are here.

Use my IB-links for registration and you’ll have better trade conditions (commission
discount, lower spread, etc).

Recommended VPS
CommunityPower EA is not a high frequency EA, so you can launch a terminal with the EA
on your PC at home. But if you want to reach the best results (low slipages, fast execution),
or just don’t want to take risk of electricity and/or internet connection loss, select VPS server
and run terminal with EA 24/7 with 100% uptime and best possible ping to broker server.

A list of recommended VPS providers is on the community forum.

Accounts for backtesting in MT5


To make a backtest in MT5 you can login to one of my live accounts. Here are credentials:

Server ICMarketsSC-MT5

Login 5018202

Password CommunityPower1

45
Server liveUK-mt5.darwinex.com

Login 4000002776

Password CommunityPower1

Server BlueberryMarkets-Live

Login 46293

Password CommunityPower1

46
Versions history
2020.04.03 (1.0):
● [+] First release

2020.04.04 (1.01):
● [+] TDI Filtr

2020.04.07 (2.0):
● [+] Trade direction
● [+] Start lot per 1000 of balance
● [+] Max lot
● [+] Max trades, Lot coefficient, Step (martingale)
● [+] Close on opposite signal

2020.04.09 (2.01):
● [+] Close on filter
● [+] Martingale type (dynamic step between orders)
● [*] Commissions and swaps are taken into account

2020.04.09 (2.02):
● [+] MA below and MA above filters

2020.04.14 (2.03):
● [+] FXGAL3 filter replaced by IdentifyTrend filter
● [*] StopLoss fixed in "Martingale disabled" mode

2020.04.16 (2.04):
● [+] Expert Comment
● [+] Allow hedge
● [+] Manage manual trades
● [+] Every Day schedule, Friday stop time, Friday close time, Monday start time.
All parameters are in GMT! For correct testing proper GMT shift and DST mode
must be set.
● [+] Last December day to trade / First January day to trade

47
2020.04.21 (2.05):
● [+] Version for MT5 — https://www.mql5.com/en/market/product/48493
● [+] Messages to the Telegram on openings and closings (Grammy must be launched
on the same terminal!)
● [+] Spread filter (current and average) on positions opening

2020.04.24 (2.06):
● [+] "Allow messages to Grammy" parameter
● [+] One more Oscillator filter
● [*] "MA below" and "MA above" filters renamed to "Price below MA" and "Price above
MA"
● [+] Two more "MA below" and “MA above" filters

2020.05.04 (2.07):
● [-] The third "MA below" and "MA above" filters removed
● [*] Commissions and swaps are taken into account for sell-positions
● [*] "Messages to Grammy" are allowed only if trading is enabled
● [+] New type of martingale — lot coefficient applied after each loss ("Apply after
closed loss" parameter)
● [+] Global StopLoss in % from current balance

2020.05.06 (2.08):
● [*] TrailngStop fixed.
Warning! Check all your sets with TrailingStop activated before launching EA live!

2020.05.12 (2.09):
● [*] Signal TimeFrame parameter added.
Warning! Please, set Signal TimeFrame equal to Oscillator TimeFrame in all your
set-files from previous versions!
● [+] Pending entry

2020.05.18 (2.10):
● [+] Cancel on opposite signal
● [+] First lot type: fixed, risk %, margin % (in addition to current "lot per 1000")

48
2020.05.28 (2.11):
● [*] Zero divide error fixed for instruments with empty TickValue
● [+] StopLoss, TakeProfit, BreakEven and NextOrder levels on chart
● [+] BreakEven Alert after order
● [+] TakeProfit reduce size, reduce coefficient and Min TakeProfit size

2020.06.24 (2.12):
● [+] Anti-martingale mode
● [+] Big candle filter

2020.07.22 (2.14):
● [+] GUI
● [+] Reverse mode and Use only closed bars for IdentifyTrend, TDI and Peace filters
● [+] Extended info messages
● [*] Pending entry works correctly with stop-level
● [*] "Manage manual trades" mode fixed

2020.08.06 (2.15):
● [+] Volatility filter
● [+] MA below/above filters are replaced by 3 universal MA filters
*** WARNING! All sets using MA filters must be updated!!! ***
● [+] Distance for MA filters can be calculated using Volatility indicator

2020.08.19 (2.16):
● [+] "Close on" parameter for each filter. Can be Individual/Collective.
*** WARNING! All sets using "Close on signal" and/or "Close on filter" mode must be
updated!!!
● [+] Momentum indy available in Oscillator filters
● [+] Peace filter renamed to MACD and improved with 2 growing modes
*** WARNING! All sets using the Peace filter must be updated!!!
● [+] TrailingStep parameter added

2020.08.26 (2.17):
● [+] Global TakeProfit (% from balance)
● [+] Fibo retracement filter

49
2020.09.08 (2.18):
● [+] MA filter: "on cross" mode added
● [+] Min pause between trades (in bars of Signal TF)
● [+] Close on BreakEven after order #
● [+] Pending entry by LIMIT orders added
*** WARNING! Pending entry is controlled by parameter “Pending entry type” starting
from this version. All sets that use Pending entry must be updated (“Pending entry type”
must be set = “Entry with STOP order”)!!!
● [*] Pending buy-orders cancelation by opposite signal fixed for "in profit only" modes
● [*] GUI blinking fixed
● [*] BreakEven button moves TP in both sides (up and down)
● [+] "Join the Community" button added

2020.10.14 (2.19):
● [+] "Open on" parameter for each filter. Can be Individual/Collective.
*** WARNING! All sets using non-default open signals must be updated!!!
● [+] Allow martingale deals on signal only
● [+] Window transparency parameter
● [+] GUI scaling for 4K monitors
● [*] "Too long GV name" error fixed
● [*] "Ticket #xxx disappeared from the terminal" error fixed
● [+] "Trade is disabled" and "Not enough money" alerts only once per 5 minutes

2020.11.03 (2.20):
● [+] Min profit to close on signal (points)
● [+] Anti-StopLoss mode, reduce size, reduce coefficient, min size,
● [+] Negative Anti-StopLoss values accepted
● [+] "Allow martingale deals on signal only" replaced with "Open martin on" parameter
for each filter.
● [+] Close partial after order # and Min profit to close (in account currency)
● [+] TP, TS and AntiSL: "From first open price" mode
● [+] "StopLoss mode" parameter
● [+] GUI: One click trading without confirmation (enables by left button on the top of
the panel)
● [+] Martingale: "New deal on the end of the bar only"

50
● [+] "Lot increasing mode" for Martin and Anti-martin
● [*] Fixed lot per 1000 USD mode fixed
● [*] Checkboxes save their states on chart symbol and Expert Id change

2020.11.30 (2.21):
● [+] GUI: One click trading with Shift button pressed
● [+] New deal on the new bar (for first deal)
● [+] Trade both sides if all signals are disabled
● [+] Oscillators: Stochastic D as an indicator

2020.12.03 (2.22):
● [+] GUI: tooltips in status-bar
● [*] Volatility Filter fixed (didn't work since 2.19)

2020.12.10 (2.23):
● [+] Pause after loss (in bars of Signal TF)
● [+] Reduce TakeProfit after minutes
● [+] Max floating loss
● [+] Global StopLoss in account currency
● [+] TMA, FRAMA and JMA as base indicators for MA filters
○ Indicators for visualization can be downloaded from google drive
○ To visualize "TMA channel" you can use this indy. But it is only one possible
option from hundreds available in the EA.
● [+] Partial close: Min profit to close (% from balance)
● [*] Partial close trying to close as much trades as possible
● [*] GUI: visual testing speed increased
● [+] GUI: "refresh interval" parameter for even faster visual test (try values between
60-300)

2020.12.31 (2.24):
● [*] Increased testing speed for strategies with huge number of trades
● [*] TMA and FRAMA can work without indicator installed
● [+] Fibo filter: "On retracement + opposite direction" mode added
● [+] GUI: concept updated: pending entry has a lower priority than market entry
● [+] GUI: profit in % added

51
● [+] GUI: anti-martingale lines added
● [*] PauseAfterLoss fixed
● [*] MartingailOnTheBarEnd fixed
● [+] One more Fibo retracement filter added

2021.01.15 (2.25):
● [+] "Close on" parameter for Big candle filter
● [+] 3 new types of MACD filter:
■ Buy on Main > Signal / Sell on Main < Signal
■ Main and Signal cross
■ Main and Signal cross >/< 0
● [+] "Partial close on" parameter for each filter
● [+] Individual schedule for each day of week (set equal start and end hour/minute to
disable the whole day)
● [+] Fibo filter: "Check Interval” parameter added, "Use closed bars" parameter is now
manage FIBO recalculation frequency
Warning! Please, review all set-files with Fibo-filter activated!
● [+] Fibo filter: "On trend reversal" mode
● [+] EveryDay close time
● [+] "Apply schedule to" parameter
● [+] Auto-hedge after order

2021.02.02 (2.26):
● [+] Indicator showing by click on signal
● [+] Parameters grouped for easier optimization
● [+] Sounds on position opening and closing added
● [*] Loading after terminal crash is fixed [MT4]

2021.03.02 (2.27):
● [+] Use virtual StopLoss
● [+] Custom commission (in account currency per lot) (0 - disable)
● [*] AntiStopLoss works if AntiMartingale is enabled only
● [*] PauseAfterLoss fixed for some cases
● [+] Use virtual TakeProfit

52
● [+] "R squared" as custom optimization criterion
● [+] BreakEven After Order: MinProfit (points)
● [+] New TDI filter with all inputs
Warning! All sets with disabled TDI filter must be updated (now it is enabled by
default)!

2021.03.03 (2.28):
● [+] Automatic orders drawing and "Show orders" button on panel

2021.04.03 (2.29):
● [+] News filter
● [+] Max Relative DD as optimization criterion
● [*] BreakEven button works with non-virtual SL/TP too
● [+] Orders on chart: aggregated profits on history
● [+] Lot increasing mode "Martin Sum": previous lots sum * coeff [1-2-6-18-54-...]
● [+] Volatility Filter based on tick volume
● [+] Parabolic SAR filter
● [+] 3rd Oscillator filter
● [+] Lot: "Fixed size per 1000", "per 1000 USD": thousands are rounded down
● [+] TEMA as MA type for all MA filters
● [+] Min step size (for ATR based step size calculation)
● [*] Visual testing speed increased

2021.04.19 (2.30):
● [+] ZigZag Filter
● [+] "Open on", "Open martin on", "Close on" and "Partial close on" options for the
News filter
● [+] Alert on first signal
● [+] First signal sound is played (alert is shown, Grammy message is sent) even if
trading is disabled (or checkbox is unchecked)
● [+] "Logistic Growth" Lot increasing mode
● [+] "Auto-hedge after order" always executes like market-order
Warning! All sets with "Auto-hedge after order" and Pending entry enabled must be
reviewed!

53
2021.05.08 (2.31):
● [+] Min margin level %
● [*] Trades made in 1 second are analyzed by the EA correctly.
Please, check your set-files where 2 trades in 1 second are possible.
● [*] BreakEven button moves SL/TP to the BreakEven level even if it is worse (less
profitable) than current SL/TP level
● [+] Global Account TakeProfit (in account currency / in %)
● [+] Global Account TargetProfit (in account currency / in %)
● [+] All pips parameters can be set like coefficient to volatility (min/max value
accepted):
○ Pending entry: Distance to order and Cancel after distance
○ StopLoss size
○ TakeProfit size
○ Min profit to close on signal
○ Martingale Step size
○ Anti-martingale Step size
○ Anti-StopLoss size
○ TrailingStop size
○ Trailing Step
○ Start trailing after
ATR for martingale and anti-martingale steps removed (use Volatility instead of ATR).
Martingale and anti-martingale mode now can be enabled or disabled only.
To use Step like volatility use the "Step size calc mode" parameter.
To increase step size with every order use the "Step increase coefficient" parameter
(set 1 to use fixed step).

Warning!
All sets with martingale or anti-martingale modes enabled must be reviewed!
○ "ATR * coefficient" mode must be replaced with "Martingale enabled", "Step
size calc mode" must be set to "Coefficient to volatility", ATR parameters must
be set in the corresponding section.
○ "Previous step * coefficient" mode must be replaced with "Martingale
enabled". No other changes are needed.
○ "Step increase coefficient" for "Fixed step" mode must be set 1.

54
2021.06.05 (2.32):
● [+] GUI works in tester visual mode!
● [+] Soft Martin Lot increasing mode
● [+] Max lot per 1000
● [+] Partial close: Min part of losing order to close (%)
● [+] Allow both Martin and Anti-martin — allows new martingale deals if anti-marin is
opened and vice versa. "TakeProfit", "BreakEven after order #" and "PartialClose"
work if the last deal is not anti-martingale only.
● [+] Hedge: Increase lot after order #
● [+] Hedge: Close partial after order #
● [+] Hedge: Allow individual close
● [+] Hedge: Close with main series
● [+] Hedge: Max auto-hedge orders number
● [+] Hedge: Max profitable orders to close at the same time
● [+] Hedge: Allow close both ways (long series can close short series)
● [+] Hedge: Min profit to close (% from opposite loss)
● [*] News filter modes renamed
● [*] Global StopLoss and Global TakeProfit renamed to Sum StopLoss and Sum
TakeProfit
● [*] Global Account Close works in tester

2021.06.10 (2.33):
● [+] Hedge deal with separate magic
● [+] Auto-hedge works with any "Trade direction"
● [*] Hedge deal opening with disabled GUI fixed
● [*] Martingale and Anti-martingale: max trades, lot and step are calculated using it's
own orders (not all orders)
● [+] "Custom lot coefficients" Lot increasing mode
Warning! All sets with enabled "Auto-hedge after order" or "Allow both Martin and
Anti-martin" must be reviewed!

2021.06.12 (2.34):
● [+] GlobalAccount TrailingStop
● [+] GlobalAccount TargetProfit restarts if all positions are closed

55
2021.07.15 (2.35):
● [+] DTrend filter
● [*] "Custom lot coefficients" fixed
● [+] Sum TakeProfit (account currency)
● [+] HMA as MA mode in MA filters
● [+] 2nd MACD filter
● [+] MACD filters with customizable MA methods
● [+] Sum TakeProfit works if both buy and sell are open (new parameter)
● [+] Oscillators: MA above/below signal type
● [+] Oscillators: UseClosedBars parameter
● [+] MACD: "Buy on Signal > 0 / Sell on Signal < 0" mode
● [+] MACD: "Buy on Main > Signal and Signal < 0 / Sell on Main < Signal and Signal >
0" mode

2021.08.04 (2.36):
● [+] Custom step coefficients
● [+] Auto-hedge on DrawDown %
● [+] "Open hedge on" parameter for each filter
● [+] Hedge: Close main series by opposite main series
● [*] Hedge: Allow close both ways fixed

2021.09.06 (2.37):
● [+] Pending entry: Disable if opposite trade is open
● [+] Anti-martingale: Allow TakeProfit for anti-martin trades
● [+] Tester withdrawal
● [+] "Signal to open" message is sent if neither a market order nor a pending order is
open
● [*] Smart "Max floating loss" and "Min margin level %" alerts
● [*] Testing speed improvement
● [*] Safer default settings

2021.09.23 (2.38):
● [+] Max step size (points) for martingale and anti-martingale
● [*] Recompiled with correct MT5 build

56
2021.11.14 (2.39):
● [+] Max floating loss and Min margin level % for 1st trade
● [+] Virtual StopLoss can be executed only on good spread (if Spread filter enabled)
● [*] Volatility calculation on different time frames fixed
● [*] "Min TakeProfit size" and "Anti-StopLoss min size" fixed
● [*] Global Account TrailingStop and TargetProfit: withdrawals and deposits are
handled correctly
● [*] Global Account TrailingStop works correctly after closed loss
● [*] Global Account Close works correctly with separate in/out commission

2021.12.10 (2.40-2.41):
● [+] Ready to trade crypto on Binance (MT5 only, details here)
● [*] Fix for Roboforex accounts with empty Orders history (MT5)

2022.01.22 (2.42):
● [*] Binance: correct work with MT connected to netting account
● [*] Correct volatility values on start
● [*] Pending entry: "Disable if opposite trade is open" renamed to "Enter by market if
opposite trade is open"
● [+] Pending entry: Delete if opposite trade is open
● [*] MACD and HMA indicators fixed (MT5)

57

You might also like