Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
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 В опциях чартов установлен максимум для баров в истории и на чарте гораздо более высокие, чем я использую у себя
Вопрос: Как, не импортируя вручную. заставить платформу использовать созданный файл?
Скорее всего, проблема с настройками терминала: Сервис - Настройки - Графики - Макс. баров в окне и Макс. баров в истории. Их нужно изменить на как можно бОльшие, затем перезагрузить терминал, а потом только дополнять историю.
Скорее всего, проблема с настройками терминала: Сервис - Настройки - Графики - Макс. баров в окне и Макс. баров в истории. Их нужно изменить на как можно бОльшие, затем перезагрузить терминал, а потом только дополнять историю.
Историю лучше формировать, используя ТФ М1. А потом, на его основе, формировать все старшие тайфмреймы. То есть закачивать ТФ М5 и выше при таком подходе вообще не требуется.
Конечно, 1' - точнее, чем 5'. А тики еще точнее, чем 1. Но идея - брать из того, что есть на платформе, не закачивая извне, + , как Вы верно отметили в своем предыдущем посте, - надо уложиться в ограничения по длине истории. Поэтому 5, а не 1.
Конечно, 1' - точнее, чем 5'. А тики еще точнее, чем 1. Но идея - брать из того, что есть на платформе, не закачивая извне, + , как Вы верно отметили в своем предыдущем посте, - надо уложиться в ограничения по длине истории. Поэтому 5, а не 1.
С одной стороны, хозяин - барин. С другой - в тестере гарантированно получите ошибки рассогласования.
Я работаю с переменным (событийным) таймфреймом, поэтому тестить в тестере все равно не могу. Истории использую только для извлечения интересующих меня тиков. Их могу брать из любого фрейма. Конечно, с разной точностью идентификации по времени, но это меня не волнует.
А волнует меня вот что:
1. Как заставить платформу использовать мои, не оригинальные *.hst, не импортируя их вручную через History Center: F2 + Import ?
2. Почему истории оригинальных, не моих .hst бОльшего фрейма негарантированно более длинные, чем у меньшего фрейма? А часто даже короче и или содержат разрывы (порой более, чем годовые). Как этого можно избежать?
Я работаю с переменным (событийным) таймфреймом, поэтому тестить в тестере все равно не могу.
Тестировать нестандартные ТФ в тестере можно, смотрите, например https://www.mql5.com/ru/code/13036.
Истории использую только для извлечения интересующих меня тиков. Их могу брать из любого фрейма. Конечно, с разной точностью идентификации по времени, но это меня не волнует.
А волнует меня вот что:
1. Как заставить платформу использовать мои, не оригинальные *.hst, не импортируя их вручную через History Center: F2 + Import ?
Путем создания оффлайн-графиков. Тем более, если есть тики, то вообще нет никаких ограничений.
2. Почему истории оригинальных, не моих .hst бОльшего фрейма негарантированно более длинные, чем у меньшего фрейма? А часто даже короче и или содержат разрывы (порой более, чем годовые). Как этого можно избежать?
Тестировать нестандартные ТФ в тестере можно, смотрите, например 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 и начинает их использовать. Без ручного импорта. Т.е. я запускаю несколько раз скрипт и в этом случае он продлевает все меньше и меньше файлов, так как некоторые уже продлены мной ( а может самой платформой) и уже используются платформой.
Спасибо, сомневаюсь, что тестер справится. Советник торгует 20 валютами, образуя из них кроссовые пары или цепочки, когда цепочка выгодней кросса или когда кросса нет.
Смотря, с чем справляться нужно. Если торговать по различным символам, то однозначно нет. Если же просто прочесть информацию с других символов, то справится.
evnt:
А как платформа онлайн графики строит? по hst? Или hst по графикам? Я ведь hst стандартных расширений дописываю. Почему платформа их не видит?
Советник запущен на графике, который может и не торговаться. Инфо достает по именам тикетов. Например:
if (iHigh(Name[i][j],timeFraim,j1)>...)
Откуда я (советник) эту инфо достаю (ет)? из hst?
По hst. Но со стандартными графиками будут проблемы. А вот с оффлайн-графиками проблем меньше, почти нет.
Вопрос такой: Почему на платформе (без моего вмешательства) история в бОльших фреймах не гарантированно длинней (глубже), чем в меньших фреймах. Например, Т1 до августа, Т5 до июня (т.е. короче, чем Т1), Т15 с 2013 года до 2010, Т60 до марта, Т240 до 2012.
Под Т1, я так думаю, имелось в виду М1. В этом случае все верно - чем старше ТФ, тем глубже история, а не короче. В Вашем примере история М1 до августа, М5 - до июня, т. е. длиннее, чем М1, т. к. до июня от сегодняшнего дня больше времени, чем до августа. Дело же в количестве информации. Чтобы записать историю по М1 за месяц, нужно сохранить 22 * 24 * 60 = 31 680 баров. Для истории за месяц по М5 нужно сохранить всего 6 336 баров. То есть для того же количества баров можно вместить историю за 5 месяцев и т. д.
Поэтому, если я хочу Т5 до 01.01.2015, то я в нее дописываю от августа до марта из Т60, а марта до 01.01.2015 из Т240.
Непонятно, как Вы из Н1 берете данные для М5. Разве что моделируете, но это почти то же самое, что и выдумка.
Как на платформе средствами платформы без импорта организовать историю, в которой история в бОльших фреймах была бы гарантированно длинней (глубже), чем в меньших фреймах? Понятно, что скриптом я это могу сделать, но потом их придется все равно вручную импортировать!
Еще раз: история на старших ТФ гарантированно длиннее, чем на меньших. Это уже показано мною выше. Если будет наоборот, то всегда на основании малых ТФ можно создать старшие ТФ. В итоге глубина истории по всем ТФ будет одинаковой.