Доброго времени суток, уважаемые форумчане!
Назрел вот такой вопрос, как отловить пересечение MA с разными периодами?
Делаю так:
ima_fast=iMA(NULL, 0, 34, 0, MODE_SMA, PRICE_CLOSE, 0); ima_slow=iMA(NULL, 0, 55, 0, MODE_SMA, PRICE_CLOSE, 0); ima_fast1=iMA(NULL, 0, 34, 0, MODE_SMA, PRICE_CLOSE, 1); ima_slow1=iMA(NULL, 0, 55, 0, MODE_SMA, PRICE_CLOSE, 1); if ((ima_fast==ima_slow) && (ima_fast1>ima_slow1)) { // тут мы выставляем ордера и т.п. }
Дело в том, что это условие вообще никогда не выполняется, хотя в тестере рисуются 2 средние и они не раз пересекаются.
P.S. сильно только не пинайте, я еще новичок в этом деле.))
Мне кажется, что самый простой способ проверки пересечения, это проверять отрицательное или нет произведение.
Что-то типа этого.
MA01=iMA(.....); MA02=iMA(.....); MA11=iMA(.....); MA12=iMA(.....); if ((MA01-MA11)*(MA02-MA12)<0) {Пересечение было}И все.
Допустим даже Вы имеет право сравнивать два числа типа double. Но почему тем не менее Вы решили, что две функции, определенные в строго дискретных местах должны иметь где либо одинаковые значения ?
А разве нельзя сравнивать два числа типа double? И ведь линии пересекаются, разве они не имеют в точках пересеченя одинаковые значения?
Я бы написал так:
if ((ima_fast-ima_slow<(MathAbs(Delta)) && (ima_fast1>ima_slow1))
где Delta величина приближения ima_fast к ima_slow.
Да, наверное это оптимальное решение, т.к. мне еще требуется знать какая линия сверху, а какая снизу. А если в качестве Delta указать Point, нормально будет?
Допустим даже Вы имеет право сравнивать два числа типа double. Но почему тем не менее Вы решили, что две функции, определенные в строго дискретных местах должны иметь где либо одинаковые значения ?
А разве нельзя сравнивать два числа типа double? И ведь линии пересекаются, разве они не имеют в точках пересеченя одинаковые значения?
они визуально равны в точке пересечения, а вот с точностью допустим до 1000 знака после запятой неравны.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Доброго времени суток, уважаемые форумчане!
Назрел вот такой вопрос, как отловить пересечение MA с разными периодами?
Делаю так:
Дело в том, что это условие вообще никогда не выполняется, хотя в тестере рисуются 2 средние и они не раз пересекаются.
P.S. сильно только не пинайте, я еще новичок в этом деле.))