Задержите сигнал тревоги на несколько секунд - страница 4

 
GumRai:

К чему ты клонишь?

Почему? Нет ничего плохого в использовании Time[0] для обнаружения нового бара.

Оооо.

Я сделаю тест и покажу вам результаты. Речь идет об обновлении графика.

mql5:

Еще раз пытаюсь объяснить (на пальцах):
  1. Я запускаю терминал через X минут после последнего запуска.
  2. Запускаю историю инъекций, которая отсутствует (терминал не работал X минут)
  3. Вызывается индикаторOnCalculate на существующей истории prevtime = последнее известное время в истории, размер буфера индикатора N баров
  4. Пока история закачивается с сервера идет тик
  5. Вызывается индикатор OnCalculate, где Time [0] тиковое время, за которое его индикатор помнит, как prevtime, размер буфера индикатора N + 1 бар (между барами N и N + 1 есть дыра в истории)
  6. После возобновления истории снова вызываю OnCalculate индикатора, но на этот раз дыры в истории нет, но prevtime имеет более жесткую дату как Time [0] - нового бара нет (или не исчезают буферы в индикаторе), а размер буфера индикатора N + X / Timeframe баров и IndBuffer [0] не тот, что был в шаге 5
 
omissamf:
Привет, ребята, вы великолепны !!!
Я не знаю, как поблагодарить вас за сотрудничество.
Код, размещенный eevviill, работает очень хорошо, это то, что я имел в виду.
Код GumRai вместо этого делает перерисовку и дает сигнал всякий раз , когда RSI пересекает уровни 30/70.
Я вставил рабочий код в соответствии с предложениями eevviill, надеясь, что он еще послужит.

Спасибо за все, Массимо.


С удовольствием.
 
GumRai:

...

Честно говоря, я не знаю, что произойдет, когда "Барса" достигнет максимального в истории ...

Они продолжают увеличивать все, что вы установили, до следующего запуска.
 
Ovo:
Они продолжают увеличивать все, что вы установили, до следующего запуска.
Спасибо.
 
eevviill:

Ооо.

Я сделаю тест и покажу вам результаты. Речь идет об обновлении графика.

mql5:

Еще раз пытаюсь объяснить (на пальцах):
  1. Я запускаю терминал через X минут после последнего запуска.
  2. Запускаю историю инъекций, которая отсутствует (терминал не работал X минут)
  3. Вызвал индикатор OnCalculate на существующей истории prevtime = последнее известное время в истории, размер буфера индикатора N баров
  4. Пока история закачивается с сервера идет тик
  5. Вызывается индикатор OnCalculate, где Time [0] тиковое время его индикатор запоминает как prevtime, размер буфера индикатора N + 1 бар (между барами N и N + 1 есть дыра в истории)
  6. После возобновления истории снова вызываю OnCalculate индикатора, но на этот раз дыры в истории нет, но prevtime имеет более жесткую дату как Time [0] - нового бара нет (или не исчезают буферы в индикаторе), а размер буфера индикатора N + X / Timeframe баров и IndBuffer [0] не тот, что был в шаге 5

Вот так.

Операция:прикрепить ind к графику M1, закрыть терминал, через 3-6 минут открыть терминал.

Результаты.

Файлы:
 
Ovo:
Они продолжают увеличиваться независимо от того, что вы установили, до следующего запуска.

Отлично, это означает, что вы провели тестирование. Я знал, что максимальные бары на графике будут увеличиваться до следующего запуска, но не знал, что происходит с максимальными барами в истории.

Знаете ли вы, что происходит, когда советник или индикатор запущен и вы продолжаете нажимать клавишу Home. Увеличивает ли это отдачу от баров?

 
GumRai:

Отлично, это означает, что вы провели тестирование. Я знал, что максимальное количество баров на графике будет увеличиваться до следующего запуска, но не знал, что происходит с максимальным количеством баров в истории.

Знаете ли вы, что происходит, когда советник или индикатор запущен и вы продолжаете нажимать клавишу Home. Увеличивает ли это отдачу от баров?

Конечно, увеличивается, но вы, возможно, предпочтете использовать ChartNavigate вместо нажатия клавиши Home (без обид).
 
Ovo:
Конечно, он увеличивается, но вы, возможно, предпочитаете использовать ChartNavigate вместо нажатия клавиши Home (без обид).

Не обижайтесь. Если я правильно помню, ChartNavigate использует определенный формат даты и времени, который основан на американском способе. Я англичанин и не могу запомнить формат, который распознается MT4.

Но вы говорите, что Bars увеличивается при добавлении более ранних данных на график. Это значит, что добавление более ранних баров увеличивает отдачу от баров, поэтому использование Bars вместо Time[] будет определять новый бар даже тогда, когда нового бара еще не было?

 
GumRai:

Не обижайтесь. Если я правильно помню, ChartNavigate использует определенный формат даты и времени, который основан на американском способе. Я англичанин и не могу вспомнить формат, который распознается MT4.

Но вы говорите, что Bars увеличивается при добавлении более ранних данных на график. Это значит, что добавление более ранних баров увеличивает отдачу от баров, поэтому использование Bars вместо Time[] будет определять новый бар даже тогда, когда нового бара еще не было?

Конечно, я думаю, это очевидно. Что касается формата даты, то, вероятно, он не является ни американским, ни английским по умолчанию.

 
Привет, ребята. Я не хотел никого обидеть.
GumRai, код, который вы мне выложили , заставляет появляться стрелку всякий раз, когда RSI пересекает уровни 30/70, но если во время формирования свечи, RSI возвращается назад, стрелка исчезает, в то время как в коде, который я предложил eevviill, стрелка появляется через 3 секунды, если RSI пересекает уровень, и даже если возвращается, она остается неподвижной. Я не могу понять, что не так, вы слишком хороши для меня, но вот что происходит с вашим кодом.
Приветствую, Массимо.