Всем, кто хотел видеть графики без пропущенных баров - сюда =) - страница 4

 
Не пробовал, и не встречал )
 
komposter, у меня есть задачка, решение которой думаю будет интересно не только мне.
У брокера InterbankFX есть воскресные бары (пара часов торговли в конце воскресенья). Я использую для анализа период D1 (строю каналы регрессии). И эти пара часов вялой торговли в 10-20 пипсов на дневках выглядят как говорится "ни к селу, ни к городу", давая лишь ненужное искажение технической картинки в 20% (1 воскресный бар / 5 полноценных баров в рабочие дни). Очень хотелось бы иметь эксперт, который бы просто эти ненужные воскресные бары удалял на чартах D1. Думал, что эту задачу можно было бы решить с помощью Вашего советника из статьи https://www.mql5.com/en/articles/mt4
Попробовал запустить скрипт AllMinutes_Step1.mq4
В нём есть задаваемый при запуске параметр:

//---- Разрешить/запретить рисовать бары в выходные
//---- Если == true, выходные останутся незаполнеными
//---- Если == false, выходные будут заполнены барами O=H=L=C
extern bool SkipWeekEnd = true;

Исходя из этого описания я подумал, что если его выставить в true, то воскресные бары должны будут автоматически уничтожиться.
Я запусти скрипт на графике EURUSD D1. И вот что он выдал:

03:45:00 AllMinutes_Step1 EURUSDm,Daily: loaded successfully
03:45:00 AllMinutes_Step1 EURUSDm,Daily: < - - - EURUSDm1440: было 2000 баров, добавлено 1 баров - - - >
03:45:00 AllMinutes_Step1 EURUSDm,Daily: < - - - Для просмотра результатов, откройте график "ALLEURUSDm1440" - - - >
03:45:00 AllMinutes_Step1 EURUSDm,Daily: removed

То есть ничего скрипт не добавил - 1 бар можно отнести на какие-то технические непредусмотренные неувязки. Но я думал, что он ещё и поудаляет воскресные ненужные бары.
Вот я и хотел бы узнать могли бы Вы скорректировать данный скрипт (а лучше сразу эксперт, делающий обновление чартов по списку валют) таким образом, чтобы он на периоде D1 удалял воскресные бары?
Думаю, что это будет ОЧЕНЬ полезным экспертом для многих трейдеров, работающих на периоде D1 у брокеров с подобными проблемами! Заранее благодарю!

PS: Кстати говоря об этой проблеме брокеру говорилось уже ранее и полгода назад InterbankFX даже в серьёз намеревался изменить серверное время на 2 часа разослав уведомление о переводе серверного времени, но потом начали поступать жалобы от других трейдеров, которые к этой технической проблеме уже ранее приспособились и брокер побоялся раз и навсегда решить эту проблему с воскресными ненужными барами, а оставил всё как было с воскресными барами.
 
SkipWeekEnd отвечает за заполнение выходных барами O=H=L=C.

По вопросу:
Мне кажется, более красивым будет вариант "изменения тайм-зоны" графика.
Хотя просто удалять воскресный бар тоже можно ;)

Постарайтесь описать задачу максимально подробно, чтоб потом 20 раз не доделывать.
Надо только удалять всё, что появилось в воскресенье? ;)
 
komposter писал (а):
SkipWeekEnd отвечает за заполнение выходных барами O=H=L=C.

По вопросу:
Мне кажется, более красивым будет вариант "изменения тайм-зоны" графика.
Хотя просто удалять воскресный бар тоже можно ;)

Постарайтесь описать задачу максимально подробно, чтоб потом 20 раз не доделывать.
Надо только удалять всё, что появилось в воскресенье? ;)


Изменение тайм-зоны может быть достаточно проблематично. Я использую для анализа 2000 баров D1, что охватывает период с 1999 года по сегодняшний день. Количество баров выбрано исходя из соображений рациональности - во-первых - оптимальная нагрузка для процессора при достаточно масштабных расчётах, а во-вторых слишком старые исторические данные могут нести информацию об уже "другом" рынке. Хотя это в принципе и не так важно для решения данной технической проблемы. Так вот если делать изменение таймзоны, то для того, чтобы сформировать новую историю D1 за такой длительный промежуток времени необходимо наличие истории более мелких периодов у брокера. Например необходимо наличие истории М30 (или H1) за этот промежуток времени. Обычно брокеры имеют историю М30 (H1) примерно до 2003 года в лучшем случае.

Вообще мне видятся следующие 2 варианта реализации требуемой идеи:
1. Воскресные бары D1 просто сшиваются с барами понедельника по принципу как это делает стандартный period converter. Остальные бары, вт,ср,чт,пт переносятся в новую историю котировок без изменений.
2. Воскресные бары D1 просто удаляются, а бары пн,вт,ср,чт,пт переносятся в новую историю котировок без каких-либо изменений. Очень хотелось бы, чтобы этот второй вариант работал и на всех остальных таймфреймах также. На данный момент времени меня интересует только М30, но лучше сделать сразу универсальный вариант, чтобы больше к этому вопросу не возвращаться.

Неплохо было бы реализовать в мультивалютном советнике оба эти варианта, которые можно было бы выбирать через внешнюю переменную эксперта.
 
solandr:
Изменение тайм-зоны может быть достаточно проблематично. Я использую для анализа 2000 баров D1, что охватывает период с 1999 года по сегодняшний день. Количество баров выбрано исходя из соображений рациональности - во-первых - оптимальная нагрузка для процессора при достаточно масштабных расчётах, а во-вторых слишком старые исторические данные могут нести информацию об уже "другом" рынке. Хотя это в принципе и не так важно для решения данной технической проблемы. Так вот если делать изменение таймзоны, то для того, чтобы сформировать новую историю D1 за такой длительный промежуток времени необходимо наличие истории более мелких периодов у брокера. Например необходимо наличие истории М30 (или H1) за этот промежуток времени. Обычно брокеры имеют историю М30 (H1) примерно до 2003 года в лучшем случае.

Можно проще - перенести куда-нибудь историю Д1, а потом импортировать со сдвигом по времени ;)
Хотя я не пробовал.

Вообще мне видятся следующие 2 варианта реализации требуемой идеи:
1. Воскресные бары D1 просто сшиваются с барами понедельника по принципу как это делает стандартный period converter. Остальные бары, вт,ср,чт,пт переносятся в новую историю котировок без изменений.
2. Воскресные бары D1 просто удаляются, а бары пн,вт,ср,чт,пт переносятся в новую историю котировок без каких-либо изменений. Очень хотелось бы, чтобы этот второй вариант работал и на всех остальных таймфреймах также. На данный момент времени меня интересует только М30, но лучше сделать сразу универсальный вариант, чтобы больше к этому вопросу не возвращаться.

Неплохо было бы реализовать в мультивалютном советнике оба эти варианта, которые можно было бы выбирать через внешнюю переменную эксперта.

Вот уже чуть конкретнее ;)
Если предыдущий вариант не подойдёт, сделаю.
 
komposter писал (а):
Можно проще - перенести куда-нибудь историю Д1, а потом импортировать со сдвигом по времени ;)
Хотя я не пробовал.


Честно говоря я не понял что имеется в виду под этим. Если у нас есть ТОЛЬКО уже сформированные бары D1, то как можно убрать воскресные бары через сдвиг по времени?
 
solandr:
Честно говоря я не понял что имеется в виду под этим. Если у нас есть ТОЛЬКО уже сформированные бары D1, то как можно убрать воскресные бары через сдвиг по времени?
Воскресный бар начинается в 22:00. Пятничный заканчивается тоже в 22:00.
Если перенести историю на 2 часа вперёд, воскресный станет понедельничным (в 00:00), а пятничный будет закрываться в 24:00.
По крайней мере, должен )
 

Всё равно не понятно. В истории котировок D1, которые предоставляет брокер у нас есть бары:

1. воскресенье OHLC (маленький бар с размахом на 10-20 пипсов. открытие в 22:00, закрытие в 23:59)
2. понедельник OHLC (полноразмерный. открытие в 00:00, закрытие в 23:59)
3. вторник OHLC (полноразмерный. открытие в 00:00, закрытие в 23:59)
4. среда OHLC (полноразмерный. открытие в 00:00, закрытие в 23:59)
5. четверг OHLC (полноразмерный. открытие в 00:00, закрытие в 23:59)
6. пятница OHLC (полноразмерный. открытие в 00:00, закрытие в 22:00)

Как мы можем произвести перерасчёт дневных баров используя 2 часа смещения, если у брокера на сервере лежат котировки баров D1 OHLC именно так как они лежат (бар D1 открывается в 00:00 каждого дня серверного времени) и никаких дополнительных промежуточных значений бара D1, которые он принимал например в 22:00 каждого дня брокер нигде специально не хранит и уж тем более не даёт скачать с сервера? Откуда мы сможем взять эту промежуточную информацию, если никакой истории более мелкого таймфрейма (H1) у брокера нет за 1999 год?

 
solandr:

Как мы можем произвести перерасчёт дневных баров используя 2 часа смещения, если у брокера на сервере лежат котировки баров D1 OHLC именно так как они лежат (бар D1 открывается в 00:00 каждого дня серверного времени) и никаких дополнительных промежуточных значений бара D1, которые он принимал например в 22:00 каждого дня брокер нигде специально не хранит и уж тем более не даёт скачать с сервера? Откуда мы сможем взять эту промежуточную информацию, если никакой истории более мелкого таймфрейма (H1) у брокера нет за 1999 год?


Да, не подумал =)
Без меньших ТФ не получится...

Сейчас попробую переделать эксперта...
 
komposter писал (а):

Сейчас попробую переделать эксперта...

Буду ждать. Заранее благодарю за помощь!
Причина обращения: