Сравнение значений индикаторных массивов

 

Вопрос как сравнить значение двух индикаторов типа moving averag,при равeнстве провести линию на перекрестии по времяни

Так не работает,сравнивал с числом то же не работает, хотя при выводи значения выводит нормально, значение массива индикатора ExtMapBuffer[i]

for (int i = 0; i<100; i++){
if(ExtMapBuffer[i] == ExtMapBuffer1[i]){
ObjectCreate(" "+ i +" ",OBJ_VLINE,0,Time[i],0);
}
}

 

Массивы могут пересекаться по значениям но в них не будет одинаковых значений типа double.

По этому надо пересечение определять т.е. бар [i] и бар [i+1] если один меньше а другой больше,значит пересечение. 

 

Можно вычесть одно значение из другого и если модуль разности будет меньше заданного числа то сигнал,

если больше то нет сигнала.

Заданным числом можно регулировать степень сближения.

 

ну примерно так и делал спосибо

 
PavelPPP писал(а) >>

ну примерно так и делал спосибо

Лучше использовать сумму квадратов разности.

Тогда будет близко к Картам Кохонена. (если обучение добавить).

 
Vinin >>:

Лучше использовать сумму квадратов разности.

Тогда будет близко к Картам Кохонена. (если обучение добавить).

А смысл?

 
begemot61 писал(а) >>

А смысл?

Смысл всегда есть

Просто при использовании разности можно будет получить совсем неадекватный результат

Например сравнивается два вектора {10, 0} и {0, 10}

Используя сумму разностей получим 0

Используя сумму квадратов разностей получим совсем другой результат. Можно проверить легко и быстро.

((10-0)*(10-0)+(0-10)*(0-10))=200;

Причина обращения: