Расширенный анализ торгового счета

Nefedov Kirill | 13 июля, 2009

Введение

В данной статье будет рассказано о системе анализа работы МТС с помощью скрипта MQLab™ Graphic Report.

Цель статьи:

Для анализа используется одна из самых перспективных торговых тактик разработанная мной. В связи с тем, что эксперт, работающий на демо счете, в широкие массы не попадет, саму торговую тактику в статье раскрывать не буду, также в опубликованных отчетах не будет ряда колонок, торговые сделки отсортированы таким образом, чтобы не раскрывать методику торговли.

Каждая копия эксперта торгуется на своей валютной паре со своими настройками, и интегрированными средствами терминала MetaTrader 4 его работу не оценить и не разобраться во всех деталях совершенных сделок. Для понимания, что и как происходит, необходимы более серьёзные аналитические системы.

Постановка задачи:

1. Проанализировать работу эксперта(тов) на торговом счете.

2. Выявить параметры ухудшающие работу эксперта(тов), прибыльность в целом и отдельно по каждой валютной паре.

3. Найти закономерности, от чего влияет прибыльность, просадки, математическое ожидание и т.д..

4. Подобрать оптимальные комбинации валютных пар для дальнейшей работы.

5. Сформировать перечень возможных улучшений в работе экспертной системы.


Причины и предпосылки создания расширенного отчёта.

Начиная с терминала MetaTrader 3 у трейдеров появилась возможность не выходя из дома заниматься международным валютным обменом.

wikipedia.org

Фо́рекс (FOREX) — сокращение от англ. FOReign EXchange, что переводится как «международный валютный обмен».
Термин Форекс принято использовать для обозначения взаимного обмена свободно конвертируемых валют, а не всей совокупности валютообменных операций. Обычно используется сочетание «рынок Форекс» (англ. Forex market), чем подчёркивается рыночный, а не административный принцип формирования котировок. Операции на рынке Форекс по целям могут быть торговыми, спекулятивными, хеджирующими, регулирующими (валютные интервенции Центробанков).

В Рунете под термином Форекс обычно имеется в виду исключительно спекулятивная торговля валютой через коммерческие банки или дилинговые центры, которая ведётся с использованием кредитного плеча, то есть маржинальная торговля.

С развитием терминала и переходом на платформу MetaTrader 4, появилась возможность совершать валютные операции в полностью автоматическом режиме 24 часа в сутки.

Т.к. терминалы 2-х поколений позволяли совершать сделки одновременно по нескольким валютным парам на одном торговом счёте, статистика торговли естественно общая для всего счета. Разработчики не предоставили технической возможности для анализа совершенных операций для конкретной валютной пары, для группы валютных пар. Статистика работы осталась неизменной начиная с терминала 3-го поколения и по сей день. В преддверии выхода терминала нового поколения MetaTrader 5 надежда на улучшение характеристик отчёта, а именно более детального и масштабируемого, остаётся.

За последние 3 года, в сети интернет появилось очень много автоматических торговых тактик (МТС, Experts, торговых ботов и т.д.), были проведены 3 международных чемпионата, но методики анализа особо не поменялись. На чемпионате была применена более детальная статистика, но применение подобной или даже близкой к ней не встречалось нигде, чтобы её можно было применить к своему или чужому торговому счету.

Самой ущербной, на мой взгляд, является оценка торговых характеристик у продаваемых в сети экспертов, по тому же принципу, с заурядной периодичностью на страницах форума появляются псевдо Граали, авторы которых уверены в прибыльности разработанной торговой тактики, многие пользователи также, глядя на опубликованные отчёты, начинают флудить в тему или мимо темы.

4-й причиной создания расширенного отчета стали инвесторы. На мой взгляд, эта группа людей практически полностью обделена какой либо аналитической информацией по торговым операциям, совершенным на демонстрационном или в любом другом счете. Даже имея доступ на счет, в который инвестор желает инвестировать, он не может оценить работу системы в полной мере. А зачастую подобные вложения заканчиваются потерей средств.

Оценив проблему неполноценного отчёта, пришлось разрабатывать свой, более информативный и гибкий. Работа над улучшением информативности идет и по сей день, но на основе того, что уже есть в данный момент, я продемонстрирую его возможности и методы применения.


Возможности расширенного отчёта.

В расширенном отчёте присутствуют все параметры стандартного отчёта, формулы расчета были взяты из первоисточника. Ниже таблица нововведений, сделанных для расширенного отчёта.


Детализированный отчёт представляет из себя HTML файл. В отчёт включены все стандартные параметры отчёта и ряд дополнительных:

  • Profit (pips)
  • Summ ($) = Profit ($) + Swap
  • Risk factor (%)
  • Profit factor
  • Avg profit factor
  • Expected payoff
  • Avg. Expected payoff
  • Balance
  • Comment.

Графическая часть отчёта представлена в виде динамических Flash графиков, чартов, круговых диаграмм.
В отчёт включены следующие графические элементы:

  • Balans week
  • Balans day
  • Order - Deposit Balans
  • Number of characters
  • Count win/loss dinamics
  • Order lot & Prifit Pips & Risk factor %
  • Profit ($) & Summ ($)
  • Profit factor & AVG. Profit factor





  • График Balans week отображает прибыль или убыток по неделям, суммируя прибыльные и убыточные позиции.
  • График Balans day отображает прибыль или убыток по дням, суммируя прибыльные и убыточные позиции за сутки.
  • График Order - Deposit Balans отображает прибыль или убыток по каждой сделке.

Круговая диаграмма Number of characters отображает количества закрытых ордеров по валютным парам. Каждая пара выделяется отдельным цветом, и наибольшие значения отображаются в виде выдвинутого куска из общей диаграммы.






График в виде колонок Count win/loss dinamics отображает количество прибыльных и убыточных сделок по каждому типу ордеров для валютной пары.


Автоматическая генерация XML файлов для формирования графиков с записью на жесткий диск Вашего компьютера.






Система проверок и предупреждений. Данная система предотвращает неправильно заданные параметры в настройках скрипта и предупреждает о некорректных данных.


Система фильтрации отчёта. Сгенерировать отчет можно очень многими способами, применяя те или иные фильтры. В результате фильтрации Вы получаете именно тот отчет, который Вам необходим для анализа.






Фильтр по дате и времени. Данная функция необходима, если Вы желаете сформировать отчёт за определенную дату или конкретно заданное время. В отчет попадают все закрытые, открытые и отложенные ордера у которых условие открытия и закрытие совпало с заданными временными настройками.


Фильтр по комментариям к ордерам. Данная функция фильтрует отчёт по конкретному признаку и добавляет сделки, у которых совпал комментарий с введенным в настройки скрипта.






Фильтр по MAGIC номеру, необходим для разделения автоматической и ручной торговли или автоматической несколькими экспертами на одном счете. В отчёт попадают только те позиции и ордеру, у который параметр MAGIC совпадает с введенным в настройки скрипта.


Отключаемая и включаемая функция вывода в отчёт отложенных ордеров. Не всегда есть необходимость показывать в отчёте отложенные ордера, смысловой нагрузки они для анализа не несут, а логика работы эксперта или ручной торговли может быть раскрыта 3-ми лицами.






Отключаемая и включаемая функция вывода в отчёт открытых позиций. Для инвестора или любого другого человека не всегда есть необходимость показывать в отчёте открытые ордера.


Отключаемая и включаемая функция вывода в отчёт позиций с нулевым профитом. Если в истории сделок существуют закрытые ордера с нулевым профитом, то лучше их исключить из отчёта, т.к. смысловой нагрузки от них нет, а занижение расчётных данных, таких как профит-фактор, математическое ожидание и т.д. есть.






Фильтр вывода в отчёт только необходимых колонок. Необходимость данного фильтра, для компактного представления информации, а так же для сокрытия важных элементов торговой стратегии без искажения результатов торговли.


Сортировка ордеров при генерации отчета может быть задана по любой из колонок, данная функция ускоряет понимание отчета, а так же компонует параметры отчета по ряду признаков. Например, по времени открытия и закрытия, по валютной паре, по лоту и т.д. Можно сохранить ордера в отчете таким образом, что логику работы эксперта будет понять практически невозможно, это относится к мультивалютным стратегиям, где открытие на разных валютных парах может быть по определенному признаку.






Подсчет количества времени нахождения ордера. Данная характеристика важна для понимания характеристик эксперта или стиля торговли. Чем дольше ордер в рынке, значит либо точность сигнала входа в рынок низкая и ордер долго висит в минусах, если время нахождения небольшое, значит стратегия основана на скальпинге или пипсинге. Что в ряде случаев ведет к ужесточению совершения торговых сделок со стороны ДЦ.


Подсчёт количества прибыли или убытка в пипсах валютной пары. Характеристика, дающая большее представление о целях, достигаемых экспертом. Данный подсчет не зависит от динамического лота, торгового плеча и т.д.


Анализ работы экспертной системы.

Как ранее говорилось экспертная система торгует на каждой валютной паре самостоятельно, никакие правила мультивалютности в ней не сформированы. Каждая валютная пара оптимизируется отдельно в тестере стратегий. Т.к. в большинстве случаев любая стратегия может торговать практически на любой валютной паре, было принято решение протестировать эксперт на 22 валютных парах. Начальный депозит был рассчитан из числа валютных пар * 10К. В результате получился начальный баланс 220К. Перед началом тестирования каждая валютная пара была оптимизирована на интервале в 1 месяц.

По прошествии 2 месяцев полностью автоматической торговли, настал момент разбора результатов. На демо счете был запущен скрипт MQLab™ Graphic Report и получены результаты.

Полный отчёт можно скачать и посмотреть, файл в конце статьи, имя файла FULL_Report.zip

Ниже приведу 2-е сравнительные таблицы стандартного и расширенного отчёта.

Стандартный отчёт.

Gross Profit: 950 592.08 Gross Loss: -161 808.04 Total Net Profit: 788 784.04
Profit Factor: 5.87 Expected Payoff: 949.20

Absolute Drawdown: 0.00 Maximal Drawdown: 40 642.35 (4.26%) Relative Drawdown: 4.26% (40 642.35)
Total Trades: 831 Short Positions (won %): 221 (65.16 %) Long Positions (won %): 610 (81.15 %)


Profit Trades (% of total): 639 (76.90 %) Loss trades (% of total): 192 (23.10 %)
Largest
profit trade: 31 003.20 loss trade: -11 536.80
Average
profit trade: 1 487.62 loss trade: -842.75
Maximum
consecutive wins ($): 46 (74 627.29) consecutive losses ($): 11 (-2 050.92)
Maximal
consecutive profit (count): 115 265.49 (45) consecutive loss (count): -26 364.80 (4)
Average
consecutive wins: 9 consecutive losses: 3


Расширенный отчёт.

Gross Profit: 950592.08 Gross Loss: -161808.04 Total Net Profit: 788784.04
Profit Factor: 5.87 Avg. profit factor: 1.77 Expected Payoff: 949.20
Absolute Drawdown: 0.00 Maximal Drawdown: 19084.09 (2.31%) Relative Drawdown: 2.67% (12866.40)
Total Trades: 831 Short Positions (won %): 221 (65.16 %) Long Positions (won %): 610 (81.15 %)


Profit Trades (% of total): 639 (76.90 %) Loss trades (% of total): 192 (23.10 %)
Largest
profit trade: 31003.20 loss trade: -11536.80
Average
profit trade: 1487.62 loss trade: -842.75
Maximum
consecutive wins ($): 57 (105530.75) consecutive losses ($): 8 (-764.64)
Maximal
consecutive profit (count): 107894.42 (28) consecutive loss (count): -11536.80 (1)
Average
consecutive wins: 6 consecutive losses: 1


Сравнивая 2 таблицы можно заметить, что некоторые параметры (Maximal Drawdown, Relative Drawdown и т.д.) не совпадают у расширенного отчета со стандартным, это не ошибка при создании отчёта. Как упоминалась ранее, закрытые позиции в истории отчёта отсортированы таким образом (задаётся в настройках скрипта), чтобы не раскрывать логику работы экспертной системы.

К расширенному отчёту применена следующая сортировка:

1. По времени открытия, по возрастанию.
2. По времени закрытия, по убыванию.

В стандартном отчёте данная функциональность отсутствует.

Все параметры, естественно, рассчитываются на основе метода примененной сортировки.

Также в расширенном отчете появился новый параметр Avg. profit factor. Это расчет среднего профит фактора. На мой взгляд, он более информативен и более стабилен в своих показаниях, нежели Profit Factor из стандартного отчёта. Profit Factor может достаточно в больших пределах изменять свои показания в зависимости от полученной прибыли или убытка. Т.к. данный параметр является одним из важных показателей в отчёте, в расширенном отчёте Profit Factor рассчитывается для каждой закрытой позиции и выводится отдельным столбцом в таблице. Так же отдельным столбцом и для каждого ордера происходит расчёт Avg. profit factor. Располагая этими данными можно построить сравнительный график, на котором наглядно видно, как развивалась торговля на счете. Также можно увидеть, когда совершенные сделки стали ухудшать данный показатель.

Небольшое отступление.
В связи с тем, что движок данного сайта не поддерживает вставку внешних Flash и закачать их на сервер тоже нет возможности, графики и круговая диаграмма в статье будут заменены на статические изображения. При просмотре полных отчётов, можно видеть всё графическое оформление в динамике.

В расширенном отчёте есть сравнительный график параметров Profit Factor и Avg. profit factor.


Profit factor and Avg. profit factor

Прокручивая горизонтальный бегунок можно визуально наблюдать где был рост и где было падение параметра Profit Factor, линия Avg. profit factor белее сглаженная, точки со значениями, относятся к сделкам.

Из личного опыта могу сказать, что параметр Profit Factor всегда должен быть больше Avg. profit factor, в этом случае система считается более профитной и стабильной. Если Profit Factor опустился ниже Avg. profit factor, нужно бить тревогу и рассматривать более детально, что изменилось.

В моём случае профит фактор опустился ниже среднего на 376 совершенной сделки, т.е. практически через 3 недели после старта тестирования. Данный момент я честно скажу проследил, но разбирая детальный отчет убедился в том, что данную систему торговли нужно оптимизировать на новых данных примерно 1 раз в 2 недели, в этом случае эффективность показателей Profit Factor и Avg. profit factor должна оставаться на более высоком уровне.

Итак, нам удалось выявить момент того, что эксперт нужно оптимизировать не менее 1 раза в 2 недели. Но как следствие, возникает ряд других вопросов:

Для прояснения всех подобных вопросов в расширенный отчет были добавлены графические диаграммы. Первая круговая диаграмма показывает количество сделок по каждой из валютных пар, вторая показывает статистику совершенных операций по типу ордеров с подсчётом количества прибыльных и убыточных сделок, совершенных по каждой валютной паре.

Анализируя круговую диаграмму Numbers of characters, достаточно быстро определились валютные пары, по которым совершено очень незначительное количество сделок по отношению к другим валютным парам. Также в диаграмме методом автоматического вытаскивания "куска общего пирога" видны валютные пары с наибольшим числом совершенных сделок.

Выбрав из круговой диаграммы валютные пары с наименьшим числом совершенных сделок, а именно EURCAD, CADCHF, CHFJPY, GBPJPY, смотрим статистику по типам совершенных сделок на диаграмме Count win / lose dynamics. Из данной диаграммы видно, что данные валютные пары не только совершают небольшое количество сделок, но и совершенные сделки, принесшие прибыль, компенсируются таким же числом убыточных сделок, а значит, данная валютная пара не приносит прибыли, либо вообще убыточна.

Разделение по типам совершенных сделок и подсчет этих сделок в большей степени нужны для понимания, в каком направлении лучше всего эксперт торгует с теми или иными параметрами. Если параметры настройки для Long и Short позиций разные, то получив данную статистику легче настроить или отключить торговлю в ту или иную сторону или оптимизировать параметры именно на покупку или продажу.

Разбирая дальше график Count win/lose dynamics, можно определить 7 валютных пар, которые торгуют только в одну сторону: AUDUSD, CADJPY, USDJPY, EURGBP, GBPJPY, EURNZD, NZDCHF, и еще 3 валютные пары USDCHF, CADCHF, EURCAD, у которых соотношение типов ордеров достаточно большое. Из стандартного отчета выявить данную тенденцию достаточно сложно. Все перечисленные валютные пары я отнесу к группе торгующих в одном направлении. Причины подобной работы могут зависеть от торговой тактики или от динамики самого рынка. Т.е. выявить, почему идет именно такая торговля можно обратившись непосредственно к чарту валютной пары и наглядно посмотреть, что и как. В данной статье я этого делать не буду, по большей части это ручная работа, и каждый трейдер вправе сам решить для себя выявить, почему так идет торговля.

Итак, нам удалось определить некоторое число валютных пар, эффективность которых заставляет усомниться. Основное сомнение - это величина просадки на тестируемом счете, и она равна Maximal Drawdown: 2.31%. Можно предположить, что в процессе торговли были использованы валютные пары, которые снижают эффективность торговли или приносят убыток, тем самым не давая более прибыльно работать на других валютных парах. Чтобы детально определить эти валютные пары и впоследствии исключить их из торговли, необходимо проанализировать каждую валютную пару отдельно. Стандартный отчет подобной роскоши не предоставляет, поэтому при разработке расширенного отчета пришлось разрабатывать метод фильтрации валютных пар.

Используя скрипт с фильтрацией валютной пары можно получить детализированный отчет по каждой из них, со своими расчетами прибыльности, просадке, мат. ожиданию и т.д. Так же строятся графики на основе отфильтрованных данных.

Небольшое отступление:
В разработанном скрипте отчета MQLab™ Graphic Report предшествует ряд настроек, которые позволяют анализировать сделки не только по конкретной валютной паре, но и фильтровать их по MAGIC номеру, а также по комментарию к ордеру. Данные фильтры с легкостью могут разделить общий отчет не только по валютным парам, но и разделить ручную и автоматическую торговлю на счете или проанализировать только те ордера, в комментариях которых записаны определенные параметры, например условия входа в рынок. Либо комбинировать между собой MAGIC, валютную пару и комментарий к позиции или ордеру.

Полные отчёты по каждой валютной паре можно скачать и посмотреть, файлы архива в конце статьи, имя файла Records_of_individual_currencies.part1.rar  и Records_of_individual_currencies.part2.rar

На основании полученных результатов составим сводную таблицу.


Gross Profit
Gross Loss
Total
Net Profit
Profit
Factor
Avg.
profit factor
Exp.
Payoff
Abs.
Drawd.
Max.
Drawd.
Total
Trades
Short
Positions
Long
Positions
GBPCAD
61664.17
-13150.13
48514.04
4.69
1.30
703.10
0.00
11881.17
69
22
47
GBPCHF
47115.25
-1913.54
45201.71
24.62
5.47
1027.31
0.00
1207.25
44
16
28
GBPUSD
114853.31
-49384.70
65468.61
2.33
0.46
1190.34
0.00
21779.60
55
25
30
AUDUSD
61227.83
-3446.00
57781.83
17.77
1.97
1444.55
0.00
3203.00
40
0
40
CADJPY
28850.51
-2051.31
26799.20
14.06
4.69
837.48
989.40
1810.67
32
0
32
EURUSD
100910.61
-20189.97
80720.64
5.00
2.60
2124.23
9366.76
11961.84
38
17
21
EURJPY
28099.81
-2606.26
25493.55
10.78
2.70
509.87
0.00
1847.96
50
10
40
EURCHF
35744.67
-1843.92
33900.75
19.39
6.68
869.25
0.00
873.09
39
18
21
EURAUD
64700.63
-8901.46
55799.17
7.27
3.63
1328.55
387.07
3924.49
42
11
31
GOLD
32420.35
-7822.52
24597.83
4.14
0.60
390.44
0.00
3622.96
63
19
44
USDCHF
36319.19
-12784.30
23534.89
2.84
1.67
871.66
1786.53
11316.21
27
3
24
USDJPY
36685.74
-989.33
35696.41
37.08
17.45
1427.86
772.90
963.67
25
0
25
AUDCHF
30933.15
-8692.07
22241.08
3.56
1.37
411.87
208.19
4935.03
54
22
32
EURGBP
35672.84
-5011.78
30661.06
7.12
3.56
1022.04
0.00
2414.87
30
0
30
AUDJPY
46455.59
-937.53
45518.06
49.55
8.74
1137.95
0.00
853.87
40
6
34
GBPJPY
4799.64
-181.80
4617.84
26.40
5.28
384.82
0.00
181.80
12
0
12
AUDCAD
63144.23
-4970.32
58173.91
12.70
5.08
1385.09
263.21
3734.90
42
15
27
CHFJPY
6878.05
-1119.51
5758.54
6.14
2.46
411.32
653.61
755.33
14
7
7
CADCHF
2367.64
-57.69
2309.95
41.04
9.12
210.00
0.00
33.36
11
2
9
GBPAUD
93826.55
-15290.74
78535.81
6.14
2.79
1227.12
513.66
11497.83
64
19
45
EURCAD
2524.46
-463.16
2061.30
5.45
4.36
229.03
124.98
311.34
9
8
1
EURNZD
15388.79
0.00
15388.79
0.00
0.00
512.96
0.00
0.00
30
0
30
NZDCHF
9.07
0.00
9.07
0.00
0.00
9.07
0.00
0.00
1
1
0
Среднее значение
41330.09
-7035.13
34294.96
13.39
4
855.04
655.06
4309.14
36.13
10
27

Составив таблицу и посчитав среднее значение по каждому параметру, я ввел некий "порог", ниже которого, моё личное мнение, параметры опускаться не должны. Если полученные результаты ниже, то эффективность торговли на данной валютной паре низкая или убыточная.

Сделаем выборку валютных пар с разделением по группам, основными параметрами сортировки будут Gross Profit и Total Trades


Хорошая торговля:


Gross Profit
Gross Loss
Total
Net Profit
Profit
Factor
Avg.
profit factor
Exp.
Payoff
Abs.
Drawd.
Max.
Drawd.
Total
Trades
Short
Positions
Long
Positions
GBPCAD
61664.17
-13150.13
48514.04
4.69
1.30
703.10
0.00
11881.17
69
22
47
GBPCHF
47115.25
-1913.54
45201.71
24.62
5.47
1027.31
0.00
1207.25
44
16
28
GBPUSD
114853.31
-49384.70
65468.61
2.33
0.46
1190.34
0.00
21779.60
55
25
30
AUDUSD
61227.83
-3446.00
57781.83
17.77
1.97
1444.55
0.00
3203.00
40
0
40
EURUSD
100910.61
-20189.97
80720.64
5.00
2.60
2124.23
9366.76
11961.84
38
17
21
EURAUD
64700.63
-8901.46
55799.17
7.27
3.63
1328.55
387.07
3924.49
42
11
31
AUDJPY
46455.59
-937.53
45518.06
49.55
8.74
1137.95
0.00
853.87
40
6
34
AUDCAD
63144.23
-4970.32
58173.91
12.70
5.08
1385.09
263.21
3734.90
42
15
27
GBPAUD
93826.55
-15290.74
78535.81
6.14
2.79
1227.12
513.66
11497.83
64
19
45

Полный отчёт по данной группе можно скачать и посмотреть, файл в конце статьи, имя файла Good_trade_Report.zip

В данной таблице сгруппированы валютные пары, у которых параметры торговли Gross Profit и Total Trades выше среднего значения. Это самые прибыльные валютные пары на тестируемом счете, т.е. являются локомотивом прибыльности.


Средняя торговля:


Gross Profit
Gross Loss
Total
Net Profit
Profit
Factor
Avg.
profit factor
Exp.
Payoff
Abs.
Drawd.
Max.
Drawd.
Total
Trades
Short
Positions
Long
Positions
CADJPY
28850.51
-2051.31
26799.20
14.06
4.69
837.48
989.40
1810.67
32
0
32
EURJPY
28099.81
-2606.26
25493.55
10.78
2.70
509.87
0.00
1847.96
50
10
40
EURCHF
35744.67
-1843.92
33900.75
19.39
6.68
869.25
0.00
873.09
39
18
21
GOLD
32420.35
-7822.52
24597.83
4.14
0.60
390.44
0.00
3622.96
63
19
44
USDCHF
36319.19
-12784.30
23534.89
2.84
1.67
871.66
1786.53
11316.21
27
3
24
USDJPY
36685.74
-989.33
35696.41
37.08
17.45
1427.86
772.90
963.67
25
0
25
AUDCHF
30933.15
-8692.07
22241.08
3.56
1.37
411.87
208.19
4935.03
54
22
32
EURGBP
35672.84
-5011.78
30661.06
7.12
3.56
1022.04
0.00
2414.87
30
0
30
EURNZD
15388.79
0.00
15388.79
0.00
0.00
512.96
0.00
0.00
30
0
30

Полный отчёт по данной группе можно скачать и посмотреть, файл в конце статьи, имя файла Average_trade_Report.zip

Выборка в данной таблице была сделана по принципу:
1. Gross Profit < Среднего значения Gross Profit
2. Gross Profit > (Среднего значения Gross Profit / 2)

Единственная пара, которая не подпадает в данное условие, EURNZD. В данную таблицу она попадает из-за того что по ней не было совершено ни единой убыточной сделки.


Плохая торговля:


Gross Profit
Gross Loss
Total
Net Profit
Profit
Factor
Avg.
profit factor
Exp.
Payoff
Abs.
Drawd.
Max.
Drawd.
Total
Trades
Short
Positions
Long
Positions
GBPJPY
4799.64
-181.80
4617.84
26.40
5.28
384.82
0.00
181.80
12
0
12
CHFJPY
6878.05
-1119.51
5758.54
6.14
2.46
411.32
653.61
755.33
14
7
7
CADCHF
2367.64
-57.69
2309.95
41.04
9.12
210.00
0.00
33.36
11
2
9
EURCAD
2524.46
-463.16
2061.30
5.45
4.36
229.03
124.98
311.34
9
8
1
NZDCHF
9.07
0.00
9.07
0.00
0.00
9.07
0.00
0.00
1
1
0

Полный отчёт по данной группе можно скачать и посмотреть, файл в конце статьи, имя файла Bad_Trade_Report.zip

Данная группа валютных пар является тормозом в торговли и не даёт разгоняться основному локомотиву валютных пар.

Разделив все инструменты по группам, интересно узнать, как бы выглядели параметры торговли по каждой группе, если бы каждая группа тестировалась на счете отдельно от других групп. Для этого применяем систему фильтрации и группировке по валютным парам.

Хорошая торговля:

Gross Profit: 653898.17 Gross Loss: -118184.39 Total Net Profit: 535713.78
Profit Factor: 5.53 Avg. profit factor: 1.68 Expected Payoff: 1234.36
Absolute Drawdown: 0.00 Maximal Drawdown: 19168.35 (2.92%) Relative Drawdown: 3.81% (10933.02)
Total Trades: 434 Short Positions (won %): 131 (66.41 %) Long Positions (won %): 303 (81.19 %)


Profit Trades (% of total): 333 (76.73 %) Loss trades (% of total): 101 (23.27 %)
Largest
profit trade: 31003.20 loss trade: -11536.80
Average
profit trade: 1963.66 loss trade: -1170.14
Maximum
consecutive wins ($): 26 (74353.47) consecutive losses ($): 8 (-764.64)
Maximal
consecutive profit (count): 98581.16 (19) consecutive loss (count): -11536.80 (1)
Average
consecutive wins: 6 consecutive losses: 1

Средняя торговля:

Gross Profit: 312961.61 Gross Loss: -52744.84 Total Net Profit: 260216.77
Profit Factor: 5.93 Avg. profit factor: 1.77 Expected Payoff: 712.92
Absolute Drawdown: 0.00 Maximal Drawdown: 7621.15 (1.98%) Relative Drawdown: 1.98% (7621.15)
Total Trades: 365 Short Positions (won %): 74 (66.22 %) Long Positions (won %): 291 (79.73 %)


Profit Trades (% of total): 281 (76.99 %) Loss trades (% of total): 84 (23.01 %)
Largest
profit trade: 23814.20 loss trade: -2877.67
Average
profit trade: 1113.74 loss trade: -627.91
Maximum
consecutive wins ($): 32 (67689.94) consecutive losses ($): 12 (-7482.88)
Maximal
consecutive profit (count): 67689.94 (32) consecutive loss (count): -7482.88 (12)
Average
consecutive wins: 6 consecutive losses: 2

Плохая торговля:

Gross Profit: 16578.86 Gross Loss: -1822.16 Total Net Profit: 14756.70
Profit Factor: 9.10 Avg. profit factor: 3.12 Expected Payoff: 313.97
Absolute Drawdown: 0.00 Maximal Drawdown: 388.36 (0.17%) Relative Drawdown: 0.17% (388.36)
Total Trades: 47 Short Positions (won %): 18 (55.56 %) Long Positions (won %): 29 (86.21 %)


Profit Trades (% of total): 35 (74.47 %) Loss trades (% of total): 12 (25.53 %)
Largest
profit trade: 3348.53 loss trade: -388.36
Average
profit trade: 473.68 loss trade: -151.85
Maximum
consecutive wins ($): 10 (7119.78) consecutive losses ($): 2 (-364.18)
Maximal
consecutive profit (count): 7119.78 (10) consecutive loss (count): -388.36 (1)
Average
consecutive wins: 3 consecutive losses: 1

Из данной статистики видно, что валютные пары из группы "Плохая торговля" сильно не влияет на прибыльность, данную группу валютных пар можно исключить вообще из тестирования.

Совместим группы "Хорошая торговля" и "Средняя торговля" в одном отчете.

Полный отчёт по 2-м группам можно скачать и посмотреть, файл в конце статьи, имя файла Good_Average_trade_Report.zip

Gross Profit: 966859.78 Gross Loss: -170929.23 Total Net Profit: 795930.55
Profit Factor: 5.66 Avg. profit factor: 1.70 Expected Payoff: 996.16
Absolute Drawdown: 0.00 Maximal Drawdown: 19084.09 (2.33%) Relative Drawdown: 2.70% (12866.40)
Total Trades: 799 Short Positions (won %): 205 (66.34 %) Long Positions (won %): 594 (80.47 %)


Profit Trades (% of total): 614 (76.85 %) Loss trades (% of total): 185 (23.15 %)
Largest
profit trade: 31003.20 loss trade: -11536.80
Average
profit trade: 1574.69 loss trade: -923.94
Maximum
consecutive wins ($): 37 (67514.27) consecutive losses ($): 8 (-764.64)
Maximal
consecutive profit (count): 108047.10 (19) consecutive loss (count): -11536.80 (1)
Average
consecutive wins: 6 consecutive losses: 2

Сравнив полученные результаты совмещенных групп с результатами статистики полного отчета, можно увидеть следующие параметры.


Полный отчёт
Совмещенный отчёт
Gross Profit: 950592.08 966859.78
Gross Loss: -161808.04 -170929.23
Total Net Profit: 788784.04 795930.55
Profit Factor: 5.87 5.66
Avg. profit factor: 1.77 1.70
Expected Payoff: 949.20 996.16
Absolute Drawdown: 0.00 0.00
Maximal Drawdown: 19084.09 (2.31%) 19084.09 (2.33%)
Relative Drawdown: 2.67% (12866.40) 2.70% (12866.40)
Total Trades: 831 799
Short Positions (won %): 221 (65.16 %) 205 (66.34 %)
Long Positions (won %): 610 (81.15 %) 594 (80.47 %)
Profit Trades (% of total): 639 (76.90 %) 614 (76.85 %)
Loss trades (% of total): 192 (23.10 %) 185 (23.15 %)
Largest profit trade: 31003.20 31003.20
Largest loss trade: -11536.80 -11536.80
Average profit trade: 1487.62 1574.69
Average loss trade: -842.75 -923.94
Maximum consecutive wins ($): 57 (105530.75) 37 (67514.27)
Maximum consecutive losses ($): 8 (-764.64) 8 (-764.64)
Maximal consecutive profit (count): 107894.42 (28) 108047.10 (19)
Maximal consecutive loss (count): -11536.80 (1) -11536.80 (1)
Average consecutive wins: 6 6
Average consecutive losses: 1 2

Из данной таблицы видно, что некоторые параметры увеличили своё значение, а некоторые снизили, но резких отличий не наблюдается. Это связанно с тем, что группа "Плохая торговля" не является убыточной. Скорее тут прослеживается частный случай полученных результатов, где в совокупности каждая валютная пара увеличивает общую прибыльность.

У меня, как и у многих трейдеров, возник вопрос, как же еще увеличить прибыльность и стабильность данной методики торговли. На основе полученных результатов и при детальном изучении отчётов по каждой валютной паре я пришел к выводу, что экспертной системе не хватает одного маленького штриха для более успешной торговли. Штрих заключается в создании правил условий открытия, зависящих от других валютных пар.

Т.к. каждая валютная пара торгуется индивидуально, по каждой паре проводилось оптимизация, то настройки соответственно у каждой пары разные, а значит и входить по сигналу пары могут в разное время и в разные стороны, но выявив лидирующие пары, можно привязаться к ним.

Создаем систему фильтрации сделок.

Описанная в статье система фильтрации ранее никем не делалась и никем не проверялась, поэтому прошу к ней отнестись как к теории, которую я детально опишу.

Составим таблицу сбалансированности, основываясь на полученной статистике из группы "Хорошая торговля" по каждой валютной паре.

Т.к. у нас в данной группе 9 валютных пар, присуждаем каждой паре от 1-го до 9-ти баллов, Самый наименьший параметр из столбца 1 балл, самый большой 9 баллов.

Если параметры у 2-х и более пар совпадают, добавляем одинаковое количество баллов.

Столбцы Abs. Drawd. и Max. Drawd. оценивать будем в обратном порядке.


Б.
Gross
Profit
Б.
Gross
Loss
Б.
Total Net
Profit
Б.
Profit
Factor
Б.
Avg. profit
factor
Б.
Exp.
Payoff
Б.
Abs.
Drawd.
Б.
Max.
Drawd.
Б.
Total
Trades
Б.
Short
Positions
Б.
Long
Positions
GBPCAD
4
61664.17
4
-13150.13
3
48514.04
2
4.69
2
1.30
1
703.10
5
0.00
3
11881.17
7
69
8
22
9
47
GBPCHF
2
47115.25
8
-1913.54
1
45201.71
8
24.62
8
5.47
2
1027.31
5
0.00
8
1207.25
4
44
5
16
3
28
GBPUSD
9
114853.31
1
-49384.70
7
65468.61
1
2.33
1
0.46
4
1190.34
5
0.00
1
21779.60
5
55
9
25
4
30
AUDUSD
3
61227.83
7
-3446.00
5
57781.83
7
17.77
3
1.97
8
1444.55
5
0.00
7
3203.00
2
40
1
0
7
40
EURUSD
8
100910.61
2
-20189.97
9
80720.64
3
5.00
4
2.60
9
2124.23
1
9366.76
2
11961.84
1
38
6
17
1
21
EURAUD
6
64700.63
5
-8901.46
4
55799.17
5
7.27
6
3.63
6
1328.55
3
387.07
5
3924.49
3
42
3
11
5
31
AUDJPY
1
46455.59
9
-937.53
2
45518.06
9
49.55
9
8.74
3
1137.95
5
0.00
9
853.87
2
40
2
6
6
34
AUDCAD
5
63144.23
6
-4970.32
6
58173.91
6
12.70
7
5.08
7
1385.09
4
263.21
6
3734.90
3
42
4
15
2
27
GBPAUD
7
93826.55
3
-15290.74
8
78535.81
4
6.14
5
2.79
5
1227.12
2
513.66
4
11497.83
6
64
7
19
8
45


Суммируем по каждой валютной паре набранные баллы.

Валютная пара Набранные баллы
Результат
GBPCAD4 + 4 + 3 + 2 + 2 + 1 + 5 + 3 + 7 + 8 + 9
48
GBPCHF2 + 8 + 1 + 8 + 8 + 2 + 5 + 8 + 4 + 5 + 3
54
GBPUSD9 + 1 + 7 + 1 + 1 + 4 + 5 + 1 + 5 + 9 + 4
47
AUDUSD3 + 7 + 5 + 7 + 3 + 8 + 5 + 7 + 2 + 1 + 7
55
EURUSD8 + 2 + 9 + 3 + 4 + 9 + 1 + 2 + 1 + 6 + 1
46
EURAUD6 + 5 + 4 + 5 + 6 + 6 + 3 + 5 + 3 + 3 + 5
51
AUDJPY1 + 9 + 2 + 9 + 9 + 3 + 5 + 9 + 2 + 2 + 6
57
AUDCAD5 + 6 + 6 + 6 + 7 + 7 + 4 + 6 + 3 + 4 + 2
56
GBPAUD7 + 3 + 8 + 4 + 5 + 5 + 2 + 4 + 6 + 7 + 8
59

По результатам набранных баллов видим, какая валютная пара наиболее сбалансирована из тех результатов, которые имеем.

Составим следующей таблицу, суть которой заключается в разделении сбалансированности валютных пар в убывающем порядке на базовую валюту и котируемую.

Валютная пара Базовая валюта Котируемая валюта
GBPAUDGBPAUD
AUDJPYAUDJPY
AUDCADAUDCAD
AUDUSDAUDUSD
GBPCHFGBPCHF
EURAUDEURAUD
GBPCADGBPCAD
GBPUSDGBPUSD
EURUSDEURUSD

Посчитаем количество повторений базовой валюты и котируемой, составим таблицу.


GBP AUD EUR JPY CAD USD CHF
Базовая валюта4
3
2




Котируемая валюта
2

1
2
3
1

Суммировав Short Positions и Long Positions по всем валютным парам групп "Хорошая торговля" и "Средняя торговля" имеем следующие результаты:

Short Positions = 203 сделки

Long Positions = 581 сделки

Т.к. сделок в обоих направлениях много, постараемся учесть все возможные варианты фильтрации.

Напишем систему фильтрации сделок, которая не будет давать открывать сделку по валютной паре в обратную сторону, основываясь на базовую для Short Positions и Long Positions по всем валютным парам.


Не открывать
Если открыта сделка Short Positions по валютной паре
Если открыта сделка Long Positions по валютной паре

GBPCAD

Long Positions: GBPCHF, GBPUSD, GBPJPY, GBPAUD
EURGBP
Short Positions:
EURGBP
GBPCHF, GBPUSD, GBPJPY, GBPAUD

GBPCHF

Long Positions:
GBPCAD, GBPUSD, GBPJPY, GBPAUD
EURGBP
Short Positions:
EURGBP
GBPCAD, GBPUSD, GBPJPY, GBPAUD

GBPUSD

Long Positions:
GBPCAD, GBPCHF, GBPJPY, GBPAUD
EURGBP
Short Positions:
EURGBP
GBPCAD, GBPCHF, GBPJPY, GBPAUD

AUDUSD

Long Positions:
AUDCHF, AUDJPY, AUDCAD
EURAUD, GBPAUD
Short Positions:
EURAUD, GBPAUD
AUDCHF, AUDJPY, AUDCAD

CADJPY

Long Positions:
CADCHF
GBPCAD, AUDCAD, EURCAD
Short Positions:
GBPCAD, AUDCAD, EURCAD
CADCHF

EURUSD

Long Positions:
EURJPY, EURCHF, EURAUD, EURGBP, EURCAD, EURNZD

Short Positions:

EURJPY, EURCHF, EURAUD, EURGBP, EURCAD, EURNZD

EURJPY

Long Positions:
EURUSD, EURCHF, EURAUD, EURGBP, EURCAD, EURNZD

Short Positions:

EURUSD, EURCHF, EURAUD, EURGBP, EURCAD, EURNZD

EURCHF

Long Positions:
EURUSD, EURJPY, EURAUD, EURGBP, EURCAD, EURNZD

Short Positions:

EURUSD, EURJPY, EURAUD, EURGBP, EURCAD, EURNZD

EURAUD

Long Positions:
EURUSD, EURJPY, EURCHF, EURGBP, EURCAD, EURNZD

Short Positions:

EURUSD, EURJPY, EURCHF, EURGBP, EURCAD, EURNZD

USDCHF

Long Positions:
USDJPY
GBPUSD, AUDUSD, EURUSD
Short Positions:
GBPUSD, AUDUSD, EURUSD
USDJPY

USDJPY

Long Positions:
USDCHF
GBPUSD, AUDUSD, EURUSD
Short Positions:
GBPUSD, AUDUSD, EURUSD
USDCHF

AUDCHF

Long Positions:
AUDUSD, AUDJPY, AUDCAD
EURAUD, GBPAUD
Short Positions:
EURAUD, GBPAUD
AUDUSD, AUDJPY, AUDCAD

EURGBP

Long Positions:
EURUSD, EURJPY, EURCHF, EURAUD, EURCAD, EURNZD

Short Positions:

EURUSD, EURJPY, EURCHF, EURAUD, EURCAD, EURNZD

AUDJPY

Long Positions:
AUDUSD, AUDCHF, AUDCAD
EURAUD, GBPAUD
Short Positions:
EURAUD, GBPAUD
AUDUSD, AUDCHF, AUDCAD

GBPJPY

Long Positions:
GBPCAD, GBPCHF, GBPUSD, GBPAUD
EURGBP
Short Positions:
EURGBP
GBPCAD, GBPCHF, GBPUSD, GBPAUD

AUDCAD

Long Positions:
AUDUSD, AUDCHF, AUDJPY
EURAUD, GBPAUD
Short Positions:
EURAUD, GBPAUD
AUDUSD, AUDCHF, AUDJPY

CHFJPY

Long Positions:

GBPCHF, EURCHF, USDCHF, AUDCHF, CADCHF, NZDCHF
Short Positions:
GBPCHF, EURCHF, USDCHF, AUDCHF, CADCHF, NZDCHF

CADCHF

Long Positions:
CADJPY
GBPCAD, AUDCAD, EURCAD
Short Positions:
GBPCAD, AUDCAD, EURCAD
CADJPY

GBPAUD

Long Positions:
GBPCAD, GBPCHF, GBPUSD, GBPJPY
EURGBP
Short Positions:
EURGBP
GBPCAD, GBPCHF, GBPUSD, GBPJPY

EURCAD

Long Positions:
EURUSD, EURJPY, EURCHF, EURAUD, EURGBP, EURNZD

Short Positions:

EURUSD, EURJPY, EURCHF, EURAUD, EURGBP, EURNZD

EURNZD

Long Positions:
EURUSD, EURJPY, EURCHF, EURAUD, EURGBP, EURCAD

Short Positions:

EURUSD, EURJPY, EURCHF, EURAUD, EURGBP, EURCAD


Напишем систему фильтрации сделок, которая не будет давать открывать сделку по валютной паре в обратную сторону, основываясь на котируемой валюте для Short Positions и Long Positions по всем валютным парам.


Не открывать
Если открыта сделка Short Positions по валютной паре
Если открыта сделка Long Positions по валютной паре

GBPCAD

Long Positions: AUDCAD, EURCAD CADCHF, CADJPY
Short Positions: CADCHF, CADJPY
AUDCAD, EURCAD

GBPCHF

Long Positions: EURCHF, USDCHF, AUDCHF, CADCHF
Short Positions:
EURCHF, USDCHF, AUDCHF, CADCHF

GBPUSD

Long Positions: AUDUSD, EURUSD USDCHF, USDJPY
Short Positions: USDCHF, USDJPY AUDUSD, EURUSD

AUDUSD

Long Positions: GBPUSD, EURUSD USDCHF, USDJPY
Short Positions: USDCHF, USDJPY GBPUSD, EURUSD

CADJPY

Long Positions: EURJPY, USDJPY, AUDJPY, GBPJPY, CHFJPY
Short Positions:
EURJPY, USDJPY, AUDJPY, GBPJPY, CHFJPY

EURUSD

Long Positions: GBPUSD, AUDUSD
USDCHF, USDJPY
Short Positions: USDCHF, USDJPY GBPUSD, AUDUSD

EURJPY

Long Positions: CADJPY, USDJPY, AUDJPY, GBPJPY, CHFJPY
Short Positions:
CADJPY, USDJPY, AUDJPY, GBPJPY, CHFJPY

EURCHF

Long Positions: GBPCHF, USDCHF, AUDCHF, CADCHF, NZDCHF

Short Positions:
GBPCHF, USDCHF, AUDCHF, CADCHF, NZDCHF

EURAUD

Long Positions: GBPAUD
AUDUSD, AUDCHF, AUDJPY, AUDCAD
Short Positions: AUDUSD, AUDCHF, AUDJPY, AUDCAD GBPAUD

USDCHF

Long Positions: GBPCHF, EURCHF, AUDCHF, CADCHF, NZDCHF
Short Positions:
GBPCHF, EURCHF, AUDCHF, CADCHF, NZDCHF

USDJPY

Long Positions: CADJPY, EURJPY, AUDJPY, GBPJPY, CHFJPY
Short Positions:
CADJPY, EURJPY, AUDJPY, GBPJPY, CHFJPY

AUDCHF

Long Positions: GBPCHF, EURCHF, USDCHF, CADCHF, NZDCHF
Short Positions:
GBPCHF, EURCHF, USDCHF, CADCHF, NZDCHF

EURGBP

Long Positions:
GBPCAD, GBPCHF, GBPUSD, GBPJPY, GBPAUD
Short Positions: GBPCAD, GBPCHF, GBPUSD, GBPJPY, GBPAUD

AUDJPY

Long Positions: CADJPY, EURJPY, USDJPY, GBPJPY, CHFJPY
Short Positions:
CADJPY, EURJPY, USDJPY, GBPJPY, CHFJPY

GBPJPY

Long Positions: CADJPY, EURJPY, USDJPY, AUDJPY, CHFJPY
Short Positions:
CADJPY, EURJPY, USDJPY, AUDJPY, CHFJPY

AUDCAD

Long Positions: GBPCAD, EURCAD
CADJPY, CADCHF
Short Positions: CADJPY, CADCHF GBPCAD, EURCAD

CHFJPY

Long Positions: CADJPY, EURJPY, USDJPY, AUDJPY, GBPJPY
Short Positions:
CADJPY, EURJPY, USDJPY, AUDJPY, GBPJPY

CADCHF

Long Positions: GBPCHF, EURCHF, USDCHF, AUDCHF, NZDCHF
Short Positions:
GBPCHF, EURCHF, USDCHF, AUDCHF, NZDCHF

GBPAUD

Long Positions: EURAUD AUDUSD, AUDCHF, AUDJPY, AUDCAD
Short Positions: AUDUSD, AUDCHF, AUDJPY, AUDCAD EURAUD

EURCAD

Long Positions: CADJPY,CADCHF
GBPCAD, AUDCAD
Short Positions: GBPCAD, AUDCAD CADJPY,CADCHF

NZDCHF

Long Positions: GBPCHF, EURCHF, USDCHF, AUDCHF, CADCHF
Short Positions:
GBPCHF, EURCHF, USDCHF, AUDCHF, CADCHF


Допустим, эксперт работает на всех валютных парах из групп "Хорошая торговля" и "Средняя торговля".
Согласно составленным таблицам фильтрации сделок напишем код для валютной пары GBPCAD:

int start(){
//----
   OpenPositions();
//----
   return(0);
  }
//+------------------------------------------------------------------+
void OpenPositions(){
// --- Short Positions
   if (Signal(Symbol()) == -1){
      if (!ExistPositions(Symbol(), OP_SELL, Magic, 0)) OpenPosition(Symbol(), OP_SELL, 1, 0, 0, Magic);
   }

// --- Long Positions
   if (Signal(Symbol()) == 1){
      if (!ExistPositions(Symbol(), OP_BUY, Magic, 0))  OpenPosition(Symbol(), OP_BUY, 1, 0, 0, Magic);
   }
}

int Signal(string Symbols){
//----
   if (... Условие сигнала на продажу...){
      if (Symbol() == Symbols){ // Правила фильтрации для GBPCAD
         // Правила согласно базовой валюты
         if (ExistPositions("GBPCHF", OP_BUY, Magic, 0)) return(0);
         if (ExistPositions("GBPUSD", OP_BUY, Magic, 0)) return(0);
         if (ExistPositions("GBPJPY", OP_BUY, Magic, 0)) return(0);
         if (ExistPositions("GBPAUD", OP_BUY, Magic, 0)) return(0);
         if (ExistPositions("EURGBP", OP_SELL, Magic, 0))return(0);
         // Правила согласно котируемой валюты
         if (ExistPositions("AUDCAD", OP_BUY, Magic, 0)) return(0);
         if (ExistPositions("EURCAD", OP_BUY, Magic, 0)) return(0);
         if (ExistPositions("CADCHF", OP_SELL, Magic, 0)) return(0);
         if (ExistPositions("CADJPY", OP_SELL, Magic, 0)) return(0);
      }
      return(-1);
   } 
   if (... Условие сигнала на покупку...){
      if (Symbol() == Symbols){ // Правила фильтрации для GBPCAD
         // Правила согласно базовой валюты
         if (ExistPositions("GBPCHF", OP_SELL, Magic, 0)) return(0);
         if (ExistPositions("GBPUSD", OP_SELL, Magic, 0)) return(0);
         if (ExistPositions("GBPJPY", OP_SELL, Magic, 0)) return(0);
         if (ExistPositions("GBPAUD", OP_SELL, Magic, 0)) return(0);
         if (ExistPositions("EURGBP", OP_BUY, Magic, 0))  return(0);
         // Правила согласно котируемой валюты
         if (ExistPositions("AUDCAD", OP_SELL, Magic, 0)) return(0);
         if (ExistPositions("EURCAD", OP_SELL, Magic, 0)) return(0);
         if (ExistPositions("CADCHF", OP_BUY, Magic, 0)) return(0);
         if (ExistPositions("CADJPY", OP_BUY, Magic, 0)) return(0);
      }   
      return(1);
   }
//----
   return(0);
}

Весь код для всех пар в данной статье писать не буду, по аналогии легко разобраться и написать самостоятельно.

Надеюсь, данная теория по фильтрации сократит просадки и прибавит стабильности данной системе.

Заключение

1. В данной статье были рассмотрены более детализированные параметры отчета, создаваемого скриптом MQLab™ Graphic Report.

2. Были показаны методики анализа по всем валютным парам, по конкретной паре, группе валютных пар. Показана возможность комбинирования.

3. Был проведен анализ торговли эксперта и выявлены благоприятные и неблагоприятные факторы в процессе торговли.

4. Были отсеяны ряд валютных пар, как малоэффективные для данной стратегии.

5. Были разработаны меры по улучшению торговли.