Импульс - страница 20

 
Artyom Trishkin:
Естественно. Что мешает иметь собственный файл тиков в формате csv со структурой Время, Цена, Объём ? Жалко, что из тестера нельзя сохранить спред (историю Ask), но его можно сохранять реалтайм, а потом этот файл читать в тестере.
понятно.
 
Karputov Vladimir:
Просто "Время" - не пойдёт. Нужно или в миллисекундах, или размер паузы между тиками в миллисекундах. А само время только в начале и в конце файла - для ясности с какого промежутка времени ведётся запись.
Я имел в виду время с точностью до милисекунд.
 
Karputov Vladimir:
Просто "Время" - не пойдёт....

Почему? Не будет тестироваться... Собиральщики тиков, какие находил считают секунды... Там можно переделать на мили...

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

Т.е. в таком виде для тестера не пойдёт?

 
Roman Shiredchenko:

Почему? Не будет тестироваться... Собиральщики тиков, какие находил считают секунды... Там можно переделать на мили...

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

Т.е. в таком виде для тестера не пойдёт?

Я уже дал ответ, решающий сию проблему. Выше.
 
Artyom Trishkin:
Я уже дал ответ, решающий сию проблему. Выше.
Видел. Благодарю.
 

По поводу сборки тиков в файл *.cvs - у кого какие версии Excel и какие ограничения на количество строк в таблице?

У меня Excel 2013 - ограничение количества строк - 1 999 999 997.

 
Karputov Vladimir:

По поводу сборки тиков в файл *.cvs - у кого какие версии Excel и какие ограничения на количество строк в таблице?

У меня Excel 2013 - ограничение количества строк - 1 999 999 997.

А какая разница? Читать же файл будет программа, а не Excel ...
 
Artyom Trishkin:
А какая разница? Читать же файл будет программа, а не Excel ...

Нужно универсально делать - вдруг в Excele найдутся закономерности, которые не видно в терминале? Я так думаю, можно только три столбца делать:

Пауза, микросекунд Цена Объём


Причём цена - это массив close(). А символ и время (начало записи) будут сохраняться в названии файла (например GBPUSD.f_2015.07.20 10_48_24.csv).

 
Karputov Vladimir:

Нужно универсально делать - вдруг в Excele найдутся закономерности, которые не видно в терминале? Я так думаю, можно только три столбца делать:

Пауза, микросекунд Цена Объём


Причём цена - это массив close(). А символ и время (начало записи) будут сохраняться в названии файла (например GBPUSD.f_2015.07.20 10_48_24.csv).

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

Объём вообще по сути не нужен - он хранит количество тиков за исследуемый период (свечу, бар). Его тоже можно вычислить программно, а вот цену Ask мы больше нигде не возьмём (по крайней мере пока), кроме как сами её сохраним вместо объёма. Зато будем иметь к исследованию спред. Реальный спред. А его поведение тогда тоже можно будет исследовать наглядно. Мы же ищем импульсы, верно? Думаю поведение спреда перед импульсом тоже интересно наблюдать.

Так что моё ИМХО - храним в таком формате: Время с точностью до мс; Bid; Ask; ну можно Объём добавить;

А по поводу имени файла, как мне кажется - не плохо было бы использовать префикс в названии, например:

Data_ticks_GBPUSD_2015.07.20 10-48-24.csv

Почему в формате времени дефис, а не подчёркивание - потому, что программно нужно искать разделители. Подчёркивание разделяет принадлежность файла к тиковым данным (Data_ticks) и сам символ (GBPUSD), символ и начало даты (2015.07.20). Пробел указывает на начало времени записи (10-48-24), а дефисы в строке времени разделяют часы, минуты, секунды. Их можно быстро, и без поиска по разделителям программно поменять на правильный формат времени - 10:48:24 с помощью StringReplace(). Если они конечно нужны программе ...

 
  1. Хорошо. Время прихода тика можно записывать не в приращении, а непосредственно в микросекундах с момента начала работы MQL5-программы. Кому как надо, тот так и будет потом вычислять паузу между тиками.
  2. Тогда второе поле будет цена массива close[] - это и есть Bid.
  3. Насчёт Ask сомнение. Стоит ли его получать? Индикатор получает массив spread[] - вот его можно записывать. Кому надо - будет вычислять Ask.
  4. Имя файла в таком формате: Data_ticks_GBPUSD.f_2015.07.20 16_02_36.csv

Добавлено: Получается такая вот таблица:

Время тика, микросекунд Bid             Спред
3774846                 1.55539         19
3775156                 1.55544         19
3775266                 1.55546         19
3775514                 1.55545         19
3775715                 1.55546         19
3775825                 1.55547         19
3775906                 1.55548         19
3775984                 1.55547         19
3776060                 1.55549         19
3776135                 1.55548         19
3776209                 1.55551         19
3780395                 1.55550         19
3780598                 1.55549         19
4087710                 1.55548         19
4211786                 1.55546         19
4211864                 1.55545         19
4714858                 1.55544         19
4830308                 1.55543         19
6660164                 1.55544         19
6660282                 1.55543         19
9085846                 1.55542         19
9086033                 1.55541         19
9086138                 1.55542         19

Причина обращения: