четверг, 1 ноября 2012 г.

Экспорт из mt4 в эксель и расчеты


Такое письмо:

1 ноября 2012 г., 18:47 пользователь Алексей <…> написал:

Валера, добрый вечер. 
1.   Пишу в почту, так как не знаю, как прикрепить изображение. Объясни, пожалуйста, на примере как считать разницу «цена открытия – цена закрытия», потом как взять модуль и что это за модуль, это для информации, как рассчитываем среднюю, можешь показать это во вложенном файле, взял график золота?
2.   Теперь следующее: Если мы для ТФ D1 установим сетку с шагом 60 пп (например, воспользуемся для этого соответствующим индикатором, А что это за индикатор? Квадрат?), и подберем выводимый на монитор вертикальный масштаб, то мы получим именно квадрированный график и почему именно 10 баров? И что начинаем делать первое откладывать данные по вертикали или горизонтали?
Спасибо.
С Уважением,
Алексей

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

1. Расчет в экселе.

Прежде всего, нам надо загрузить котировки. Для этого в терминале mt4 идем в верхнее меню, выбираем пункт «Сервис», в нем – «Архив котировок» (или просто нажимаем F2).
У нас откроется такое окно:
  


Слева выбираем инструмент и период (таймфрейм); жмем на кнопку экспорт:



Открывается окно, в котором выбираем место, куда сохранить файл с котировками, и расширение файла (.csv, .prn, .htm):



Для дальнейшей обработки в экселе выбираем расширение «.csv»; расширение «.prn» нужно для дальнейшего использования в других программах (например, в Gannalist Professional и др.).
Жмем кнопку «Сохранить».
Теперь мы имеем сохраненный файл, но в формате «.csv». Эти данные нам надо перенести в файл экселя.
Раз Алексей просит на примере золота, то сделаем экспорт для золота – получили файл GOLD1440 (1440 – это число минут в сутках: 24х60).
Создаем файл эксель с любым именем – пусть с таким же: GOLD1440.
Открываем, идем в меню «Данные» - «Внешние данные» - «Импорт текстового файла».
Открывается окно:



Сначала внизу выбираем «Все файлы».
Затем вверху указываем место, где находится сохраненный файл GOLD1440.csv.
Жмем кнопку «Импорт».
Получаем такое окно:



Здесь оставляем все, как есть. Жмем «Далее». Появляется окно:



Ставим галочку «запятая». Идем «Далее».

Появляется сначала такое окно (показал без изменений, как оно появляется):



Мы видим, что тут представлены колонки: дата, время, цена открытия, максимальная цена, минимальная цена,  цена закрытия, объем.
Здесь сначала выберем те колонки, которые нам нужны для расчетов, а именно: первую (дата), цена открытия (третья), цена закрытия (шестая). Сверху справа нужно выбрать формат данных.
Сначала щелкая по 1 колонке выбираем формат «дата»:



Затем вторую колонку пропускаем (колонку выбираем, просто щелкая по ней мышкой):



Третьей колонке присваиваем формат «общий»:



Теперь повторяем:
Для четвертой колонки (максимальная цена) – «пропустить столбец»;
Для пятой колонки (минимальная цена) – «пропустить»;
Для шестой (цена закрытия) – «общий»;
Для седьмой (объем) – «пропустить».



После этого нажимаем на кнопку «Подробнее»:



Разделитель целой и дробной части выбираем как «.» (точка).

Жмем готово,



Получаем таблицу с курсами:



где в первом столбце – дата, во втором – цена открытия, в третьем – цена закрытия.

Теперь нам надо найти их разницу, т.е. собственную вибрацию золота на дневках. Стаим курсор в ячейку D1, и пишем в адресной строке формулу расчета.
Она всегда начинается со знака «равно» (=). Сама формула такая: «=b1-c1»:



Жмем Enter. Видим, что в ячейке D1 появилось значение:



Устанавливаем курсор в нижний правый угол ячейки D1 – курсор приобрел вид черного крестика – жмем на левую клавишу мыши, и тянем вниз, выделяя все ячейки со значениями до самого конца:



Мы видим, что все они заполнились данными. Но некоторые из них отрицательны, поскольку мы в формуле из цены открытия вычитали цену закрытия, а она, естетсвенно,  в какие-то дни выше, а в какие-то – ниже.
Для этого нам надо взять абсолютное значение (модуль) нашей разницы. Абсолютное значение числа всегда положительно, поскольку показывает, на сколько единиц это число отстоит от нуля (2 – на 2 единицы от нуля, -2 – тоже на 2 единицы, но слева; 13 – на 13 единиц от нуля, -13 – тоже на 13, но слева).

Посчитаем модуль. Для этого просто ставим курсор в первую ячейку нового столбца (ячейка E1), и пишем в адресной строке формулу: «=ABS(d1)»:



Затем, поступая так же, как на предыдущем шаге, устанавливая курсор в правый нижний угол этой новой ячейки, растягиваем ячейки до конца нашего диапазона данных



Теперь мы видим, что все значения стали положительными.
Считаем среднюю. Для этого выделяем весь диапазон, и жмем кнопку «Сумма»:



После этого сумму 20933,66 делим на количество имеющихся дней, т.е. на 3242:

20933,66 : 3242 = 6,45702.

Здесь была ошибка в начале, т.к. я с этим инструментом не работаю и сразу не заметил - поправил!

Золото котируется до 2-х знаков после запятой, т.е. 1 пункт запишется так: 0,01.

Мы получили значение 6,45. Это означает 645 пп/бар: 6,45 : 0,01 = 645.

Таким образом, собственная вибрация золота открытие-закрытие на ТФ D1: 

СВОЗ = 645 пп/бар.

2. Теперь ответ на второй вопрос – «почему именно 10 дней (баров)»?

ОТВЕТ:  Никакого особого смысла в выборе именно 10 дней нет. Нам нужен квадрат 1х1, т.е. 1 день на 60 пп. Если брать 1 день, то этот квадратик выглядел бы на картинке очень мальеньким. Поэтому я взял 10 дней т 600 пп. Мог бы взять 5 дней и 300 пп, или 20 дней и 1200 пп.
Так что 10 дней взято просто для удобства изображения.
Главное – это соотношение 60 пп на 1 день.

 Индикатор берем ЗДЕСЬ

Валера "asttrader"

4 комментария:

Анонимный комментирует...

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

Valery Asttrader комментирует...

Привет, Леш.
Хорошо, если пошло на пользу.
По Ганну, конечно, есть еще много чего сказать - тема практически неисчерпаемая: много нюансов и тонкостей. Так что еще материала много... Да и основы теории еще не закончил объяснять.

Анонимный комментирует...

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

Valery Asttrader комментирует...

Да это неважно - какие вопросы. Элементарные или нет - это вещь субъективная. Главное, чтобы на пользу шло...
Так что задавай.