В приложенных файлах MultiPercentageSegmentZZ похоже есть ошибка. Функция GetZigZagData для zz_current0, zz_current1, zz_current2 не имеет h_buff,l_buff.
Должно ли быть так?
//+------------------------------------------------------------------+//| Заполните индикаторные буферы|//+------------------------------------------------------------------+void FillIndicatorBuffers(constint i,constint total,constdatetime &time[])
{
int index=total-i-1;
int copy_total=1000;
int h_buff=2,l_buff=3;
datetime start_time_in =NULL;
datetime stop_time_in =NULL;
//--- Получите исходные данные из более высокого временного периодаdatetime stop_time=time[i]-(PeriodSeconds(HigherTimeframe)*copy_total);
CopyBuffer(zz_handle_htf,2,time[i],stop_time,h_zz_buffer_temp);
CopyBuffer(zz_handle_htf,3,time[i],stop_time,l_zz_buffer_temp);
CopyTime(_Symbol,HigherTimeframe,time[i],stop_time,t_zz_buffer_temp);
//--- Получите окончательные данные с более высокого таймфрейма
zz_higher_tf.GetZigZagData(h_zz_buffer_temp,l_zz_buffer_temp,t_zz_buffer_temp);
double htf_value=zz_higher_tf.PercentSumSegmentsDifference();
//--- Данные первого сегмента
zz_higher_tf.SegmentTimes(zz_handle_current,h_buff,l_buff,_Symbol,HigherTimeframe,_Period,0,start_time_in,stop_time_in);
zz_current0.GetZigZagData(zz_handle_current,h_buff,l_buff,_Symbol,_Period,start_time_in,stop_time_in);
//--- Данные второго сегмента
zz_higher_tf.SegmentTimes(zz_handle_current,h_buff,l_buff,_Symbol,HigherTimeframe,_Period,1,start_time_in,stop_time_in);
zz_current1.GetZigZagData(zz_handle_current,h_buff,l_buff,_Symbol,_Period,start_time_in,stop_time_in);
//--- Данные третьего сегмента
zz_higher_tf.SegmentTimes(zz_handle_current,h_buff,l_buff,_Symbol,HigherTimeframe,_Period,2,start_time_in,stop_time_in);
zz_current2.GetZigZagData(zz_handle_current,h_buff,l_buff,_Symbol,_Period,start_time_in,stop_time_in);
//--- На последнем бареif(i<total-1)
{
buffer_zz_higher_tf[i] =htf_value;
buffer_segment_0[i] =zz_current0.PercentSumSegmentsDifference();
buffer_segment_1[i] =zz_current1.PercentSumSegmentsDifference();
buffer_segment_2[i] =zz_current2.PercentSumSegmentsDifference();
}
//--- Об историиelse
{
//--- В случае появления нового бара старшего таймфреймаif(new_bar_time!=t_zz_buffer_temp[0])
{
new_bar_time=t_zz_buffer_temp[0];
//---if(i>2)
{
int f=1,s=2;
buffer_zz_higher_tf[i-f] =buffer_zz_higher_tf[i-s];
buffer_segment_0[i-f] =buffer_segment_0[i-s];
buffer_segment_1[i-f] =buffer_segment_1[i-s];
buffer_segment_2[i-f] =buffer_segment_2[i-s];
}
}
else
{
buffer_zz_higher_tf[i] =htf_value;
buffer_segment_0[i] =zz_current0.PercentSumSegmentsDifference();
buffer_segment_1[i] =zz_current1.PercentSumSegmentsDifference();
buffer_segment_2[i] =zz_current2.PercentSumSegmentsDifference();
}
}
}
//+------------------------------------------------------------------+
Более 10лет назад также был "зачарован" зигзагами и насоздавал их большое количество.
В Аттаче примеры - мультизигзаг на 9 таймфреймов и Конструктор зигзагов и т.д. небольшое количество разработок на основе зигзагов.
Но важен практический смысл. Гораздо серьезнее задача выявления тех эктремумов, от которых можно "оттолкнуться" при анализе.
Как пример:
Выбрали с помощью зигзага три экстремума. Привязали вилы Эндрюса к ним. И видим, что рынок точно дошел несколько дней назад до пунктирной линии и точно от нее отбился.
И таких картинок можно выложить огромное количество. Не любые экстремумы, найденные зигзагом можно использовать для этого.
На картинке меню с цифрами 0-10 и 12-14 - 14 алгоритмов зигзагов. А под номером 11 еще 7 алгоритмов зигзагов для поиска паттернов. Всего 21 алгоритм.
В аттаче с помощью Конструктора можно насоздавать также много алгоритмов. Можете использовать в своих разработках.
И еще картинки
Спускаемся пониже
Еще ниже спускаемся и посмотрим, как образовывался экстремум по номером 1 на графике выше
Это достигается не перемолачиванием лучей и экстремумов зигзага. И не подсчетом каких-то не вполне понятных статистических закономерностей зигзага.
Важнее найти такой алгоритм, который бы выявлял знАчимые экстремумы.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
...
Попробуйте сейчас новую версию библиотеки: EasyAndFastGUI - библиотека для создания графических интерфейсов
Попробуйте сейчас новую версию библиотеки: EasyAndFastGUI - библиотека для создания графических интерфейсов
Добавь, пожалуйста, все файлы одним архивом. Штатный архив кодобазы не обновляется при публикации новых версий.
Добавь, пожалуйста, все файлы одним архивом. Штатный архив кодобазы не обновляется при публикации новых версий.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: EasyAndFastGUI - библиотека для создания графических интерфейсов
Anatoli Kazharski, 2019.03.13 09:22
Архив с последней версией библиотеки в прицепе.
ANatoli, отличная работа!
Один вопрос...
В приложенных файлах MultiPercentageSegmentZZ похоже есть ошибка. Функция GetZigZagData для zz_current0, zz_current1, zz_current2 не имеет h_buff,l_buff.
Должно ли быть так?
Более 10лет назад также был "зачарован" зигзагами и насоздавал их большое количество.
В Аттаче примеры - мультизигзаг на 9 таймфреймов и Конструктор зигзагов и т.д. небольшое количество разработок на основе зигзагов.
Но важен практический смысл. Гораздо серьезнее задача выявления тех эктремумов, от которых можно "оттолкнуться" при анализе.
Как пример:
Выбрали с помощью зигзага три экстремума. Привязали вилы Эндрюса к ним. И видим, что рынок точно дошел несколько дней назад до пунктирной линии и точно от нее отбился.
И таких картинок можно выложить огромное количество. Не любые экстремумы, найденные зигзагом можно использовать для этого.
На картинке меню с цифрами 0-10 и 12-14 - 14 алгоритмов зигзагов. А под номером 11 еще 7 алгоритмов зигзагов для поиска паттернов. Всего 21 алгоритм.
В аттаче с помощью Конструктора можно насоздавать также много алгоритмов. Можете использовать в своих разработках.
И еще картинки
Спускаемся пониже
Еще ниже спускаемся и посмотрим, как образовывался экстремум по номером 1 на графике выше
Это достигается не перемолачиванием лучей и экстремумов зигзага. И не подсчетом каких-то не вполне понятных статистических закономерностей зигзага.
Важнее найти такой алгоритм, который бы выявлял знАчимые экстремумы.
Можно все эти MZZ9 для МТ5?