Обсуждение статьи "Вспоминаем старую трендовую стратегию: два стохастических осциллятора, MA и Фибоначчи"
Это, вероятно, статья, которую я читал, с худшим кодом, который я когда-либо видел, без обид, просто факты. Никогда не используйте это на реальном счете.
int Highest = iHighest(Symbol(),my_timeframe,MODE_REAL_VOLUME,WHOLE_ARRAY,1);
Что, по-вашему, это делает?
На большинстве символов, кроме фьючерсов и акций, нет данных о реальном объеме. На Forex это всегда будет возвращать 1. Наибольший объем всегда = 1.
Затем вы используете этот индекс (Highest, полученный на реальном объеме), чтобы получить значение High:
double highestValue = iHigh(Symbol(),my_timeframe,Highest);
Вы смешиваете вещи, которые не должны смешиваться (если только вы не знаете, что делаете). Как "высокое" значение цены связано с реальным объемом?
В любом случае, это всегда будет давать то же самое, что и High[1], что, очевидно, вы и пытались получить. Но тогда почему бы не получить его напрямую, без этих переключений через iHighest и реальный объем?
Я не буду продолжать. Вы сказали: :
цель этой статьи - помочь людям понять, как программировать на MQL5.
Если кто-то хочет понять, как программировать на MQL5, я бы рекомендовал избегать этой статьи любой ценой.
Это, вероятно, статья с худшим кодом, который я когда-либо видел, без обид, просто факты. Никогда не используйте это на реальном счете.
Что, по-вашему, это делает?
На большинстве символов, кроме фьючерсов и акций, нет данных о реальном объеме. На Forex это всегда будет возвращать 1. Наибольшее значение всегда = 1.
Тогда вы используете этот индекс (Highest, полученный на реальном объеме), чтобы получить значение High:
Вы смешиваете вещи, которые не должны смешиваться (если вы не знаете, что делаете). Как "Высокое" значение цены связано с реальным объемом?
В любом случае, это всегда будет давать то же самое, что и High[1], что, очевидно, вы и пытались получить. Но тогда почему бы не получить его напрямую, без этих переключений через iHighest и реальный объем?
Я не буду продолжать. Вы сказали :
цель этой статьи - помочь людям понять, как программировать на MQL5
Если кто-то хочет понять, как программировать на MQL5, я бы рекомендовал избегать этой статьи любой ценой.
Я объясняю стратегию, и это моя цель. Вы можете написать свою собственную программу. Это просто пример. Я нахожусь в ситуации, когда нужно показать результат, поэтому выкладываю простой советник. Настоящая цель - показать стратегию.
Да, вы правы, это не полезно для изучения программирования, это просто демонстрация стратегии.
Согласен с Аленой, худшего кодера я тоже не видел. Вот исправление, если это может помочь: (замените первую часть функции OnTick())
MqlTick tick; SymbolInfoTick(_Symbol,tick); int highest_index = iHighest(NULL,0,MODE_CLOSE,100,0); int lowest_index = iLowest(NULL,0,MODE_CLOSE,100,0); if(highest_index == -1 || lowest_index == -1) { PrintFormat("iHighest()/iLowest() call error. Error code=%d",GetLastError()); return; } double previousHigh = iHigh(NULL, PERIOD_CURRENT, highest_index); double previousLow = iLow(NULL, PERIOD_CURRENT, lowest_index); double currentHigh = iHigh(NULL, PERIOD_CURRENT, 1); double currentLow = iLow(NULL, PERIOD_CURRENT, 1);
Объяснение понятно, но в коде много лишних деклараций и строк.
Я не вижу, где сравнивается состояние МА и сходится состояние Стохастика с показанием тренда МА.
Пожалуйста, укажите на это, возможно, код можно изменить и упростить.
Я запустил советник, к сожалению, он не совершает сделок.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Вспоминаем старую трендовую стратегию: два стохастических осциллятора, MA и Фибоначчи:
Старые торговые стратегии. В этой статье представлена стратегия отслеживания тренда. Стратегия исключительно техническая и использует несколько индикаторов и инструментов для подачи сигналов и определения целевых уровней. Компоненты стратегии включают в себя: 14-периодный стохастический осциллятор, пятипериодный стохастический осциллятор, скользящую среднюю с периодом 200 и проекцию Фибоначчи (для установки целевых уровней).
Правила стратегии следующие:
(Я внес изменения в стратегию, чтобы иметь стоп-уровни на каждом уровне Фибоначчи)
На следующем рисунке показан медвежий сигнал:
В конечном итоге результаты могут варьироваться от рынка к рынку, и текущие результаты могут быть нестабильными. Стратегии работают в определенные периоды, но могут быть неэффективными в другие.
Автор: Javier Santiago Gaston De Iriarte Cabrera