Мнэээээ.
Всмысле, если я хочу минутные котировки 10-летней давности, то это надо сдвиг в несколько миллионов просто делать?
Но он тогда и сдвигаться ведь будет вместе с поступлением новых баров?
Как тогда указать в явном виде, что я хочу диапазон с первого января 01 года по последнее декабря 05, например?
А где этот брокер который предоставит М1 за 10 лет? Не видел такого...
А по истории всё через сдвиг делается, задаётся глубина в барах и обрабатываются бары по вашему алгоритму.
А, кажется понял. Скажем, если я хочу в часах вычислить и использовать в циклах даты, то я делаю так:
int timestart = (D'2008.01.01' / 3600) + 2;
int timeend = (D'2013.01.01' / 3600) + 2;
То есть, количество секунд с 1970 года, делённое на 3600 (получил количество часов), и плюс 2 - это сдвиг вперёд на нужное количество часов, правильно?
Столько копий уже было сломано на тему предсказания будущих котировок по историческим данным... Это как ехать по незнакомой дороге задом и пытаться не сьехать на обочину, глядя только на уже пройденный путь :)
Так и тут, какой смысл рассматривать советником такую древнюю историю? Я понимаю, за вчера/прошлую неделю, но котировки старше года - уже плесень.
Но если уж очень хочется, то можно вычислить, сколько минут прошло с нужного момента до текущего М1 бара, задать сдвиг на столько баров назад и скопировать в массив нужное количество баров, вернее, данные о них (Time, Open, Close, High, Low, Volume).
ArrayCopyRates() делает что-то подобное, но там нет возможности задать сдвиг, она забивает в массив данные от нулевого и до заданного бара.
Ну, с одной стороны, можно считать, что котировки хоть сейчас, хоть 5 лет назад - ни чего принципиально нового в них не будет.
С другой стороны, просто больше массив обучающих примеров. Не суть.
У меня тут новый вопрос из серии "mql4 для полных идиотов", не по теме, но не плодить же темы по каждой мелочи.
Когда я в программе индикатора в буфер записываю значение, например, Close[i], или даже Close[i] +1.0 - всё в порядке, я вижу график индикатора в терминале.
Если же я просто делаю Buffer[i] = 1.0, то никакого графика нет. WTF? Я не знаю какого-то секрета?
Ну, с одной стороны, можно считать, что котировки хоть сейчас, хоть 5 лет назад - ни чего принципиально нового в них не будет.
С другой стороны, просто больше массив обучающих примеров. Не суть.
У меня тут новый вопрос из серии "mql4 для полных идиотов", не по теме, но не плодить же темы по каждой мелочи.
Когда я в программе индикатора в буфер записываю значение, например, Close[i], или даже Close[i] +1.0 - всё в порядке, я вижу график индикатора в терминале.
Если же я просто делаю Buffer[i] = 1.0, то никакого графика нет. WTF? Я не знаю какого-то секрета?
Стройте индикатор не в основном окне. Ну и иногда разбавляйте значениями -1
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Читал справку, читал форум, читал гугл, но так и не нашёл примеров.
Я для обучения нейросетевых индикаторов хочу делать пробежки по истории котировок. И вот никак не могу найти - а как, собственно, это делать? Функции для таймсерий дают только "текущий" момент и сдвиг относительно него.