Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хорошо, спасибо FMIC.
На самом деле моя проблема была связана с экспертом, которым я поделился на форуме. Ваш скрипт работает отлично, большое спасибо за это, но в основном мне нужен эксперт, который может работать в режиме реального времени.
Ваши первоначальные запросы в этой теме были следующими:
Мой скрипт предоставил вам пример кода и знания для ответа на оба этих вопроса, так что теперь вы можете применить эти знания в других целях, например, в советнике, который вы хотите разработать. Все, что вам нужно сделать, это использовать мой код для использования iCustom() и тестирования точек ZigZag High и Low и применить его в коде вашего советника.
Однако другой вопрос, который вы упомянули позже, о том, как использовать данные ZigZag в советнике для оптимизации стратегии, которая уже функционирует в другом советнике, не был выдвинут или описан достаточно подробно здесь, в этой теме. Поэтому, по сути, я не могу дать совет или помочь вам, поскольку не знаю, что именно вам нужно.
Если вы прочитаете статью, которая сопровождает мой индикатор ZigZagZug в кодовой базе, вы увидите, что использование ZigZag в стратегиях и советниках непросто из-за постоянной перерисовки, и требует тщательного понимания того, как он работает и как его можно использовать в различных стратегиях и советниках.
Другими словами, брак между данными ZigZag и стратегией советника сложен и должен быть хорошо определен. Поэтому, не зная ничего о вашей текущей стратегии или о том, как она должна быть оптимизирована, я не могу предложить вам больше помощи или совета.
Поскольку понятно, что вы, возможно, не хотите быть более откровенным публично, я даже предложил вам возможность сделать это в частном порядке и бесплатно. Я разработчик программного обеспечения и обычно беру плату за такие услуги.
Кроме того, что я уже предложил вам, я не могу сделать больше или предложить вам какой-либо совет, не понимая сути проблемы, которую вы хотите решить.
Здравствуйте,
Мне удалось исправить свой код. Была ошибка в логике циклов, теперь все работает нормально, насколько я тестировал.
Те, кому интересно, могут воспользоваться им. Он предназначен для использования в качестве эксперта и использует стандартный индикатор ZigZag от metaquotes.
В основном он находит реальные точки максимума и минимума в индикаторе зигзаг. Его можно использовать для поиска низких и высоких точек в исторических данных, а также для анализа периода и амплитуды.
Он не работает в режиме реального времени! Он возвращается к последним высоким и низким значениям, поэтому в зависимости от длины последнего тренда он может вернуться назад и скорректировать значения. Не используйте его до быстрого тестирования в тестере стратегий.
FMIC, спасибо за ваши усилия и помощь.
Здравствуйте, aed71,
Здравствуйте, aed71,
Еще раз спасибо за ваши комментарии;
Я не очень хороший программист, поэтому сам код может быть не идеальным :-) Однако позвольте мне попытаться объяснить мою логику;
1-) Часть комментария может быть изменена на "каждый новый бар"...
2-) 4-) 5-) Логика использования больших массивов заключается в том, что после этого при новом процессе я буду считать бары с нулевым значением между максимумами или между максимумом и минимумом, чтобы найти период, амплитуду и т.д.. Поэтому мне нужно инициализировать массив перед его использованием, и мне не нужно иметь дело с индексом времени и т.д. Просто больше буфера, что не является большой проблемой для моего проекта в настоящее время.
3-) Я проследил зигзаг и зигзагзуг несколько раз. В зигзаге, хотя у вас есть реальные максимумы и минимумы в конце, если вы поместите эти значения в массив, вы увидите, что есть промежуточные минимумы или максимумы. Вы не можете избежать их, независимо от того, используете ли вы комбинацию mode0 и mode1/mode2. Всегда есть промежуточные минимумы и максимумы. В zigzagzug вы можете четко видеть эти точки. Кроме того, я вижу, что есть случаи, когда mode0 равен нулю, но mode1 или mode2 больше нуля, что является неправильными точками. Поэтому я решил добавить дополнительный код, чтобы избежать этих точек.
Как я уже говорил, это может быть не лучший код для поиска точек зигзага, однако сам код работает правильно в моих тестах. Я тестировал несколько раз. Я всегда рекомендую тем, кто хочет использовать этот код, предварительно протестировать его.
Вы тестировали его? Разве он не дает правильные точки. Когда вы говорите, что он не надежен или некорректен, я предполагаю, что ваши тесты не удались, так ли это?
Спасибо.
Еще раз спасибо за ваши комментарии;
Я не очень хороший программист, поэтому сам код может быть не идеальным :-) Однако позвольте мне попытаться объяснить мою логику;
1-) Часть комментария может быть изменена на "каждый новый бар"...
2-) 4-) 5-) Логика использования больших массивов заключается в том, что после этого при новом процессе я буду считать бары с нулевым значением между максимумами или между максимумом и минимумом, чтобы найти период, амплитуду и т.д.. Поэтому мне нужно инициализировать массив перед его использованием, и мне не нужно иметь дело с индексом времени и т.д. Просто больше буфера, что не является большой проблемой для моего проекта в настоящее время.
3-) Я проследил зигзаг и зигзагзуг несколько раз. В зигзаге, хотя у вас есть реальные максимумы и минимумы в конце, если вы поместите эти значения в массив, вы увидите, что есть промежуточные минимумы или максимумы. Вы не можете избежать их, независимо от того, используете ли вы комбинацию mode0 и mode1/mode2. Всегда есть промежуточные минимумы и максимумы. В zigzagzug вы можете четко видеть эти точки. Кроме того, я вижу, что есть случаи, когда mode0 равен нулю, но mode1 или mode2 больше нуля, что является неправильными точками. Поэтому я решил добавить дополнительный код, чтобы избежать этих точек.
Как я уже говорил, это может быть не лучший код для поиска точек зигзага, однако сам код работает правильно в моих тестах. Я тестировал несколько раз. Я всегда рекомендую тем, кто хочет использовать этот код, предварительно протестировать его.
Вы тестировали его? Разве он не дает правильные точки. Когда вы говорите, что он не надежен или некорректен, я предполагаю, что ваши тесты не удались, так ли это?
Спасибо.
Вы упускаете суть! Предоставленный мной код показывает, как правильно определять точки High/Low ZigZag; но вы предпочитаете игнорировать его и делать это по-своему, что делает код более сложным для понимания и медленным, а также использует больше ресурсов, чем необходимо. Почему?
Вы неправильно используете ZigZag в своем примере iCustom. Стандартный зигзаг от MetQuotes имеет ТРИ (не два) буфера (режимы или индекс линии в iCustom)
Вам нужно будет сравнить первый буфер (Mode 0) с двумя другими буферами, чтобы решить, является ли он точкой High Point или Low Point (например, если значения буферов 1 и 3 одинаковы, то это точка Low ZigZag, а если значения буферов 1 и 2 одинаковы, то это точка High Point).
Также, чтобы лучше понять, как работает ЗигЗаг и как он перерисовывается, я предлагаю поиграть с моим индикатором ZigZagZug. Однако в своем коде используйте ЗигЗаг от MetaQuotes, так как он быстрее. Моя версия выполняет больше обработки из-за дополнительных функций и поэтому работает медленнее.
PS! Если буфер 1 (Mode = 0) имеет значение 0.0, а другие буферы имеют ненулевые значения, то это старые точки перерисовки, а НЕ точки ZigZag.
В вашем коде вы используете буфер Mode 0 как Low, а буфер Mode 1 как High. Это совершенно неверно.