Почему не работает? Может подскажите.. - страница 2

 
Блин.. да чтож тут непонятного?      МАшка сдвинута на 83 бара назад...   Тобишь идет сравнение цены текущей с той, которая была 83 бара назад...
 
Integer >>:

Сначала двигаем индикатор с минусом, потом ищем пересечение в точке с положительным сдвигом. Завязывайте бредить!

Если это мне - то у Вас есть возможность выложить код прям здесь без циклов. Если Вы сможетесь обойтись одним вызовом функции иМА с заданным сдвигом и чтобы работала для любого случая - признаю, что неправ. А пока останусь при своем мнении.

 
Shniperson писал(а) >>
Блин.. да чтож тут непонятного? МАшка сдвинута на 83 бара назад... Тобишь идет сравнение цены текущей с той, которая была 83 бара назад...

Вставте в свой код принты всех машек и время баров и сравните то, что Вы думает с тем, что есть на самом деле.

 
Shniperson >>:
Блин.. да чтож тут непонятного?      МАшка сдвинута на 83 бара назад...   Тобишь идет сравнение цены текущей с той, которая была 83 бара назад...  

Так Вам нужно найти пересечение мувинга с ценой или пересечение мувинга со своим же значением 83 бара назад ?

Если последнее, то просто получите 1, 2 и 83 значения и сравнивайте их между собой. Или какой там сдвиг Вам нужен. 

Успехов.




 
VladislavVG писал(а) >>

Если это мне - то у Вас есть возможность выложить код прям здесь без циклов. Если Вы сможетесь обойтись одним вызовом функции иМА с заданным сдвигом и чтобы работала для любого случая - признаю, что неправ. А пока останусь при своем мнении.

Я не про вас!

-

Без цикла можно. Сдвиг ма известен, допустим -10. Значит ближайшее значение ма нам доступно на баре 10, но оно у нас будет изменяющимся по мере формирования бара, поэтому берем сдвиг 11. Используем для определения пересечения бары цены 11-ый и 12-ый и значение ма на барах 1 и 2.

 
Integer >>:

Без можно. Сдвиг ма известен, допустим -10. Значит ближайшее значение ма нам доступно на баре 10, но оно у нас будет изменяющимся по мере формирования бара, поэтому берем сдвиг 11. Используем для определения пересечения бары цены 11-ый и 12-ый и значение ма на барах 1 и 2.

Там возможен нюанс - пересечение для мувинга с заданным сдвигом может произойти в точке, удаленной от текущего бара не на заданное количество баров (сдвиг), но с заданным уровнем цены - сейчас сходу не скажу насколько это актуально - лень напрягаться - насколько я понимаю теоретически возможно, потому я бы просто расчитал мувинг и гнал бы циклом вглубь истории до срабатывания условия на пересечение, но цену надо брать с уровня сдвига, а мувинг как расчитан - это если пытаться сделать то, что на картинке. Кстати, в данном случае лучше воспользоваться не штатной функцией расчета мувинга, а кастомной, ну или написать свою - иначе для получения каждого значения придется перерасчитывать и сам мувинг - это все время.

Удачи.

ЗЫ по размышлению - Ваш подход также будет работать реал тайм - то есть при загрузке эксперта или при переподключении первый сигнал может быть пропущен.

 
VladislavVG писал(а) >>

Там возможен нюанс - пересечение для мувинга с заданным сдвигом может произойти в точке, удаленной от текущего бара не на заданное количество баров (сдвиг), но с заданным уровнем цены - сейчас сходу не скажу насколько это актуально - лень напрягаться - насколько я понимаю теоретически возможно, потому я бы просто расчитал мувинг и гнал бы циклом вглубь истории до срабатывания условия на пересечение, но цену надо брать с уровня сдвига, а мувинг как расчитан - это если пытаться сделать то, что на картинке. Кстати, в данном случае лучше воспользоваться не штатной функцией расчета мувинга, а кастомной, ну или написать свою - иначе для получения каждого значения придется перерасчитывать и сам мувинг - это все время.

Удачи.

ЗЫ по размышлению - Ваш подход также будет работать реал тайм - то есть при загрузке эксперта или при переподключении первый сигнал может быть пропущен.

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

Если же нужна не точка пересечения, а положения цены относительно ма - тоже можно смотреть состояние на барах цены 11-ом и 12-ом, и на 1-ом и 2-ом ма.

Тему можно было не продолжать уже после комментария Виктора (Vinin'а). Отрицательного сдвига не существует.

 
Integer >>:

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

Если же нужна не точка пересечения, а положения цены относительно ма - тоже можно смотреть состояние на барах цены 11-ом и 12-ом, и на 1-ом и 2-ом ма.

Тему можно было не продолжать уже после комментария Виктора (Vinin'а). Отрицательного сдвига не существует.

Согласен.

 

Все оказалось проще )))

MA1= iMA(NULL,0,1,0,MODE_SMA,PRICE_CLOSE,1);

MA2 = iMA(NULL,0,1,0,MODE_SMA,PRICE_CLOSE,2);


MA1>Close[82]&&MA2<Close[83]

 
Shniperson >>:

Все оказалось проще )))

Можно еще проще: Close[1]>Close[82] && Close[2]<Close[83] ;)