Ответить
28.10.2014, 17:16
Аватар для 165
165 165 вне форума Местный знаток
Регистрация: 30.06.2010 / Адрес: 24 регион / Сообщений: 1,305
Поблагодарили 811 раз(а) / Репутация: 816
  • Отправить сообщение для 165 с помощью ICQ

По умолчанию как узнать открылся новый бар

привет всем.
сразу не смейтесь над просьбой, просто появилась небольшая проблемка и меня прямо поставила в ступор. точнее я могу ее решить, но это сильно увеличит код, ну и само врермя выполнения проги. ну теперь о самой проблеме:
в индикаторе использую обращение к разным валютным парам и к разным таймам (вообщем мультивалютник такой). создание нового бара привязал к текущей валюте и тайму. сделал на времени открытии 0 бара. если например х не равно времени открытия 0 бара, то у нас новый бар.
Все бы ничего, но вот допустим на текущей паре появился новый бар, а на других бывает еще не создался и получается, что выдает мне информацию не первого бара, а второго.
понятно, что можно ввести переменную на каждую валютную пару и проверять время открытия, но может есть метод попроще?
если не совсем понятно Все изложил спрашивайте, просто пишу с планшета, а тут не рисунок нормально вставить не могу.
29.10.2014, 06:49
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
привет всем.
сразу не смейтесь над просьбой, просто появилась небольшая проблемка и меня прямо поставила в ступор. точнее я могу ее решить, но это сильно увеличит код, ну и само врермя выполнения проги. ну теперь о самой проблеме:
в индикаторе использую обращение к разным валютным парам и к разным таймам (вообщем мультивалютник такой). создание нового бара привязал к текущей валюте и тайму. сделал на времени открытии 0 бара. если например х не равно времени открытия 0 бара, то у нас новый бар.
Все бы ничего, но вот допустим на текущей паре появился новый бар, а на других бывает еще не создался и получается, что выдает мне информацию не первого бара, а второго.
понятно, что можно ввести переменную на каждую валютную пару и проверять время открытия, но может есть метод попроще?
если не совсем понятно Все изложил спрашивайте, просто пишу с планшета, а тут не рисунок нормально вставить не могу.
http://forexsystemsru.com/indikatory-foreks/69427-indikatory-ot-eevviill-5.html#post596494
Open on new bar
29.10.2014, 09:47
Аватар для 165
165 165 вне форума Местный знаток
Регистрация: 30.06.2010 / Адрес: 24 регион / Сообщений: 1,305
Поблагодарили 811 раз(а) / Репутация: 816
  • Отправить сообщение для 165 с помощью ICQ
http://forexsystemsru.com/indikatory-foreks/69427-indikatory-ot-eevviill-5.html#post596494
Open on new bar
Ну я же написал, что как раз и использую такой способ. Но способ подходит к текущей валюте, допустим на евро/доллар появился новый бар, это не значит что на паре фунт/доллар появился новый бар и при обращении к допустим iClose("GBPUSD",15,1) мы получим значение не последней закрытой свечки.
29.10.2014, 10:48
Аватар для eevviill
eevviill eevviill вне форума Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,035 раз(а) / Репутация: 9035
Ну я же написал, что как раз и использую такой способ. Но способ подходит к текущей валюте, допустим на евро/доллар появился новый бар, это не значит что на паре фунт/доллар появился новый бар и при обращении к допустим iClose("GBPUSD",15,1) мы получим значение не последней закрытой свечки.
А при обращении к iTime("GBPUSD",15,0)?
Да. Надо на отдельную пару отдельную переменную. Проще не будет.
165 
29.10.2014, 10:53
Аватар для 165
165 165 вне форума Местный знаток
Регистрация: 30.06.2010 / Адрес: 24 регион / Сообщений: 1,305
Поблагодарили 811 раз(а) / Репутация: 816
  • Отправить сообщение для 165 с помощью ICQ
А при обращении к iTime("GBPUSD",15,0)?
т.е. предлагаешь для GBPUSD сделать еще переменную, например
prevtime1 = iTime("GBPUSD",15,0) и дальше сверяем, появился новый бар мы увидим.
Но в своем первом сообщении я описал уже такой способ и назвал его сложным, так как у меня обращение ко всем парам которые есть в терминале, а это повлечет что переменных prevtime будет довольно большое количество. Ну конечно это не так сложно, но забивает код. Вот и думал, может есть какой более простой способ узнать на другой валютной паре появился новый бар или нет.
30.10.2014, 10:03
Регистрация: 13.03.2009 / Сообщений: 2,406
Поблагодарили 1,980 раз(а) / Репутация: 2057
Создать массивы или структуру величина 1 измерения = количеству символов.
В строчном массиве символы, в временном время последнего обращения по символу, в булевом флаг нового бара по символу.
В цикле перебрать все символы в поиске нового бара. Если по символу новый бар открылся, взвести соответствующий флаг в массиве. Если все флаги взвелись, значит по всем парам открылся новый бар - выдать сигнал и сбросить все флаги.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
165 
Ответить


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 20:15. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO