Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ну чтож
Я так думаю что так быть не должно, а вы?
Почему не должно? Если в течение одной минуты не было ни одного тика, то и соответствующий минутный бар не будет сформирован. Это уже очень много раз обсуждалось.
Я беру цену закрытой минутки и пишу ее в лог.
И вот картинка, бар то сформирован
Почему не должно? Если в течение одной минуты не было ни одного тика, то и соответствующий минутный бар не будет сформирован. Это уже очень много раз обсуждалось.
А не логичней в таком случае генерировать бар у которого все цены будут ровны цене закрытия предшествующего бара?
И по поводу этого, хотел бы услышать реакцию
А не логичней в таком случае генерировать бар у которого все цены будут ровны цене закрытия предшествующего бара?
Да и для пользователей ради кого такие бары пропускаются, сделать галочку в настройках! Чтоб им они не показывались.
Ведь и индикаторы искажаются.
Нет тиков - нет баров. Прежде, чем предпринять попытку обсуждения, поищите аналогичные обсуждения на https://www.mql5.com/ru/forum и на нашем изначальном форуме https://www.mql5.com/ru/forum
Мы неоднократно высказывались по этому вопросу, наше мнение не изменится. Нет тиков - нет баров.
Нет тиков - нет баров. Прежде, чем предпринять попытку обсуждения, поищите аналогичные обсуждения на https://www.mql4.com/ и на нашем изначальном форуме https://www.mql5.com/ru/forum
Мы неоднократно высказывались по этому вопросу, наше мнение не изменится. Нет тиков - нет баров.
Ладно, действительно не о том речь щас идет.
А по поводу "Нет тиков - нет баров" отдельную ветку можно заводить.
А я в тестере вообще не смог получить значение индикатора на текущем баре в своём мультивалютнике (правда она мне и не нужна, но всё же). Вот конструкция:
double Buf[2]; // в начале программы
Hnd=CopyBuffer(M_Handl[In][AO_D],0,0,2,Buf); // В теле функции OnTimer
if(Hnd <= 0) {Print("Не удалось скопировать индикатор Ac_D. Error = ", _LastError); PlaySound("alert.wav"); return(-1);}
Indik[In][AO_D][0] = Buf[1]; // На самом деле это бар № 1
Indik[In][AO_D][1] = Buf[0]; // А это бар № 2
А 0-й бар так и не смог получить!?
Если необходимо копировать заранее известное количество данных, то лучше это делать в статически выделенный буфер, чтобы избежать излишнего перевыделения памяти.
Неважно, какое свойство имеет приемный массив - as_series=true или as_series=false, данные будут скопированы таким образом, что самый старый по времени элемент будет в начале физической памяти, отведенной под массив.
По документации Buf[1] вроде бы должен быть 0-м, но он всё же 1-й, а Buf[0] - 2-й.
Запускал мультивалютник на EURUSD H1, а данные снимал с AO на EURUSD D1.
Тоесть вы запускаете на одном инструменте, а цену текущего бара пытаетесь взять другого?
Мне кажется что тик по второму инструменту приходит позже поэтому с текущем баром напряг.
Вот лог в основном не совпадает, но раз и совпало(первая и последняя строчка).
2010.07.19 15:50:02 Core 1 Время EURUSD2010.07.01 01:34 Время GBPUSD2010.07.01 01:34 mas1(EURUSD)-1.22251 mas2(GBPUSD)-1.49516
2010.07.19 15:50:02 Core 1 Время EURUSD2010.07.01 01:33 Время GBPUSD2010.07.01 01:32 mas1(EURUSD)-1.22264 mas2(GBPUSD)-1.49512
2010.07.19 15:50:02 Core 1 Время EURUSD2010.07.01 01:32 Время GBPUSD2010.07.01 01:31 mas1(EURUSD)-1.22241 mas2(GBPUSD)-1.49515
2010.07.19 15:50:02 Core 1 Время EURUSD2010.07.01 01:31 Время GBPUSD2010.07.01 01:30 mas1(EURUSD)-1.22248 mas2(GBPUSD)-1.49523
2010.07.19 15:50:02 Core 1 Время EURUSD2010.07.01 01:30 Время GBPUSD2010.07.01 01:29 mas1(EURUSD)-1.22245 mas2(GBPUSD)-1.4951
2010.07.19 15:50:02 Core 1 Время EURUSD2010.07.01 01:29 Время GBPUSD2010.07.01 01:28 mas1(EURUSD)-1.22257 mas2(GBPUSD)-1.4948
2010.07.19 15:50:02 Core 1 Время EURUSD2010.07.01 01:28 Время GBPUSD2010.07.01 01:28 mas1(EURUSD)-1.2224 mas2(GBPUSD)-1.49467
Ключевое слово OnTimer