Инвестиции форекс

Торговая система в Excel: структура, страница с параметрами (ATD v1.03)
Аватар Kaur
Kaur
Сообщений: 329
Уровень 7

Продолжаю цикл статей по практике применения Excel в работе трейдера Forex. Напомню, в предыдущих статьях мы рассматривали экспорт из MT и простой пример стратегии в Excel. В этот раз мы пойдем дальше, а именно создадим структурированный файл, вынесем настройки и статистические показатели на отдельную страницу, научимся оптимизировать систему по дням недели и характеру сделки (buy/sell).

Как и прежде для обучения будет использована простая торговая система AntiTrend Daily. Т.к. в ходе тестирования этой системы я пришел к выводу, что у нее есть вполне себе хороший потенциал, то развитие системы пошло по двум направлениям — ATD Student Edition (используется в текущем обучающем цикле статей) и ATD Trade Edition (более сложные версии для исследования самой стратегии).

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


(нажмите на изображение для увеличения)
На скрине показана страница настроек ATD Student Ed. v1.03

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

  1. Страница с настройками. Разделяем настройки и ценовые данные. Для этого страницу с ценовыми данными назовем Data, а также создаем новую страницу с настройками и называем ее Settings. Переносим ячейку со значением спрэда (если ячейку вырезать, а затем вставить на новое место, то в формулах, использующих значение ячейки, автоматически произойдут нужные изменения). На странице Data я убрал все пустые строки вверху; это необходимо в дальнейшем для корректной работы формул.

  2. Размещение графика. В первой версии график размещался на странице с данными. Рекомендую держать графики на странице с настройками, чтобы было удобнее мониторить изменения при изменении параметров системы. Итак, помещаем график на страницу Settings (правой кнопкой на графике, пункт «Размещение»)
    В то же время я рекомендую помещать лишь миниатюры графиков и так, чтобы их не пересекали строки и столбцы рабочего пространства, т.е. фактически в шапку. Дело в том, что при добавлении новых строк в параметры график будет искажаться и смещаться. А в шапке останется нетронутым. В случае, если понадобиться посмотреть в увеличенном варианте — просто щелкаем правой кнопкой и выбираем пункт «Окно графика».

  3. Кириллические названия. В Excel нас интересует именно простота использования. Поэтому в цикле статей все формулы будут простые, поэтапные, с примечаниями и примерами, в кириллическом варианте. В соответствии с этим я переименовал столбцы также на русский язык за исключением распространенных Open-Close-High-Low.

  4. Закрепление областей. Советую пользоваться функцией «Закрепление областей» («Окно -> Закрепить области»). Закрепление делает использование таблиц более удобным — вы всегда видите заголовки таблицы.

  5. День недели. Добавляем новый столбец «День недели» на странице с ценовым данными сразу после столбца дат. Здесь будем, как вы уже догадались, вычислять день недели для соответствующей даты. Понадобится это для сбора статистики по дням недели и использования этой статистики при оптимизации. Тех, кто ставит под сомнение действенность подобных мер, отсылаю к книге «Долгосрочные секреты краткосрочной торговли» за авторством Ларри Вильямса. Я лично статистику очень уважаю, поговорить об этом подробнее можно в отдельной статье.
    Итак, формула для расчета дня недели очень проста:
    =ДЕНЬНЕД(XXX;2)
    Вместо XXX подставьте адрес соответствующей ячейки. Второй параметр 2 обозначает, что неделя начинается с ПН (если подставить 1, то неделя будет начинаться с ВСК).
    Эта формула будет возвращать день недели указанной даты в числовом формате (1=ПН, 2=ВТ, 3=СР и т.д.). Протягиваем формулу на весь столбец.

  6. Удаление суббот из истории. Тот, кто скачивал историю дневок с лохматого 99 года, может обнаружить, что в котировках до определённого года встречается суббота. Обычно это дни с очень маленьким объемом и маленьким диапазоном изменения цены, однако лишние дни могут привести к искажению сигнала. Лучше субботы удалить из истории, что становится возможным благодаря введению столбца с днями недели.
    Выделяем первую строку и выбираем в меню «Данные -> Фильтр -> Автофильтр». Появится фильтр сортировки на всех заголовках таблицы. Выбираем в фильтре столбца «Дни недели» число 6 — теперь в таблице у нас отобразятся только субботы.

    Осталось выделить все строки и удалить их. Удаление может занять некоторое время после удаления выберите в фильтре столбца «Все». фильтр можете удалить. Возможно, после удаления нарушаться формулы. Просто протяните их заново.

  7. Именование констант и переменных. Для лучшего понимания формул воспользуемся такой удобной функцией Excel, как присвоение имен ячейкам. Мы будем задавать имена константам и переменным, находящимся на листе Settings. Чтобы присвоить имя ячейке, нужно поставить на нее курсор и выбрать в меню пункт «Вставка -> Имя -> Присовить» Какие имена и каким ячейкам присвоены Вы можете увидеть на скрине ниже:

    Заодно я предлагаю сразу привести вид страницы настроек в соответствии со структурой. показанной на картинке. Некоторые пояснения:
    Множитель — это то число, на которое нам нужно умножать результат арифметических действий с ценами, дабы получить привычные пункты, а не 0,0025. В настройках пользователю предлагается указывать только кол-во знаков после запятой для данной ВП, а множитель будет рассчитываться автоматически по простейшей формуле:
    =10^H14
    В ячейке H14 располагается в моем случае заданное вручную кол-во знаков после запятой. Т.е. для вычисления множителя надо возвести 10 в степень количества знаков.
    Дальше в блоке настроек все должно быть понятно:
    «день недели» — какой день недели требуется выбрать или исключить (принимает значения от 1 до 5, что соответствует от ПН до ПТ);
    «выбрать/исключить» — выбрать(1) или исключить(0) выбранный день недели;
    «разрешить BUY» и «разрешить SELL» — разрешить(1) или запретить(0) сделки соответственно на покупку и на продажу.

  8. Получение сигнала. В предыдущей статье для совершения сделки мы сразу делали арифметическое действие в столбце вычисления прибыли, но по мере усложнения системы такой подход приведет к усложнению восприятия формулы и сделает ее менее гибкой для модификаций. Поэтому предлагаю ввести сигнальный принцип. Это обозначает, что мы добавляем отдельный столбец «СИГНАЛ», где 1=BUY, а -1=SELL. главная формула будет именно в этом столбце. В начале формулы всегда стоят исключения. Я думаю, что с учетом предыдущего пункта, Вы можете попробовать понять эту формулу:
    =ЕСЛИ(ИЛИ(И(День_нед<>B3;Выбрать_дн=1);И(День_нед=B3;Выбрать_дн=0));0;ЕСЛИ(И(H2="B";Buy=1);1;ЕСЛИ(И(H2="W";Sell=1);-1;0)))
    В столбце «B» у нас дата, в столбце «H» — тип свечи. В начале в скобках «ИЛИ» идут исключения, которые не зависят от характера сигнала (бай или селл), т.е. выполнение этих условий ведет к отмене сигнала. Далее уже идут условия, которые зависят от характера сигнала.

    Вычисление прибыли. В столбце «Прибыль» мы теперь только вычисляем прибыль, при условии, если был сигнал:
    =ЕСЛИ(I3=0;0;(F3-C3)*I3*Множитель-Спрэд)
    В начале идет проверка на условие наличия сигнала, затем вычисляется прибыль. Столбцы: I — сигнал, F — Close, C — Open.

  9. Результаты торговли. Формула нахождения последнего значения столбца. Здесь у нас располагается пока только результат в пунктах, т.е. последнее значение из столбца «Баланс (пп)». Часто новички, чтобы отразить подобную характеристику просто делают ссылку-формулу на последнюю ячейку нужного столбца, например, =Data!K2816, но это неправильно, т.к. в случае добавления новых ценовых данных придется подставлять в формулу новый актуальный адрес последней ячейки. Проблему решает использование специальной формулы. Допустим, что требуется найти последнее значение в столбце K. Тогда формулы будет иметь такой вид:
    =ИНДЕКС(Data!K:K;СЧЁТЗ(Data!K:K))
    Формула не будет работать правильно, если над таблицей у нас есть пустые строки.

  10. Статистические показатели.
    Количество дней торговли получаем простым вычитанием максимальной даты из минимальной даты. Если дата хранится в столбце A, то формула примет вид:
    =МАКС(Data!A:A)-МИН(Data!A:A)
    Количество сделок. Можно подсчитать отдельно кол-во сделок BUY и SELL, а затем сложить. Согласно логике работы нашей таблице с данными, все сигналы на покупку в столбце I отмечаются как «1», а на продажу "-1". Формула для подсчета количества сделок на покупку сводится к подсчету числа единиц в соответствующем столбце:
    =СЧЁТЕСЛИ(Data!I:I;"1")
    То же самое для продаж, но считаем уже "-1"

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

Скачать итоговый файл, актуальный для данной статьи, можно по ссылке ниже. Файл сохранен в MS Excel 2003.

opentraders.ru_atd-student-01-03.zip (374 Kb)

Вступайте в группу «Excel на службе трейдеров Forex» и вы будете получать уведомления о появлении новых тем по Excel!
  • +6
  • Просмотров: 8523
  • 24 июля 2010, 14:03
  • Kaur
Присоеднитесь к группе "Excel на службе трейдера Forex", чтобы
оперативно получать уведомления о появлении новых материалов -

ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться

Комментарии (15)

+
+2
Давно ждал продолжения. Хорошо, что на этот раз выложили файл Пойду изучать.
avatar

[ 1 ] hininЗарегистрирован: 22 декабря 2009 | Сообщений: 48

  • 24 июля 2010, 22:37
+
0
Осталось научить эксел торговать))
avatar

[ 2 ] PagukЗарегистрирован: 26 июля 2010 | Сообщений: 139 - суровый трейдер

  • 26 июля 2010, 20:55
+
+3
вот это тркд достойный похвалы *улыбается*, ждем продолжения, а то на пауке загнулась ветка по экселю. супер вперд
avatar

[ 1 ] deletantЗарегистрирован: 5 мая 2010 | Сообщений: 20

  • 27 июля 2010, 19:15
+
+2
Спасибо всем за отзывы. Продолжение следует…
avatar

[ 7 ] KaurЗарегистрирован: 28 сентября 2009 | Сообщений: 329 - Руслан Каюмов

  • 28 июля 2010, 20:22
+
+2
Очень надо урок про то, как ставить в экселе стопы.
avatar

[ 1 ] hininЗарегистрирован: 22 декабря 2009 | Сообщений: 48

  • 6 ноября 2010, 17:36
+
+1
Все больше склоняюсь к формату мини-статей, посвященных отдельным темам. Начну тогда со стоплоссов
avatar

[ 7 ] KaurЗарегистрирован: 28 сентября 2009 | Сообщений: 329 - Руслан Каюмов

  • 8 ноября 2010, 19:32
+
+1
Ну когда уже продолжение будет?
Давайте и про стоп-лоссы.
А где скачать ATD Trade Edition? Если не жалко.
avatar

[ 0 ] wowa78Зарегистрирован: 5 января 2011 | Сообщений: 1

  • 7 января 2011, 14:49
+
0
Спасибо за проявленный интерес. Постараюсь поработать над продолжением.

Над ATD Trade Edition тоже еще надо работать.
avatar

[ 7 ] KaurЗарегистрирован: 28 сентября 2009 | Сообщений: 329 - Руслан Каюмов

  • 9 января 2011, 21:24
+
0
блин ну подписался на группу, а новотей нет. вопрос по рализации стоп лосса и тейк профита так и не описан, организация индюков вроде в инете есть смотрел ролик. ММ тоже не раскрыт. Руслан это Вам минус.
avatar

[ 1 ] deletantЗарегистрирован: 5 мая 2010 | Сообщений: 20

  • 27 мая 2011, 12:06
+
0
По срокам никаких обещаний не давал, за материал плату не взимал, за подписку на группу тоже, поэтому претензии не принимаются.
К сожалению, приоритеты статей по Excel не на первом месте, т.к. лишь небольшое число пользователей заинтересованы в этих материалах.
avatar

[ 7 ] KaurЗарегистрирован: 28 сентября 2009 | Сообщений: 329 - Руслан Каюмов

  • 27 мая 2011, 13:26
+
0
ну обижатся не стоит, это небыло задачей поста! пипл хавает другое )))), ну будем искать. ктати по поводу востребованости, это только не восттребавоно на вашем ресурсе. в ютубе просмотр роликов просто шкалит.
avatar

[ 1 ] deletantЗарегистрирован: 5 мая 2010 | Сообщений: 20

  • 6 июня 2011, 12:02
+
0
Мне не до обид, поверьте *улыбается*
Я Вам всего лишь пояснил, почему Ваш тон неуместен.

ктати по поводу востребованости, это только не восттребавоно на вашем ресурсе. в ютубе просмотр роликов просто шкалит.

Речь не о конкретных ресурсах, а о востребованности вопроса как такового. На ютубе у роликов калиты по экселю с начала года по 3000 просмотров. Это совершенно не подпадает под определение «шкалит». У этой темы, например, просмотров больше, поэтому не нужно пытаться свалить на ресурс.
Но востребованность в описании обычной торговой стратегии или урока по MQL выше. Речь была об этом. Поэтому и приоритеты соответствующие.
avatar

[ 7 ] KaurЗарегистрирован: 28 сентября 2009 | Сообщений: 329 - Руслан Каюмов

  • 6 июня 2011, 12:22
+
0
спс уже нашел. но! дело начатое нужно закончить для потомков.
avatar

[ 1 ] deletantЗарегистрирован: 5 мая 2010 | Сообщений: 20

  • 7 июня 2011, 13:24
+
0
Оч. интересно. Не владею программированием для написания эксперта, но эксель должен спасти. Думаю будет неплохо проверить кое какие мыслишки на истории.
avatar

[ 2 ] AndrewXЗарегистрирован: 20 августа 2010 | Сообщений: 37

  • 16 июня 2011, 00:55
+
0
ВООО уже народ подтягивется, давай ребята наляжем на Руслана ))), пусть довершит начатое.
avatar

[ 1 ] deletantЗарегистрирован: 5 мая 2010 | Сообщений: 20

  • 22 июня 2011, 12:48

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий