EugenioKP1983: конструквия обрабатывающая час.
TimeMinute(TimeCurrent())<=23*59*03
TimeMinute(TimeCurrent()) даст число от 0 до 59, которое всегда будет меньше 23*59*03 = 4071, так что сравнение бессмысленно. Тут дело в том, что любая программа, вместо исполнения желаемого нами, делает то, что мы написали. Да еще она ехидно скажет: вы этого хотели, вот вам! Поэтому полезно каждое выражение проверять, засунув его вот так в функцию Alert(23*59*03);
Символ звездочка обозначает умножение. Выражение 23*00*05 равно нулю, так как один из сомножителей нулевой.
Все надо записать кратко в цикле:
for(int ТребуемыйЧас=23, int ТребуемаяСекунда=5, int ТребуемаяМинута=0; ТребуемаяМинута<60; ТребуемаяМинута++)
if((TimeHour(TimeCurrent())==ТребуемыйЧас) && (TimeMinute(TimeCurrent())==ТребуемаяМинута) && (TimeSe.......
Можно или сразу находить сумму, тогда обходимся без массива.
А если очень хочется применить массив, то по мере заполнения массива возможно потребуется считать количество элементов. Суммирование в цикле
int Массив[100], n=60; // массив с запасом и количество суммируемых элементов double Сумма=0; // сумма for(int i=0; i<n; i++) Сумма+=Массив[i];
TimeMinute(TimeCurrent()) даст число от 0 до 59, которое всегда будет меньше 23*59*03 = 4071, так что сравнение бессмысленно. Тут дело в том, что любая программа, вместо исполнения желаемого нами, делает то, что мы написали. Да еще она ехидно скажет: вы этого хотели, вот вам! Поэтому полезно каждое выражение проверять, засунув его вот так в функцию Alert(23*59*03);
Символ звездочка обозначает умножение. Выражение 23*00*05 равно нулю, так как один из сомножителей нулевой.
Все надо записать кратко в цикле:
for(int ТребуемыйЧас=23, int ТребуемаяСекунда=5, int ТребуемаяМинута=0; ТребуемаяМинута<60; ТребуемаяМинута++)
if((TimeHour(TimeCurrent())==ТребуемыйЧас) && (TimeMinute(TimeCurrent())==ТребуемаяМинута) && (TimeSe.......
Можно или сразу находить сумму, тогда обходимся без массива.
А если очень хочется применить массив, то по мере заполнения массива возможно потребуется считать количество элементов. Суммирование в цикле
Тоаесть такой цикл нужен для каждой минуты.... Усложняется мой скрипт ну да ладно буду искать решения
Всего один цикл. Всего строк 10 надо!
Вроде как понимаю но нучно на всё 24 часа тоесть 1440 минут
double СуммаПлюс=0; double СуммаМинус=0; double Плюс=????; double Минус=????;
for(int ТребуемыйЧас=0; ТребуемыйЧас<24; ТребуемыйЧас++)
for(int ТребуемаяМинута=0; ТребуемаяМинута<60; ТребуемаяМинута++)
Дальше секунды?
Постой себе думаю, а ведь совпадение произойдет лишь один раз. И прибавится лишь раз. СуммаПлюс будет равна в итоге Плюс, а СуммаМинус будет в итоге равна Минус. И зачем считать?
А сколько секунд? Все 24 часа - это одна строка, один цикл. Все 60 минут каждого часа - это еще одна строка, еще один цикл. Фигурные скобки могут отсутствовать. Если еще 60 секунд каждой минуты - это еще одна строка.
double СуммаПлюс=0; double СуммаМинус=0; double Плюс=????; double Минус=????;
for(int ТребуемыйЧас=0; ТребуемыйЧас<24; ТребуемыйЧас++)
for(int ТребуемаяМинута=0; ТребуемаяМинута<60; ТребуемаяМинута++)
Дальше секунды?
Постой себе думаю, а ведь совпадение произойдет лишь один раз. И прибавится лишь раз. СуммаПлюс будет равна в итоге Плюс, а СуммаМинус будет в итоге равна Минус. И зачем считать?
Вот и я о томже. Скрипт конечно у меня гиганский получился но параметры времени работают теперь четко. Спасибо
У меня ис за колличества переменных скрипт компилируется почьти 2 с половиний секунды....
Как это влияет на работу на прикрепленном графике.... заметил что TimeCurrent(); Просто висит и не показывает время. А значит и скрипт возможно не работает.
Прикрепите полученный скрипт. Предполагаю, его можно многократно сократить при полном сохранении функциональности. Или ...

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем привет.
Подскажите по работе с массивом.
Есть вот такая конструквия обрабатывающая час. В течении каждой минуты значения или попадают или не попяадают в два массива, в зависимости от переменной минус.
Вопрос в следуущем. Как получить сумму значений каждого массива.
Массивы обьявленны так
Скажем так
Массив
заполнился
56
98
65
78
Как получить сумму этих элементов. Смотрел https://docs.mql4.com/ru/array но не вижу как выбрать значения из массива а получить сумму вообще не понимаю как