Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1035

 
Ладно, а теперь ещё один вопрос. Как сделать так чтобы индикатор считался с определённого бара, при любом запуске или компиляции???? Ведь с каждой минутой баров становится больше.....
 
nikelodeon:
Ладно, а теперь ещё один вопрос. Как сделать так чтобы индикатор считался с определённого бара, при любом запуске или компиляции???? Ведь с каждой минутой баров становится больше.....
У бара есть определённое время. По времени и рассчитывайте нужный бар. Тогда не будет мешать что баров с каждой минутой всё больше.
 
Vit201:

Помогите переделать скрипт в функцию, чтобы добавить в советник

Постоянная ссылка на скрипт https://forum.mql4.com/ru/5872#24097

 

Вам помогли в соседней ветке, удалите этот повтор! И для вставки кода пользуйтесь кнопкой SRC cлева от видеокамеры!
 
artmedia70:
У бара есть определённое время. По времени и рассчитывайте нужный бар. Тогда не будет мешать что баров с каждой минутой всё больше.

Это всмысле число ввиде количества секунд с 1970 года?

 
nikelodeon:

Это всмысле число ввиде количества секунд с 1970 года?

Переменная int содержит именно количество секунд с 1970-го года, а переменная datetime содержит дату.

Если вам нужен определённый бар в истории, то неважно как вы его укажите - датой или количеством секунд, в любом случае переменная будет указывать на время открытия именно этого бара, независимо от прихода новых тиков и открытия новых баров.

 
Прошу помощи. Не могу понять, в чем причина - не выполняет деление, дает результат 1,00000 при любых значениях делимого и делителя.  Внизу отрывок кода                                       ps. не вставляется SRC.       Напишу так:       if(Down>Up) {rezult=Down/Up; string value=DoubleToString(rezult, 5); Alert("Down=",Down,",Up=",Up,",Zero=",Zero); Alert("СИЛА ВНИЗ=",value);}
      else {rezult=Up/Down; string value=DoubleToString(rezult, 5); Alert("Down=",Down,",Up=",Up,",Zero=",Zero); Alert("СИЛА ВВЕРХ=",value);}                             Значения Down, Up и Zero алерт выводит, а делить не хочет.
 
rapid_minus:
Прошу помощи. Не могу понять, в чем причина - не выполняет деление, дает результат 1,00000 при любых значениях делимого и делителя.  Внизу отрывок кода                                       ps. не вставляется SRC.       Напишу так:       
if(Down>Up)
 {
  rezult=Down/Up;
  string value=DoubleToString(rezult, 5);
  Alert("Down=",Down,",Up=",Up,",Zero=",Zero);
  Alert("СИЛА ВНИЗ=",value);
 }
else
 {
  rezult=Up/Down;
  string value=DoubleToString(rezult, 5);
  Alert("Down=",Down,",Up=",Up,",Zero=",Zero);
  Alert("СИЛА ВВЕРХ=",value);
 }
                             Значения Down, Up и Zero алерт выводит, а делить не хочет.

Нормально всё вставляется.

А где и какого типа объявлены переменные?

 
rapid_minus:
Прошу помощи. Не могу понять, в чем причина - не выполняет деление, дает результат 1,00000 при любых значениях делимого и делителя.  Внизу отрывок кода                                       ps. не вставляется SRC.       Напишу так:       if(Down>Up) {rezult=Down/Up; string value=DoubleToString(rezult, 5); Alert("Down=",Down,",Up=",Up,",Zero=",Zero); Alert("СИЛА ВНИЗ=",value);}
      else {rezult=Up/Down; string value=DoubleToString(rezult, 5); Alert("Down=",Down,",Up=",Up,",Zero=",Zero); Alert("СИЛА ВВЕРХ=",value);}                             Значения Down, Up и Zero алерт выводит, а делить не хочет.
result у вас не int случаем?
 
локальные переменные:  int i,up,dn,zr,Down,Up,Zero;
    double op_i,cl_i,rezult;
 
ну вот, опять не вижу SRC.           Чтоб не делать тайну на пустом месте, вот полный код моего советника по подсчету ап-даун баров за период, может это поможет спецам понять, где ошибка: