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

 

помогите начинающему чайнику

нужно 30 элементов массива вывести на принт только в 1й строке

и не так в ручную все 30

printf(" № %i, %i, %i ,...",kv_[1],kv_[2],kv_[3],...,kv_[30]);

 а сделать попроще.

Допустим если прийдется выводить по 40-50 элементов в строчку?

 
KopH:

помогите начинающему чайнику

нужно 30 элементов массива вывести на принт только в 1й строке

и не так в ручную все 30

printf(" № %i, %i, %i ,...",kv_[1],kv_[2],kv_[3],...,kv_[30]);

 а сделать попроще.

Допустим если прийдется выводить по 40-50 элементов в строчку?

в цикле собрать строку, потом запринтовать.
 

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

Краткая предыстория. Необходимо советнику получать и обрабатывать события всех графиков, а не только того, на котором он запущен. Решил прикрепить к остальным графикам индикатор, который получает события и пересылает их советнику. Индикатор поместил внутрь советника в качестве ресурса. Для того чтобы прикрепить индикатор к нужным графикам советник создает шаблон и применяет его к графикам. Но как я не указывал в шаблоне имя индикатора (и "советник.ex4::индикатор.ex4", и "\\Experts\\советник.ex4::индикатор.ex4", и "::индикатор.ex4") - его не удается найти.

 
zdd:

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

Краткая предыстория. Необходимо советнику получать и обрабатывать события всех графиков, а не только того, на котором он запущен. Решил прикрепить к остальным графикам индикатор, который получает события и пересылает их советнику. Индикатор поместил внутрь советника в качестве ресурса. Для того чтобы прикрепить индикатор к нужным графикам советник создает шаблон и применяет его к графикам. Но как я не указывал в шаблоне имя индикатора (и "советник.ex4::индикатор.ex4", и "\\Experts\\советник.ex4::индикатор.ex4", и "::индикатор.ex4") - его не удается найти.

ресурсом никак, только отдельный индикатор использовать.
[Удален]  
zdd:

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

Краткая предыстория. Необходимо советнику получать и обрабатывать события всех графиков, а не только того, на котором он запущен. Решил прикрепить к остальным графикам индикатор, который получает события и пересылает их советнику. Индикатор поместил внутрь советника в качестве ресурса. Для того чтобы прикрепить индикатор к нужным графикам советник создает шаблон и применяет его к графикам. Но как я не указывал в шаблоне имя индикатора (и "советник.ex4::индикатор.ex4", и "\\Experts\\советник.ex4::индикатор.ex4", и "::индикатор.ex4") - его не удается найти.

зачем индикатор?

из совы можно обрабатывать все события всех графиков

 
Здравствуйте, подскажите пожалуйста, как бороться с таким сообщением компилятора: 'PeriodSeconds' - function can be declared only in the global scope ааа.mq4 25 10

 
skyjet:
Здравствуйте, подскажите пожалуйста, как бороться с таким сообщением компилятора: 'PeriodSeconds' - function can be declared only in the global scope ааа.mq4 25 10

Для борьбы с этим нужно перевести написанное на язык понятный тебе


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

 
skyjet:
Здравствуйте, подскажите пожалуйста, как бороться с таким сообщением компилятора: 'PeriodSeconds' - function can be declared only in the global scope ааа.mq4 25 10

PeriodSeconds() это имя встроенной функции, скорее всего в  коде неправильный вызов, покажите строку 25.
 
evillive:
PeriodSeconds() это имя встроенной функции, скорее всего в  коде неправильный вызов, покажите строку 25.
Не вызов, а описание/объявление функции внутри другой функции, что недопустимо - об этом компилятор и говорит.
 

День добрый!  Текст ниже картинки и картинка взяты с описания одного из индикаторов в интернете. Насколько я понимаю речь идет о EMA первой и второй степени.  Подскажите пожалуйста формулу для второй степени  или ссылки на описание аналогичных тем на этом форуме.  Заранее спасибо.

 

 

Принцип УСРЕДНЕНИЯ (сглаживания) 

Если Х1 значение графика (предположим колеблется от минус Х1 до плюс Х1), точка Х5 с координатами (0;0) последняя точка усредненной линии, то значение Х2 получится при помощи усреднения первой степени или прямой (рычаг Архимеда – проигрываем в расстоянии выигрываем в силе), а значение Х3 получится при помощи усреднения второй степени или квадратной параболы. Можно видеть, что парабола обеспечивает большую гладкость усредненной линии. С ростом степени и длинны плеча гладкость возрастает. С точки зрения механики, изменение значения Х1 при усреднении первой степени связано с изменением скорости, а при усреднении второй степени с изменением ускорения. В результате усреднения N последних точек связанны соответствующим уравнением. 

Принцип ЛИНЕЙНОЙ ИНТЕРПОЛЯЦИИ 

Известно, что минимально необходимо две точки чтобы провести прямую, три точки, чтобы провести квадратную параболу, четыре кубическую и т.д. Или Х4 и Х5 для интерполяции первой степени и Х4, Х5 и Х6 для интерполяции второй степени. Чтобы интерполированные точки образовывали достаточно гладкую линию нужно, чтобы или степень или плечо интерполяции была меньше степени или плеча усреднения. При равной степени и плече получим начальное значение Х1. (индикатор работает по точкам открытия последнего бара) 

Прямая это арифметическая прогрессия, чтобы получить третью точку после первых двух:

У3= (У2-У1)+У2 = 2*У2 – У1 - возвратное уравнение первой степени для равноотстоящих точек. (Аналогично уравнению после сокращения всех коэффициентов уравнения Лагранжа) 


Принцип ТРИГОНОМЕТРИЧЕСКОЙ ИНТЕРПОЛЯЦИИ.

Используем формулу синуса двойного угла: Sin 2a = 2* Cos a* Sin a . Геометрически можно доказать её справедливость в виде : Sin 2a = 2* Cos a* Sin a - 0 

и соответственно: Sin 3a = 2* Cos a* Sin 2a - Sin a и т.д. где Cos a - косинус угла одного шага, а Sin по сути соответствующее значение графика. Тогда возвратное уравнение первой степени для синусойды около нуля выглядит: У3 = 2* Cos a * У2 – У1 . Видим полную аналогию с уравнением для прямой. В индикаторе переход от тригонометрических уравнений к линейным обеспечивается назначением периода равного единице. Cos 360 равен 1 , тогда уравнение вырождается в линейное.