Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Просто нам чукчам не понятно, почему Вы говорите, что мы пытаемся вычитать массивы, мы делаем как показано в МКЛ4 словаре:
double macurrent=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,0); double macurrentslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,0); double maprev=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,1); double maprevslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,1); //---- if(maprev<maprevslow && macurrent>=macurrentslow) Alert("crossing up");Please, advise!
Вот код с ошибкой
А вот рабочий
ArrayCopySeries(ma_C, MODE_CLOSE, "EURUSD", PERIOD_H1); ma_6C=ma_C[1]; for(i=2; i<(3*MA_period); i++) { ma_6O+=ma_O[i]; ma_6C+=ma_C[i]; } ma_6C/=(3*MA_period);Существует ли какая то стандартная команда позволяющая эксперту
видеть пересечение средних. Например средняя периода 5 пересекает среднюю
периода 20. Может ли эксперт увидеть как человек момент пересечения,
есть ли какая то стандартная функция или команда для таких штучек?
Рисунок ниже показывает пересечение красной и зеленой средних, как
пример того, что должен увидеть эксперт и отработать этот сигнал.
М2 - вторая скользящая.
Нужно сравнить знаки разностей (М1 - М2)
на текущем и предыдущем барах.
Если они разные, значит есть пересечение.
Особый случай когда одна из разностей = 0.
Можно сделать например так
if ((M1[0] - M2[0]) != 0) { double R = 0; for (int i = 1; i < Bars && R == 0; i++) R = (M1[i] - M2[i]); if ((M1[0] - M2[0]) * R < 0) { // Знаки разные, есть пересечение .......... } }(сам не проверял)
видеть пересечение средних.
стандартной - нет
есть ли какая то стандартная функция или команда для таких штучек?
Запросто
см. словарь iMAOnArray, там даже пример приведен с пересечением
на всякий случай
double macurrent=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,0); double macurrentslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,0); double maprev=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,1); double maprevslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,1); //---- if(maprev<maprevslow && macurrent>=macurrentslow) Alert("crossing up");2Сисадмин, опять заныкалась кнопка "вход", и еще насколько я понимаю [pre] заменен [code]?