Оч хорошо!
// Находит вершины ЗигЗага с мин. коленом >= Pips void GetZigZag( double Pips ) { bool FlagUP = TRUE; double Max, Min; double PriceHigh, PriceLow; int N = Bars - 1, Pos = N - 1; Max = High[N]; Min = Low[N]; while (Pos >= 0) { PriceHigh = High[Pos]; PriceLow = Low[Pos]; if (FlagUP) { if (PriceHigh > Max) { // Текущая не окончательно сформированная верхняя вершина: Max = PriceHigh; N = Pos; } else if (Max - PriceLow >= Pips) { // Окончательно сформированная верхняя вершина: Buffer[N] = Max; FlagUP = FALSE; Min = PriceLow; N = Pos; } } else // (FlagUP == FALSE) { if (PriceLow < Min) { // Текущая не окончательно сформированная нижняя вершина: Min = PriceLow; N = Pos; } else if (PriceHigh - Min >= Pips) { // Окончательно сформированная нижняя вершина: Buffer[N] = Min; FlagUP = TRUE; Max = PriceHigh; N = Pos; } } Pos--; } return; }
Отличная работа!
А не могли бы добавить еще 2 буфера: чтобы выводились как сигналы (разным цветом)
double PriceHigh, PriceLow;
Отличная работа!
А не могли бы добавить еще 2 буфера: чтобы выводились как сигналы (разным цветом)
double PriceHigh, PriceLow;
Вы имеете в виду луч вверх один цвет, а луч вниз другой цвет? Если да - то как бы бессмысленно - итак хорошо видно. Честно говоря, я этот код ваял для советника, чтобы быстро тестировал, правда, лепить его буду только сейчас (посему цветовая раскраска как бы по-барабану) а вот сейчас доделываю по ходу на базе этого индюк, на каждом экстремуме текстовая метка, указывающая отношение высоты последнего колена к предпоследнему. Если нормально получится, докину его сюда, правда, работать он уже с такой скоростью не будет - создание объектов дело неторопливое :)
Max = High[N]; Min = Low[N]; //я так понимаю. что это:
High[N]=High[iHighest(NULL,0,MODE_HIGH,ExtPeriod,i)]; Low[N] L=Low[iLowest(NULL,0,MODE_LOW,ExtPeriod,i)];
которые мы предварительно заполняем через while() ?
или я ошибаюсь?
#property indicator_chart_window #property indicator_buffers 1 #property indicator_color1 White extern int Pips=10; double Buffer[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators IndicatorBuffers(3); SetIndexBuffer(0,Buffer); SetIndexStyle(0,DRAW_SECTION,STYLE_DOT,1); SetIndexDrawBegin(0,Bars-Pips); SetIndexEmptyValue(0,0.0); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { bool FlagUP = TRUE; double Max, Min; double PriceHigh, PriceLow; int N = Bars - 1, Pos = N - 1; Max = High[N]; Min = Low[N]; while (Pos >= 0) { PriceHigh = High[Pos]; PriceLow = Low[Pos]; if (FlagUP) { if (PriceHigh > Max) { // Текущая не окончательно сформированная верхняя вершина: Max = PriceHigh; N = Pos; } else if (Max - PriceLow >= Pips) { // Окончательно сформированная верхняя вершина: Buffer[N] = Max; FlagUP = FALSE; Min = PriceLow; N = Pos; } } else // (FlagUP == FALSE) { if (PriceLow < Min) { // Текущая не окончательно сформированная нижняя вершина: Min = PriceLow; N = Pos; } else if (PriceHigh - Min >= Pips) { // Окончательно сформированная нижняя вершина: Buffer[N] = Min; FlagUP = TRUE; Max = PriceHigh; N = Pos; } } Pos--; } return(0); }
ну и ничего не рисует... или ещё что-то надо? проще, закончите свою мысль в практическом исполнении, чтобы можно было заценить, а то гадаем на кофейной гуще
Хрень какая-то. А почему она не показывает сигналы? Почему не торгует? Почему не зарабатывает по 200% в день? Вобщем атстой. Ф топку)))
Хрень какая-то. А почему она не показывает сигналы? Почему не торгует? Почему не зарабатывает по 200% в день? Вобщем атстой. Ф топку)))
Может вы еще за меня и есть будете? АГА...
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Просто ZZ (зиг-заг):
Author: George