Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Очень полезно было прочитать Ваши объяснения индикатора ZigZag по ссылке. И сейчас бы я уже успокоился, если бы у меня получилось правильно перевести код этого индикатора из MQL в WealthLab, однако, работа еще не завершена.
При попытке уловить алгоритм ЗигЗага, как раз ту часть, которую Вы объясняли на форуме, появился следующий вопрос.
//--- low val=Low[Lowest(MODE_LOW,shift+depth-1,depth)]; if val==lastlow then val=0 // Нового Low нет, поэтому val = 0 else Begin //Появилось новое Low, открытие цикла *1* lastlow=val; if (Low[shift]-val)>(deviation*Point) then val=0 //Если текущее Low выше val больше, чем на Deviation, тогда val = 0 else Begin //Если текущее Low в пределах Deviation от val, то открытие цикла *2* for back=1 to backstep Begin //Убираем Low на предыдущих back барах, выше val, открытие цикла *3* res=GetIndexValue(shift+back); if res!=0 and res>val then SetIndexValue(shift+back,0); end; //Закрытие цикла *3* end; //Закрытие цикла *2* end; //Закрытие цикла *1* SetIndexValue(shift,val);Из всего этого мне непонятно, а разве внутри основного цикла *1* текущий Low и val не должны совпадать? Ведь val - это минимальное Low за depth баров назад, включая текущий.
Из Вашего объяснения на форуме:
"Третье: у нас появилось новое донышко, запомним его на будущее в lastlow
Четвертое: если текущее Low выше val (самого низкого донышка на depth последних барах) на deviation пунктов, тогда текущее Low однозначно вылетает из кандидатов на новое донышко и опять".
Вроде и новое донышко появилось (то есть, оно должно теперь совпадать с минимальным val на depth баров), и в то же самое время допускаем, что оно выше этого самого минимального val.
Плиз, объясните :)
Спасибо.
Попробуйте сами, и если не получится, через недельку я попробую вникнуть заново.(Я убил тогда несколько дней на отлов ошибки, а для этого мне нужно было вникнуть в алгоритм)
В алгоритме я разберусь. Просто параллельно приходится вспоминать MQL, а я в его кодах уже больше года не копался :)
Вы уже мне очень помогли. Большое спасибо!
Процитирую Rosh-а:
else { lastlow=val;у нас появилось новое донышко, запомним его на будущее в lastlow".
Вначале я подумал, что появление нового донышка - это обязательно установление нового лоу, но после того, как визуализировал это дело на графике, понял, что новое донышко может быть и выше предыдущего в связи с тем, что сдвигается временное окно вправо, и на растущем тренде практически с каждым баром мы будем получать новое минимальное low, расположенное выше предыдущего.
Будем копать код дальше :)