Вопросы от "чайника" - страница 250

 
stringo:

заданный Вами интервал это: текущее время - текущее время (время текущего бара) плюс какое-то количество секунд (то есть некое будущее)

Что Вы хотите получить в заданном интервале? Как будет развиваться цена? "Знал бы прикуп, жил бы в Сочи"

Не. Всё проще.

У меня есть начало бара Д1.

Д1 + 86400 сутки минуток.

В этих минутках ищу макс/мин и уточняю время.

Но Bars с первой попытки вообще не работает, а с синхронизацией сильно подозреваю, что периодически врет.  Пока пытаюсь ТЗ написать, для перекрёстной проверки :)

В любом случае, проблем с Bars оказалось поболе, чем с Copy. Вот в этой теме у человека, похоже, тоже затык с Bars.

 
stringo:
Не надо обращаться с этим вопросом в сервисдеск. Какой ответ Вы хотите получить?

Ок, не буду.

PS чтоб проверили работу функции.

 
tol64:
Проконтролируйте (выведите в журнал) время начала (t[0]+b) и конца (t[0]) диапазона. Сразу разберётесь.
Этого мало. Надо перепроверять возвращаемое кол-во баров другой функцией.
 
Silent:

Ок, не буду.

PS чтоб проверили работу функции.

Я Вам сразу говорю, что Вы в любом случае получите 0 баров! Тут нечего проверять. Если Вы не поняли, почему Вы в любом случае получите 0 баров, то задайте вопрос здесь.

Встречный вопрос: а сколько баров Вы хотели получить?

 
Silent:
Этого мало. Надо перепроверять возвращаемое кол-во баров другой функцией.

Я и не говорю, что этого может быть достаточно. Но хоть с чего-нибудь же надо начать разбираться. А то так и будете буксовать на каждом шаге. )))

Проверяйте значения выводом их в журнал или в отладчике и сразу будет ясно, куда двигаться дальше.

 
stringo:

Я Вам сразу говорю, что Вы в любом случае получите 0 баров! Тут нечего проверять. Если Вы не поняли, почему Вы в любом случае получите 0 баров, то задайте вопрос здесь.

Встречный вопрос: а сколько баров Вы хотели получить?

А я не получаю стабильно 0.

1-я попытка - 0.

2-я попытка - значение, но при этом 

   bm=Bars(_Symbol,PERIOD_M1,tm[0]+b,tm[0]);
   Print("bm = "+bm);
//--- возвращает bm = например 368
   bm=Bars(_Symbol,PERIOD_M1,tm[0]-b,tm[0]);
   Print("bm = "+bm);
//--- возвращает bm = а тут 1201

И это на двух соседних барах, и второе значение стабильно будет повторяться, а первое нет.

А при запуске на минутках получал 6 в обоих случаях, при b > 50000...

В общем, ладно. Если всё хорошо с функцией, мне проще от неё отказаться.

 
tol64:

Я и не говорю, что этого может быть достаточно. Но хоть с чего-нибудь же надо начать разбираться. А то так и будете буксовать на каждом шаге. )))

Проверяйте значения выводом их в журнал или в отладчике и сразу будет ясно, куда двигаться дальше.

Это понятно всё, у меня и так уже каждый шаг принтуется, и функцию в отдельный скрипт вытащил... Ладно, подумаю на досуге.
 
Silent:
Этого мало. Надо перепроверять возвращаемое кол-во баров другой функцией.

Если не работает какая-то функция, то поиск ошибки надо начинать с проверки передаваемых в функцию параметров.

 Stringo уже прямо Вам сказал: "в функцию передаются ошибочные параметры", а Вы всё еще понять не пожете.

 
Silent:

А я не получаю стабильно 0.

1-я попытка - 0.

2-я попытка - значение, но при этом 

А при запуске на минутках получал 6 в обоих случаях, при b > 50000...

В общем, ладно. Если всё хорошо с функцией, мне проще от неё отказаться.

Не надо отказываться от функции.

Когда Вы запрашиваете данные в диапазоне "текущее время - текущее время плюс некое количество секунд", то это означает, что вы запрашиваете данные из будущего. Данных на момент запроса ещё не существует.

Если бы Вы запрашивали данные в диапазоне "текущее время - текущее время минус некое количество секунд", то значит Вы запрашиваете потенциально существующие данные.

Документация по MQL5: Дата и время / TimeCurrent
Документация по MQL5: Дата и время / TimeCurrent
  • www.mql5.com
Дата и время / TimeCurrent - Документация по MQL5
 
Contender:

Если не работает какая-то функция, то поиск ошибки надо начинать с проверки передаваемых в функцию параметров.

 Stringo уже прямо Вам сказал: "в функцию передаются ошибочные параметры", а Вы всё еще понять не пожете.

Хорошо, хорошо.

Понял, исправлюсь, пошел учиться.

Причина обращения: