Архив котировок - страница 3

 

evnt:
Пожалуйста, помогите разобраться:

Скрипт продлевает файл *.hst  заданного периода Period до заданного момента DTime информацией из более крупных фреймов одновременно для большого количества инструментов

extern datetime DTime=D'2015.01.01 00:00';//extend till destination time

extern int Period=1;//extended frame in minutes

Код приводился в предыдущих постах только убрал из него свои безуспешные попытки заставить платформу использовать продленные *.hst в историческом центре (я пытался решить вопрос при помощи ChartOpen/Close/Redraw Sleep и т.д.)

Вопрос решил импортом вручную из исторического центра продленных (моих) hst файлов в исторический центр. Так как инструментов много, то работа эта не только нудная, но и достаточно трудоемкая, сделал  за несколько подходов, за несколько дней.

Импортированные данные отображаются на графиках, с ними работают мои советники, проблем не было.

Сегодня закрыл платформу (File,Exit) и запустил ее заново. В историческом центре опять только старые данные (короткие истории)! И опять надо импортировать мои продленные hst.  В чем дело?

PS  В опциях чартов установлен максимум для баров в истории и на чарте гораздо более высокие, чем я использую у себя


 

 
evnt:

Вопрос: Как, не импортируя вручную. заставить платформу использовать созданный файл?   

Скорее всего, проблема с настройками терминала: Сервис - Настройки - Графики - Макс. баров в окне и Макс. баров в истории. Их нужно изменить на как можно бОльшие, затем перезагрузить терминал, а потом только дополнять историю.

 
Scriptong:

Скорее всего, проблема с настройками терминала: Сервис - Настройки - Графики - Макс. баров в окне и Макс. баров в истории. Их нужно изменить на как можно бОльшие, затем перезагрузить терминал, а потом только дополнять историю.

У меня  вроде бы установлены достаточные максимальные значения. Но я, пожалуй, перейду с 1' на 5', так как все равно их большими фреймами докачиваю, чтобы истории короче стали. Спасибо
 
Историю лучше формировать, используя ТФ М1. А потом, на его основе, формировать все старшие тайфмреймы. То есть закачивать ТФ М5 и выше при таком подходе вообще не требуется.
 
Scriptong:
Историю лучше формировать, используя ТФ М1. А потом, на его основе, формировать все старшие тайфмреймы. То есть закачивать ТФ М5 и выше при таком подходе вообще не требуется.

Конечно, 1' - точнее, чем 5'. А тики еще точнее, чем 1. Но идея - брать из того, что есть на платформе, не закачивая извне, + , как Вы верно отметили в своем предыдущем посте, - надо уложиться в ограничения по длине истории. Поэтому 5, а не 1.

 
evnt:

Конечно, 1' - точнее, чем 5'. А тики еще точнее, чем 1. Но идея - брать из того, что есть на платформе, не закачивая извне, + , как Вы верно отметили в своем предыдущем посте, - надо уложиться в ограничения по длине истории. Поэтому 5, а не 1.


С одной стороны, хозяин - барин. С другой - в тестере гарантированно получите ошибки рассогласования.
 
Scriptong:
С одной стороны, хозяин - барин. С другой - в тестере гарантированно получите ошибки рассогласования.

 Я работаю с переменным (событийным) таймфреймом, поэтому тестить в тестере все равно не могу. Истории использую только для извлечения интересующих меня тиков. Их  могу брать из любого фрейма. Конечно, с разной точностью идентификации по времени, но это меня не волнует. 

А волнует меня вот что:

1. Как заставить платформу использовать мои, не оригинальные *.hst, не импортируя их вручную через History Center:  F2 + Import ?

2. Почему истории оригинальных, не моих  .hst  бОльшего фрейма негарантированно  более длинные, чем у меньшего фрейма? А часто даже короче и или содержат разрывы (порой более, чем годовые). Как этого можно избежать?

 
evnt:

 Я работаю с переменным (событийным) таймфреймом, поэтому тестить в тестере все равно не могу.

Тестировать нестандартные ТФ в тестере можно, смотрите, например https://www.mql5.com/ru/code/13036.

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

А волнует меня вот что:

1. Как заставить платформу использовать мои, не оригинальные *.hst, не импортируя их вручную через History Center:  F2 + Import ?

Путем создания оффлайн-графиков. Тем более, если есть тики, то вообще нет никаких ограничений.

 2. Почему истории оригинальных, не моих  .hst  бОльшего фрейма негарантированно  более длинные, чем у меньшего фрейма? А часто даже короче и или содержат разрывы (порой более, чем годовые). Как этого можно избежать?

Возможно не так понял вопрос. Думаю, имелось в виду именно это "как избежать разрывов в истории"? В этом случае нужно найти максимально полную историю М1. Это есть на Дукасе или на Форексайте. Но их еще нужно будет конвертировать в CSV-вид, читаемый МТ4 (в Code Base где-то видел подобный скрипт). Правда, опять же, эта история неидеальная, дыры тоже встречаются. Также можете исходить из тиковой истории, которую собирают многие трейдеры. На моем сайте, к примеру, свободно доступна тиковая история за последний год для трех брокеров по 24-м символам.
 
Scriptong:

Тестировать нестандартные ТФ в тестере можно, смотрите, например https://www.mql5.com/ru/code/13036.

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

 

Путем создания оффлайн-графиков. 

А как платформа онлайн графики строит? по hst? Или hst  по графикам? Я ведь hst стандартных расширений дописываю. Почему платформа их не видит? 

Советник запущен на  графике, который может и не торговаться. Инфо достает по именам тикетов. Например:

if (iHigh(Name[i][j],timeFraim,j1)>...) 

Откуда я (советник) эту инфо достаю (ет)? из hst?

 

Возможно не так понял вопрос. Думаю, имелось в виду именно это "как избежать разрывов в истории"? В этом случае нужно найти максимально полную историю М1. Это есть на Дукасе или на Форексайте. Но их еще нужно будет конвертировать в CSV-вид, читаемый МТ4 (в Code Base где-то видел подобный скрипт). Правда, опять же, эта история неидеальная, дыры тоже встречаются. Также можете исходить из тиковой истории, которую собирают многие трейдеры. На моем сайте, к примеру, свободно доступна тиковая история за последний год для трех брокеров по 24-м символам.

Вопрос такой: Почему на платформе (без моего вмешательства) история в  бОльших фреймах не гарантированно длинней (глубже), чем в меньших фреймах. Например, Т1 до августа, Т5 до июня (т.е. короче, чем Т1),  Т15 с 2013 года до 2010, Т60 до марта, Т240 до 2012.

Поэтому, если я хочу Т5 до 01.01.2015, то я в нее дописываю от августа до марта  из Т60, а марта до 01.01.2015  из Т240.  

Как на платформе средствами платформы без импорта организовать  историю, в которой  история в бОльших фреймах была бы гарантированно длинней (глубже), чем в меньших фреймах? Понятно, что скриптом я это  могу сделать, но потом их придется все равно вручную импортировать!

И еще такой момент.  иногда! платформа сам захватывает некоторые из модифицированных hst и начинает их использовать. Без ручного импорта. Т.е. я запускаю несколько раз скрипт и в этом случае он продлевает все меньше и меньше файлов, так как некоторые уже продлены мной ( а может самой платформой) и уже используются платформой.

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

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

evnt:
А как платформа онлайн графики строит? по hst? Или hst  по графикам? Я ведь hst стандартных расширений дописываю. Почему платформа их не видит? 

Советник запущен на  графике, который может и не торговаться. Инфо достает по именам тикетов. Например:

if (iHigh(Name[i][j],timeFraim,j1)>...) 

Откуда я (советник) эту инфо достаю (ет)? из hst? 

 По hst. Но со стандартными графиками будут проблемы. А вот с оффлайн-графиками проблем меньше, почти нет.

evnt:
Вопрос такой: Почему на платформе (без моего вмешательства) история в  бОльших фреймах не гарантированно длинней (глубже), чем в меньших фреймах. Например, Т1 до августа, Т5 до июня (т.е. короче, чем Т1),  Т15 с 2013 года до 2010, Т60 до марта, Т240 до 2012.

 Под Т1, я так думаю, имелось в виду М1. В этом случае все верно - чем старше ТФ, тем глубже история, а не короче. В Вашем примере история М1 до августа, М5 - до июня, т. е. длиннее, чем М1, т. к. до июня от сегодняшнего дня больше времени, чем до августа. Дело же в количестве информации. Чтобы записать историю по М1 за месяц, нужно сохранить 22 * 24 * 60 = 31 680 баров. Для истории за месяц по М5 нужно сохранить всего 6 336 баров. То есть для того же количества баров можно вместить историю за 5 месяцев и т. д.

evnt:
Поэтому, если я хочу Т5 до 01.01.2015, то я в нее дописываю от августа до марта  из Т60, а марта до 01.01.2015  из Т240. 

 Непонятно, как Вы из Н1 берете данные для М5. Разве что моделируете, но это почти то же самое, что и выдумка.

evnt:
Как на платформе средствами платформы без импорта организовать  историю, в которой  история в бОльших фреймах была бы гарантированно длинней (глубже), чем в меньших фреймах? Понятно, что скриптом я это  могу сделать, но потом их придется все равно вручную импортировать!

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

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