Mql программирование для Форекс

Лучший Форекс-брокер за этот месяц - Forex4you

Программирование MQL4. Урок 1.


В этой статье раскрыты следующие темы:

Mql программирование для Форекс

Насколько вам интересно изучить программирование MQL4? Это открывает широкие перспективы для любого трейдера Форекс. Ведь вы сможете создать торгового советника почти любой сложности. Советники могут быть отображением практически любой торговой стратегии, а значит, имеет место диверсификация. Само понятие автоматической торговли подразумевает множество выгод – больше свободного времени, уменьшение эмоциональной нагрузки, оптимизация торговли и диверсификация рисков.


Итак, сегодня мы будет вести разговор о программировании MQL4. Также советуем ознакомиться с видео “Как создать советник MQL4?”

Язык программирования MQL4 – что и как?

Возможно, вы знаете, что в торговом терминале МТ4 имеется собственный язык программирования – т.н. MetaQuotes Language (сокращённо MQL). Наиболее популярна версия 4, хотя некоторые практикуют также написание советников на MQL5 – для МТ5.

Данный язык позволяет как написать собственный индикатор, скрипт или торгового советника (эксперта), так и придумывать различные аналитические функции, чтобы анализировать рыночную ситуацию.

Индикатор – программа, графически отображающая на графике определённые расчёты. На одном графике может одновременно находиться сколько угодно индикаторов.

Скрипт – небольшая программа, которая одноразово выполняет определённое действие. Например, при нажатии определённой клавиши для открытого ордера устанавливаются фиксированные стоп лосс и тейк профит.

Торговый советник – программа, которая выполняет самые различные действия: выводит какую-либо информацию на график, открывает-закрывает сделки, устанавливает, отменяет и изменяет стоп-ордера и многое другое. Фактически, советник является программным отображением определённой торговой системы (стратегии). Иногда советников называют Механическими Торговыми Системами (МТС). Главная особенность МТС – полная автономность.

Рекомендуемый брокер для торговли — Alpari или RoboForex.

Язык программирования MQL4 – стартуем!

Синтаксис языка MQL4 очень похож на известный С (тот, с которого пошли С+ и С++). Поэтому если вы умеете программировать на С, то MQL4 изучите без проблем. Различия лишь в том, что последний является упрощённым вариантом С, а также “заточен” под написание индикаторов и МТС.

Полным новичкам сначала будет непривычно, но начните с простых основ, а потом постепенно переходите к сложным функциям – и всё получится! Вам пригодится как книга-руководство по языку
http://docs.mql4.com/ru/index
так и специализированнее форумы, где имеются ответы на часто задаваемые вопросы, а также много готовых советников Форекс – как и индикаторов со скриптами.
www.mql4.com/ru
www.mql5.com/ru

Преимущества программирования MQL4

● Реализация собственных идей для прибыльного трейдинга.

● Новое направление для саморазвития.

● Возможность написания платных советников на заказ.

● Более глубокое понимание торговых операций.

● Новые идеи для торговли.

● Возможность проведения любого статистического анализа.

Ленивые или занятые трейдеры всегда могут обратиться за помощью к профессиональному программисту, который за условно небольшую плату (от 50$ и выше) напишет вам торгового советника “под ключ”. Всё же советуем изучить хотя бы основы языка программирования MQL4 – это поможет вам более точно объяснить программисту, какой торговый алгоритм вы хотите получить на выходе.

Желаем прибыльной автоматической торговли и помните, что прибыльность торговли очень сильно зависит от выбранного вами брокера!

Статьи по программированию на языках MQL4 и MQL5

Изучайте язык программирования торговых стратегий MQL5 по опубликованным здесь статьям, большая часть которых написана вами — членами сообщества. Все статьи разделены на категории для быстрого поиска ответа по тому или иному аспекту программирования: «Интеграция», «Тестер», «Торговые стратегии» и многое другое.

Следите за новыми публикациями и участвуйте в их обсуждении на форуме!

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXII): Торговые классы — Основной торговый класс, контроль ограничений

В статье начнём создавать основной торговый класс библиотеки и наделим его первую версию функционалом первичной проверки разрешений на проведение торговых операций. Также немного расширим возможности

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXI): Торговые классы — Базовый кроссплатформенный торговый объект

В статье начнём новый раздел библиотеки — торговые классы, и рассмотрим создание единого базового торгового объекта для платформ MetaTrader 5 и MetaTrader 4. Такой торговый объект будет подразумевать

Рецепты MQL5 – Стресс-тестирование торговой стратегии с помощью пользовательских символов

В статье рассматривается подход по стресс-тестированию торговых стратегий с помощью пользовательских символов. Для этих целей создаётся класс пользовательского символа. С его помощью идёт работа по

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XX): Создание и хранение ресурсов программы

В статье рассмотрим способ хранения данных в исходниках программы и создание из них звуковых и графических файлов. Часто при создании программы, нам требуется использовать звуки и изображения. В языке

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIX): Класс сообщений библиотеки

В статье рассмотрим класс вывода текстовых сообщений. Сейчас у нас имеется достаточное количество различных текстовых сообщений, и уже стоит подумать о реорганизации способа их хранения, вывода и

Парсинг HTML с помощью curl

В статье описывается простейшая библиотека с использованием сторонних компонентов для парсинга HTML-кода. Из неё вы узнаете как добраться до данных, которые нальзя получить GET и POST запросами. Мы

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XVIII): Интерактивность объекта-аккаунт и любых других объектов библиотеки

В статье организована работа объекта-аккаунт на новом базовом объекте всех объектов библиотеки, доработан базовый объект CBaseObj и протестирована установка отслеживаемых параметров, а также получение

Новый подход к интерпретации классической и обратной дивергенции. Часть 2

В этой статье мы критическом ключе рассмотрим классическую дивергенцию и проанализируем эффективность различных индикаторов. А также предложим варианты фильтрации для повышения точности анализа и

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XVII): Интерактивность объектов библиотеки

Сегодня доведём до логического завершения функционал базового объекта всех объектов библиотеки, который позволит любому объекту библиотеки, созданному на его основе, интерактивно взаимодействовать с

Выцарапываем профит до последнего пипса

В статье сделана попытка совместить теорию с практикой на поприще алготрейдинга. Большинство разговоров на тему создания Торговых Систем связано с использованием исторических ценовых баров и различных

Исследования технических фигур Меррилла

В этой мы статье рассмотрим модель технических фигур Меррилла и попробуем выяснить, насколько актуальны эти технические паттерны сегодня. Для этого мы создадим инструмент для их тестирования и

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XVI): События коллекции символов

В статье создадим новый базовый класс для всех объектов библиотеки, который добавит событийный функционал всем своим наследникам, и создадим класс отслеживания событий коллекции символов на основе

Создаем кроссплатформенный советник-сеточник (Часть III): сетка на коррекциях с мартингейлом

В этой статье мы попробуем создать лучший из возможных советников, работающих по принципу сеточника. Как обычно, это будет кроссплатформенный советник, способный работать как в MetaTrader 4, так и в

Управление оптимизацией (Часть 2): Создание ключевых объектов и логики приложения

Данная статья является продолжением предыдущей публикации на тему создания графического интерфейса для управления оптимизациями. В ней будет рассмотрена логика работы создаваемого дополнения. Создадим

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XV): Коллекция объектов-символов

В статье рассмотрим создание коллекции символов на основе базового абстрактного объекта-символа, созданного в прошлой статье. Наследники абстрактного символа будут уточнять информацию о символе, в них

Управление оптимизацией (Часть I): Создание графического интерфейса

В данной статье описывается процесс создания расширения для терминала MetaTrader. Предлагаемое решение помогает автоматизировать процесс оптимизации путем запуска оптимизаций в других терминалах. На

MQL4 — пишем советник Против Толпы


Почтовая рассылка сервисами Google

Задача организации почтовой рассылки вполне может возникнуть у трейдера, поддерживающего деловые отношения с другими трейдерами, с подписчиками, клиентами, даже просто с друзьями. Разослать скриншоты

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIV): Объект «Символ»

В данной статье создадим класс объекта-символа, который будет базовым объектом для создания коллекции символов. С его помощью мы сможем получать данные по нужным символам для дальнейшего их анализа и


Пишем кроссплатформенный помощник для выставления StopLoss и TakeProfit в соответствии со своими рисками

В данной статье мы создадим советник, который позволит нам автоматизировать процесс определения лота, с которым нужно войти в сделку в соответствии с нашими рисками. Также данный советник позволит

Грокаем «память» рынка через дифференцирование и энтропийный анализ

Область применения дробного дифференцирования достаточно широка. Например, алгоритмы машинного обучения, обычно, принимают дифференцированный ряд на вход. Проблема в том, что необходимо вывести новые


Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIII): События объекта «аккаунт»

В данной статье будут рассмотрены методы работы с событиями аккаунта (счёта), позволяющие отслеживать важные события изменения свойств счёта, так или иначе влияющие на автоматическую

Создаем кроссплатформенный советник-сеточник (Часть II): Сетка в рейндже в направлении тренда

Сегодня мы попробуем разработать сеточный советник для работы в диапазоне в направлении тренда. То есть для инструментов Forex или рынков сырья. Как показали тесты, наш сеточник работал в прибыль с

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XII): Класс объекта «аккаунт», коллекция объектов-аккаунтов

В предыдущей статье мы определили события закрытия позиций для MQL4 в библиотеке и избавились от оказавшихся невостребованными свойств ордеров. В данной статье рассмотрим создание объекта «Аккаунт»

Методы измерения скорости движения цены

Существует множество различных подходов к исследованию и анализу рынков. Но основных обычно два: технический и фундаментальный. В первом случае происходит сбор, обработка и изучение каких-либо

Библиотека для простого и быстрого создания программ для MetaTrader (Часть XI). Совместимость с MQL4 — События закрытия позиций

Продолжаем создавать большую кроссплатформенную библиотеку, целью которой является упростить написания программ для платформы MetaTrader 5 и MetaTrader 4. В десятой части мы продолжили работу над

Оценка индекса фрактальности, показателя Херста и возможность предсказания финансовых временных рядов

Поиски и изучение фрактального поведения финансовых данных подразумевают, что за внешне хаотическим поведением экономических временных рядов скрываются и действуют устойчивые механизмы коллективного

Библиотека для простого и быстрого создания программ для MetaTrader (Часть X): Совместимость с MQL4 — События открытия позиции и активации отложенных ордеров

В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В девятой части начали

Создание графических интерфейсов на базе .Net Framework и C# (Часть 2): Дополнительные графические элементы

Статья является логическим продолжением предыдущей публикации «Создание графических интерфейсов для экспертов и индикаторов на базе .Net Framework и C#» и знакомит читателей с новыми графическими

Библиотека для простого и быстрого создания программ для MetaTrader (Часть IX): Совместимость с MQL4 — Подготовка данных

В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В восьмой части сделали

Применение OLAP в трейдинге (Часть 2): Визуализация результатов интерактивного анализа многомерных данных

В статье рассматриваются различные аспекты создания интерактивного графического интерфейса MQL-программы, предназначенной для OLAP-обработки истории счета и торговых отчетов. Для получения наглядного

Библиотека для простого и быстрого создания программ для MetaTrader (Часть VIII): События модификации ордеров и позиций

В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В седьмой части мы

Исследование методов свечного анализа (Часть IV): Обновление и дополнение приложения

В этой статье представлена следующая версия приложения Pattern Analyzer. В нем были исправлены некоторые недоработки, добавлены новые возможности, пересмотрено удобство и актуальность текущего

Применение OLAP в трейдинге (Часть 1): Основы оперативного анализа многомерных данных

В статье описываются общие принципы построения фреймворка для оперативного анализа многомерных данных (OLAP), его реализация на MQL и применение в среде MetaTrader на примере обработки торговой

Библиотека для простого и быстрого создания программ для MetaTrader (Часть VII): События срабатывания StopLimit-ордеров, подготовка функционала для событий модификации ордеров и позиций

В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить создание программ для платформы MetaTrader 5 и MetaTrader 4. В шестой части мы научили

ZUP — зигзаг универсальный с паттернами Песавенто: Графический интерфейс. Дополнения и изменения. Вилы Эндрюса в ZUP

В версии 153 редактирование почти всех параметров ZUP можно осуществлять через графический интерфейс. В статье дано описание последних изменений в графическом интерфейсе ZUP. Описаны также основные

Библиотека для простого и быстрого создания программ для MetaTrader (Часть VI): События на счёте с типом неттинг

В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написания программ для платформы MetaTrader 5 и MetaTrader 4. В пятой части мы создали

Утилита для отбора и навигации на MQL5 и MQL4: повышаем информативность графиков

В данной статье мы продолжим расширять функционал нашей утилиты. На этот раз мы добавим в нее возможности по отображению на графиках информации, призванной облегчить нашу торговлю. В частности

Веб-скрапинг данных о доходности облигаций

При разработке систем автоматической торговли мы почти всегда используем данные технических индикаторов, которые анализируют прошлое, чтобы предсказать будущее поведение цены. Но без учета

Библиотека для простого и быстрого создания программ для MetaTrader (Часть V): Классы и коллекция торговых событий, отправка событий в программу

В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В четвёртой части мы

Визуализация истории мультивалютной торговли по отчетам в форматах HTML и CSV

Как известно, MetaTrader 5 с момента своего появления предоставляет возможность мультивалютного тестирования. Эта функция востребована у большинства трейдеров, но, к сожалению, не столь универсальна

Программирование на алгоритмическом языке

В настоящее время персональный компьютер стал незаменимым помощником в жизни каждого человека. Благодаря развитию Интернета и увеличению мощности современных компьютеров открылись новые возможности во многих областях деятельности. Ещё десять лет назад торговля на финансовых рынках была доступна только банкам и узкому кругу специалистов. Сегодня любой желающий может приобщиться к миру профессиональных трейдеров и самостоятельно осуществлять торговлю.

Торговый терминал MetaTrader 4 по достоинству оценили сотни тысяч трейдеров во всем мире. Использование встроенного языка программирования MQL4 выводит трейдеров на качественно новый уровень торговли — автотрейдинг. Теперь трейдер может реализовать свои идеи в виде прикладной программы — самостоятельно написать пользовательский индикатор, скрипт для выполнения разовых операций или создать советник — автоматическую торговую систему (торговый робот). Советник может работать круглосуточно без постороннего вмешательства — отслеживать все изменения цен финансовых инструментов, отправлять сообщения по электронной почте, SMS-сообщения на мобильный телефон, а также выполнять множество других полезных действий.

Основным достоинством прикладных программ является возможность совершать торговые операции в соответствии с алгоритмом, заданным трейдером по своему усмотрению. Любые идеи, которые возможно изложить на языке алгоритмов (пересечение двух скользящих средних или цифровая обработка сигналов, три экрана Элдера или фрактальный анализ Петерса, нейронная сеть или геометрические построения), можно заложить в прикладную программу и затем использовать её в практической торговле.

Составление прикладных программ для торгового терминала MetaTrader 4 требует знания языка MQL4. Настоящее учебное пособие представляет собой вводный курс, освоив который, можно самостоятельно создавать эксперты, скрипты и индикаторы, воплощая в них свои идеи — алгоритмы прибыльной торговли. Учебник рассчитан на широкий круг читателей, не имеющих навыков программирования и желающих научиться самостоятельно создавать прикладные программы для автоматического трейдинга с использованием клиентского терминала MetaTrader 4. Методически учебник составлен так, чтобы сделать обучение языку MQL4 максимально удобным и последовательным.

Программирование на MQL4

Разочарование в SMS-уведомлениях через Google Календарь

Боюсь я до сих пор не нашел никакого бесплатного способа для информирования о положении дел через SMS и MQL. Идея была проста и актуальна: т.к. торговлю я веду на часовом графике, я хотел, чтобы за 5 минут до нового часа функция на MQL снимала показания… Читать далее →

MQL4 пишем ночной скальпер


Ошибка в формате даты при вызове jar-файла из MQL4

При программировании на MQL 4 в момент, когда необходимо составить (склеить) дату в формате datetime «yyyy.mm.dd hh:mi» и исходными компонентами являются функции Hour(), TimeHour(), Minute() или TimeMinute(), стоит обратить внимание, что если возвращаемое значение меньше 10, то формат «hh» или «mi» будет не соблюден, т.к. «0» в начале будет отсутствовать… Читать далее →

Подсчет прибыли по ордерам в валюте депозита на MQL4

Решил сегодня написать индикатор, который бы выводил мне на экран текущую прибыль или убыток по открытым позициям. Казалось бы, тривиальная задача, но встал вопрос: как вывести прибыль в валюте депозита? Тривиальная задача, в которую неясность вводит возможность в MetaTrader 4 в Терминале на вкладке «Торговля» выводить прибыль 3 разными способами:… Читать далее →

СМС уведомления через MQL4, Java и Google Calendar

После того, как я увидел в интернете статью про реализацию смс-уведомлений в MetaTrader через Google Calendar (Календарь), меня это очень сильно заинтересовало, считая, что Google Calendar я использую. В статье говорилось про создание событий в Календаре и использовании их для уведомления о критических ситуациях. Статья хорошая, с исходниками, но мне… Читать далее →

Графическое сопровождение к работе советника

Как я сказал в предыдущей записи в блоге, в продолжение к созданию советника для открытия серии ордеров для валютного хеджирования на рынке Форекс, создадим к нему графическое сопровождение. После переноса советника на график, нам необходимо наглядно видеть, собирается ли советник открывать серию ордеров… Читать далее →

Создание советника для открытия серии ордеров

После того, как я решил использовать валютное хеджирование в качестве основы торговой стратегии, 1-м делом я определил все необходимое для торговли. Итак, мне понадобится: индикатор прохода цены серии валютных пар от определенного дня и времени; советник для открытия серии валютных пар в одном направлении; советник для закрытия серии валютных пар… Читать далее →

Как написать индикатор: выводим спрэд

Чтобы в полной мере понять, как написать индикатор на языке программирования MQL4, необходимо это практически сделать. Напишем индикатор, который будет отображать спрэд в правом верхнем углу графика. Ранее в блоге уже была затронута тема программирования на MQL 4 для начинающих. Подробно и с «нуля» я рассказывал про… Читать далее →

Архив котировок Форекс

Пишем скрипт открытия позиции

Если мы торгуем фиксированным лотом, то использование скрипта обосновано. Во-первых, позиция откроется быстрее. Во-вторых, при неудачном ответе сервера, скрипт обработает ошибку и примет решение практически моментально. Рассмотрим процесс создания скрипта с самого начала. Примечание: я уже рассказывал в блоге про создание… Читать далее →

Закрыть позиции встречным ордером: используем скрипт

Когда в терминале MetaTrader 4 открыто несколько однонаправленных позиций и необходимо их закрыть, использование скрипта позволит облегчить задачу. Более того, если позиции необходимо закрыть немедленно, то с трудом можно надеяться, что они будут закрыты по одной цене. В нашем скрипте реализуем следующий алгоритм – после запуска: найдем сумму лотов открытых… Читать далее →

О Форекс блоге

Торгую на Форекс с 2006 года. Был большой перерыв, в 2011 вернулся к трейдингу.
В своем блоге делюсь опытом. Я не учу, а лишь торгую, веду журнал и записываю мысли.

Свежие записи

Рубрики

Избранное

Поиск

Архивы

↑ Вверх Сайт также доступен на: Английском
© 2008-2011 Форекс блог CafeForex.ru

Форекс для начинающих

В рубрике «Форекс для начинаю­щих» и «Опыт торговли» подробно рассматривается торговля на реаль­ном счету, Форекс основы и пси­хология трейдинга с подроб­ным раз­бором торговых ситуаций, вклю­чая видео и изображения.

Торговые стратегии

В рубрике «Стратегии Форекс» пред­лагаются обзоры новых внут­ридневных торговых стратегий на основе скользящих средних, трен­довых линий; канальные и скаль­пинговые стратегии; стратегии Форекс без индикаторов.

Индикаторы и советники

В рубрике «Индикаторы Форекс» выкладываются новые индика­торы с описанием и фотогра­фиями. Объясняется на приме­рах принцип написания торговых советников, индикаторов и скрип­тов на языке mql.

Торговля на Форекс

Автор блога на собственном опыте подробно объясняет принципы работы на Форексе, рассказывает как производить технический ана­лиз рынка Форекс. Заработать на Форексе удается не многим, требуется большое терпение.

Форекс блог «CafeForex» создан трейдером с опытом торговли более 5 лет. Автор делится своим опытом торговли на Форексе, рассматривает торговые стратегии, новые индикаторы. «Форекс для начинающих – это испытание» по мнению автора. В блоге описывается психология трейдинга на реальном счету.

Автоматизация торговли на Форексе, как метод упрощения работы, является для трейдера хорошей перспективой. Автор делится опытом программирования на языке mql4, включая: создание торговых советников (роботов), индикаторов и скриптов.

Создание советников

Крестики нолики комбинации: фундаментальный труд о финансовом анализе рынка

Метод графического анализа крестики нолики – это уникальное изобретение Томаса Дорси, успешного финансиста и трейдера из Флориды. Свою профессиональную деятельность он начал в 80-х годах прошлого века и успел прославится, как один из самых гениальных аналитиков. Метод крестики нолики – книга, написанная (далее…)

Как стабильно зарабатывать на рынке Forex новичкам-трейдерам

Автор книги “Как стабильно зарабатывать на Forex” Кортни Д. Смит, удачливый трейдер-американец, написал книгу форекс в помощь тем, кто хочет зарабатывать на торговле ценными бумагами, фьючерсами. В посвящении указано, что его труд создан в честь товарищей по оружию, вольных стрелков-интеллектуалов, (далее…)

Торговые стратегии с высокой вероятностью успеха: пошаговое пособие для начинающего трейдера от Роберта Майнера

Каждый трейдер рано или поздно сталкивается с необходимостью расширить свой инструментарий. Торговые стратегии с высокой вероятностью успеха – это именно та книга, которая наилучшим образом поможет это сделать. Перед нами не скучное научное чтиво с множеством непонятных терминов и высказываний, а (далее…)

Язык программирования советников для MetaTrader 4 — MQL4

MQL4 – это язык программирования, встроенный в торговую платформу MetaTrader 4. С помощью этого универсального языка, можно создавать такие полезные программы, как пользовательские индикаторы, различные скрипты, а также возможно создание советников – автоматические торговые системы (торговые роботы). (далее…)

Язык программирования MQL4

Создания любых программ с помощью любого языка программирования, требует четкого понимания, в какой среде будет работать конечный продукт, и какова пользовательская аудитория этого продукта. Программы, которые можно создать с помощью MQL4, достаточно специфические и их аудитория, а также среда их (далее…)

Программа для создания советников

В настоящий момент, существуют Форекс программы, которые созданы для работы в среде MQL4 в большом количестве, и имеют достаточно простой интерфейс. Одной из них и есть Forex Optimizer. Gordago Forex Optimizer – программа, которая позволяет создавать советники Форекс и освобождает трейдера от обязательного (далее…)

Советник Martingail breakdowning v1 для торговли на Форекс

Martingail breakdowning v1 – советник (эксперт), который в настоящий момент, является одним из самых затребованных у трейдеров, работающих с торговым терминалом MetaTrader 4 (МТ4). Данный советник идеально подходит для трейдеров, которые только начинают торговать на валютном рынке Форекс. Работа (далее…)

Тестирование Форекс советников в MetaTrader 4

Для работы на валютном рынке Форекс, трейдеры используют механические торговые системы (советники). Эти системы, на момент своего создания, требовали не малых усилий от программистов, так как обязательным условием их успешной работы, является правильный подбор параметров, добавление различных фильтров (далее…)

Форекс советник Pulse — отзывы

Форекс советник Pulse представляет собой эксперт, помогающий трейдерам заключать выгодные сделки на валютном рынке. Он имеет встроенную функцию HAS, которая отфильтровывает ложные сигналы и тем самым призвана делать прогноз максимально точным. К преимуществам данного советника относится также свободный (далее…)

Правая рука трейдера на Форексе

Начиная работать на Форекс, трейдер-новичок проходит процедуру регистрации в ДЦ и установить торговый терминал МетаТрейдер. После того, как эти дествия выполнены, можно приступать к операциям по встраиванию в торговый терминал эксперта. Форекс-советник должен быть установлен в специально отведенную (далее…)

Уроки по MQL


Раздел содержит в себе всю информацию, которая касается советников Форекс. Здесь размещаются материалы по языку программирования MQL4, c помощью которого, можно создать советники Форекс. Материалы посвящены тому, как начать работу над созданием советников, научится прописывать необходимые функциональные параметры советников, а также о том как работать с готовыми советниками. Статьи о MQL – что собой представляет язык программирования, какие его уникальные возможность, характеристика скорости работы, производительности и простота в работе. MQL4, как лучший язык для того, чтобы создать советники и автоматизировать торговый процесс.

Тема: Программирование на MQL4 — это очень просто!

Опции темы
Поиск по теме
Отображение
  • Линейный вид
  • Комбинированный вид
  • Древовидный вид

Banned Регистрация 22.10.2012 Адрес Питер Сообщений 599

Благодарности
Получено: 253
Отправлено: 47

Программирование на MQL4 — это очень просто!

Дорогой друг, я рад тебя приветствовать!

В этом форуме мы будем изучать программирование роботов на языке MQL4. Это официальная версия, всем ее и рассказывай!

На самом деле мы будем иследовать, как с помощью MQL4 извлекать деньги из мирового сообщества!
Если ты альтруист или считаешь, что деньги — это зло, нажми Reset и мы мирно разойдемся.
Ну а те, кто с нами, научатся программировать MQL4, девушек и правильно подбрасывать монетку.
Ну а кроме шуток, я буду давать полезную информацию по MQL4, отвечать на вопросы и принимать благодарности ))

Друг, когда ты станешь монстром MQL4 и порвешь рынок, передай своим ученикам эти заповеди:

1. Все тексты, которые ты выкладываешь на форум, должны форматироваться. Для этого надо нажать кнопку Расширенный режим, выделить свой вставленный код и нажать волшебную кнопочку в тулбаре #
2. Плач типа «я скачал советник, а он не работает, помогите» я холодно игнорирую
3. Предложения помочь разработать Чудо-Волшебный-Грааль не рассматриваются
4. Флуд, спам, троллинг, мат, оскорбления участников — изгнание из нашей команды

5. А теперь о том, кого я люблю, а кого нет.
6. Люблю людей, которые вместо вопросов а-ля «что мне делать?» говорят,- у меня есть несколько вариантов решения задачи, какой из них лучший на твой взгляд?
7. Люблю тех, кто способен четко, кратко и максимально информативно изложить свою мысль.
8. Соответственно, меняем плюсы на минусы и получаем тех, кого я не люблю ))
9. И еще дополнение, в последнее время появилась такая неправильная вещь. Вместо того, чтобы писать на форуме, мне задают вопросы по теме форума в личке. На такие письма я больше не отвечаю, пишите в форум пожалуйста. В личку можно писать по вопросу дополнительно обучения и все, что не входит в рамки наших форумных дискуссий.
10. Со мной можно общаться на ты. Я много работал программером в американских компаниях, а там нет чинопочитания и в английском нет слова Вы. Глава компании в 500 чел. может спокойно рассекать по офису в кроссах и футболке с логотипом анаши))) Так что без прогибов))
11. Правила будут дорабатываться по ходу пьесы.

И отдельно жирным шрифтом — я не пишу бесплатные советники и индикаторы. Уже 2.5 года я зарабатываю почти исключительно трейдингом и у меня часто нет времени даже на платные заказы, так что не просите пожалуйста. Могу бесплатно помочь по мелочам, посоветовать, но не более.

Последний раз редактировалось Алексей Волчанский; 11.05.2013 в 15:57 . Причина: корректировка правил

Traders //

    Opentraders — это независимое сообщество, создаваемое трейдерами и для трейдеров. Присоединяйтесь, нам по пути!
  • Войти
  • Регистрация
AM2
Андрей

Группа «Программирование на MQL»

Обсуждаем здесь вопросы разработки экспертов, делимся опытом, выкладываем уроки.


Внимание! Если Вы хотите заказать советник, то Вам в группу «Заказы на разработку советников»

Лучшее от AM2

Как написать простейший советник на MQL4?

Подобным вопросом наверняка задается любой новичок желающий освоить написание экспертов для торговли на рынке FOREX. При желании и некоторой сноровке эту задачу можно решить за один вечер.

Для начала сформулируем правила открытия и закрытия позиций.

Торговать будем по валютной паре евродоллар на пятиминутке используя сигналы индикаторов Moving Average и Stochastic. Покупаем, когда Moving Average растет и Stochastic снизился ниже уровня перепроданности. Продаем, когда Moving Average убывает и Stochastic вырос выше уровня перекупленности.

Чтобы облегчить задачу написания эксперта воспользуемся кодом советника Moving Average.mq4 из стандартной библиотеки MetaTrader 4.

Немного изменим шапку эксперта и укажем свои внешние переменные:


Так как советник у нас простейший убираем из кода функции LotsOptimized() для расчета лота и CheckForClose() предназначенную для закрытия позиций при определенном условии.

Далее запишем значения необходимых индикаторов и условия открытия позиций в функции CheckForOpen():

И в завершение нашего задания подкорректируем содержание функции start():

Вот и весь эксперт!

Удачи вам и больших профитов уважаемые трейдеры и программисты!

Уроки по программированию на MQL 4 — создаем форекс робота своими руками

Опубликовано 08 Окт 2015 автор: Максим 2 853 82 комментария.

Уроки MQL

Здравствуйте, коллеги! Сегодня мы вновь затронем тему алготрейдинга и дадим Вам комплект уроков MQL по созданию форекс советников своими руками.На сегодняшний день доступ к Форекс открылся для большой части общества, желающей улучшить своё материальное положение, а помогут нам в этом уроки MQL по автоматизации торговых алгоритмов.

Существует множество программ, при помощи которых можно торговать на валютных рынках практически из любого места – из дома, с работы, находясь в дороге.
Одной из таких программ, безусловно, является MT4 , разработанная MetaQuotes Software Corporation.

Поддерживаемая большинством брокеров, эта программа является неким «эталоном качества» в трейдинге. Она позволяет работать с различными индикаторами и скриптами, создавать полностью автоматических торговых роботов, называемых советниками или экспертами.
По работе с данной программой существует огромное количество разнообразной справочной информации, а некоторые брокеры даже имеют свои учебники, дающие возможность легко и просто освоить базовые принципы торговли в этой программе.
Однако существует далеко не так много книг или статей, посвященных более продвинутым аспектам торговли.Одним из таких аспектов, безусловно, является создание своих собственных торговых индикаторов и советников. Данная область зачастую остается без внимания со стороны трейдеров.

Причины бывают разные: кому-то достаточно уже имеющихся стандартных торговых индикаторов, кто-то пробует разобраться, но сталкивается с большим числом трудностей и бросает начатое, кто-то считает, что подобную работу проще перепоручить другим людям и т.п.
Однако умение создавать свои собственные скрипты, а так же разбираться и модифицировать чужие – большое преимущество на рынке. Итак встречаем :

Благодаря этому навыку Вы сможете существенно сократить время, проводимое за компьютером в ожидании торгового сигнала, Вы научитесь модифицировать стандартные и чужие скрипты «под себя», в конце концов, вместо долгого поиска различных «скриптов-помощников» в Интернете, Вы просто возьмете и напишете их самостоятельно, и они будут работать так, как это нужно именно Вам!

И это, разумеется, я уже не говорю о том, что возможно Вам удастся создать полностью автоматизированного торгового советника, который будет приносить стабильную прибыль при минимальном Вашем участии!
В то время как большинство материалов по FOREX ’у ставит своей целью научить Вас торговать на рынке, рассказать о различных правилах и стратегиях извлечения прибыли, этот курс и книга таких целей не ставит.
Из них Вы не узнаете новые способы заработка, новых прибыльных тактик или правил управления капиталом. Цель данной материала Торговый форекс робот своими руками Алексея Кузьминых– заложить в Вас основы программирования и познакомить с языком написания торговых программ для MetaTrader 4 и пройти уроки MQL4.

MQL4 – это язык написания торговых индикаторов, советников, скриптов для программы MetaTrader 4. В сети существует не так много уроков, обучающих, как надо программировать на нем.
Однако я не встречал среди них ни одного, который объяснял бы, как надо программировать в целом.

Большинство людей, пытающихся написать торговый индикатор, сталкивается с большими трудностями именно потому, что они не понимают, КАК программировать, с чего начинать. Они не знакомы с такими понятиями, как проектирование, разработка требований и многое другое.

Из-за этого они бросают обучение, даже толком не начав.
При создании курса проведена огромная работа по сбору и адаптации существующего опыта обучения программированию к языку торговых индикаторов.

В данной обучении вы рассмотрите не просто процесс программирования на MQL4, но и процесс программирования в общем.
Мы покажем, какие бывают стадии процесса разработки ПО, что на каждом шаге требуется делать, как это правильно делать, и, разумеется, мы рассмотрим процесс программирования на MQL4 и примеры написания программ.
Каждый новый вводимый инструмент будет прокомментирован и разобран, станет ясно не только как им пользоваться, но и КАК ПРАВИЛЬНО его применять.

Краткое содержание обучающего курса:

Ну и конечно мы не можем обойти стороной тренера данного форекс обучения:

Удалено по запросу правообладателя

Mql программирование на форекс — дополнительный урок по основам


Создание советников

Крестики нолики комбинации: фундаментальный труд о финансовом анализе рынка

Метод графического анализа крестики нолики – это уникальное изобретение Томаса Дорси, успешного финансиста и трейдера из Флориды. Свою профессиональную деятельность он начал в 80-х годах прошлого века и успел прославится, как один из самых гениальных аналитиков. Метод крестики нолики – книга, написанная (далее…)

Как стабильно зарабатывать на рынке Forex новичкам-трейдерам

Автор книги “Как стабильно зарабатывать на Forex” Кортни Д. Смит, удачливый трейдер-американец, написал книгу форекс в помощь тем, кто хочет зарабатывать на торговле ценными бумагами, фьючерсами. В посвящении указано, что его труд создан в честь товарищей по оружию, вольных стрелков-интеллектуалов, (далее…)

Торговые стратегии с высокой вероятностью успеха: пошаговое пособие для начинающего трейдера от Роберта Майнера

Каждый трейдер рано или поздно сталкивается с необходимостью расширить свой инструментарий. Торговые стратегии с высокой вероятностью успеха – это именно та книга, которая наилучшим образом поможет это сделать. Перед нами не скучное научное чтиво с множеством непонятных терминов и высказываний, а (далее…)

Язык программирования советников для MetaTrader 4 — MQL4

MQL4 – это язык программирования, встроенный в торговую платформу MetaTrader 4. С помощью этого универсального языка, можно создавать такие полезные программы, как пользовательские индикаторы, различные скрипты, а также возможно создание советников – автоматические торговые системы (торговые роботы). (далее…)

Язык программирования MQL4

Создания любых программ с помощью любого языка программирования, требует четкого понимания, в какой среде будет работать конечный продукт, и какова пользовательская аудитория этого продукта. Программы, которые можно создать с помощью MQL4, достаточно специфические и их аудитория, а также среда их (далее…)

Программа для создания советников

В настоящий момент, существуют Форекс программы, которые созданы для работы в среде MQL4 в большом количестве, и имеют достаточно простой интерфейс. Одной из них и есть Forex Optimizer. Gordago Forex Optimizer – программа, которая позволяет создавать советники Форекс и освобождает трейдера от обязательного (далее…)

Советник Martingail breakdowning v1 для торговли на Форекс

Martingail breakdowning v1 – советник (эксперт), который в настоящий момент, является одним из самых затребованных у трейдеров, работающих с торговым терминалом MetaTrader 4 (МТ4). Данный советник идеально подходит для трейдеров, которые только начинают торговать на валютном рынке Форекс. Работа (далее…)

Тестирование Форекс советников в MetaTrader 4

Для работы на валютном рынке Форекс, трейдеры используют механические торговые системы (советники). Эти системы, на момент своего создания, требовали не малых усилий от программистов, так как обязательным условием их успешной работы, является правильный подбор параметров, добавление различных фильтров (далее…)

Форекс советник Pulse — отзывы

Форекс советник Pulse представляет собой эксперт, помогающий трейдерам заключать выгодные сделки на валютном рынке. Он имеет встроенную функцию HAS, которая отфильтровывает ложные сигналы и тем самым призвана делать прогноз максимально точным. К преимуществам данного советника относится также свободный (далее…)

Правая рука трейдера на Форексе

Начиная работать на Форекс, трейдер-новичок проходит процедуру регистрации в ДЦ и установить торговый терминал МетаТрейдер. После того, как эти дествия выполнены, можно приступать к операциям по встраиванию в торговый терминал эксперта. Форекс-советник должен быть установлен в специально отведенную (далее…)

Раздел содержит в себе всю информацию, которая касается советников Форекс. Здесь размещаются материалы по языку программирования MQL4, c помощью которого, можно создать советники Форекс. Материалы посвящены тому, как начать работу над созданием советников, научится прописывать необходимые функциональные параметры советников, а также о том как работать с готовыми советниками. Статьи о MQL – что собой представляет язык программирования, какие его уникальные возможность, характеристика скорости работы, производительности и простота в работе. MQL4, как лучший язык для того, чтобы создать советники и автоматизировать торговый процесс.

Программирование на алгоритмическом языке

В настоящее время персональный компьютер стал незаменимым помощником в жизни каждого человека. Благодаря развитию Интернета и увеличению мощности современных компьютеров открылись новые возможности во многих областях деятельности. Ещё десять лет назад торговля на финансовых рынках была доступна только банкам и узкому кругу специалистов. Сегодня любой желающий может приобщиться к миру профессиональных трейдеров и самостоятельно осуществлять торговлю.

Торговый терминал MetaTrader 4 по достоинству оценили сотни тысяч трейдеров во всем мире. Использование встроенного языка программирования MQL4 выводит трейдеров на качественно новый уровень торговли — автотрейдинг. Теперь трейдер может реализовать свои идеи в виде прикладной программы — самостоятельно написать пользовательский индикатор, скрипт для выполнения разовых операций или создать советник — автоматическую торговую систему (торговый робот). Советник может работать круглосуточно без постороннего вмешательства — отслеживать все изменения цен финансовых инструментов, отправлять сообщения по электронной почте, SMS-сообщения на мобильный телефон, а также выполнять множество других полезных действий.

Основным достоинством прикладных программ является возможность совершать торговые операции в соответствии с алгоритмом, заданным трейдером по своему усмотрению. Любые идеи, которые возможно изложить на языке алгоритмов (пересечение двух скользящих средних или цифровая обработка сигналов, три экрана Элдера или фрактальный анализ Петерса, нейронная сеть или геометрические построения), можно заложить в прикладную программу и затем использовать её в практической торговле.

Составление прикладных программ для торгового терминала MetaTrader 4 требует знания языка MQL4. Настоящее учебное пособие представляет собой вводный курс, освоив который, можно самостоятельно создавать эксперты, скрипты и индикаторы, воплощая в них свои идеи — алгоритмы прибыльной торговли. Учебник рассчитан на широкий круг читателей, не имеющих навыков программирования и желающих научиться самостоятельно создавать прикладные программы для автоматического трейдинга с использованием клиентского терминала MetaTrader 4. Методически учебник составлен так, чтобы сделать обучение языку MQL4 максимально удобным и последовательным.

Mql программирование для Форекс

Сайт продукта: https://www.mql5.com/
MQL5 — MetaQuotes Language. Интегрированный язык программирования для самого популярного в мире торгового терминала на рынке forex — Metatrader5. Язык появился в 2010 году одновременно с выходом в свет терминала Metatrader5. С 2005 года в торговом терминале MetaTrader4 использовался язык MQL4.

Иван Зайденберг: Как зарабатывать при помощи торговых роботов на MQL5?

Иван Зайденберг — успешный алготрейдер, который умудряется зарабатывать на рынке forex при помощи торговых роботов, написанных в среде MQL5 под Metatrader. В этом видео Иван рассказывает про свои стратегии и как прошел свой путь в алготрейдинге.

Иван выступил на 27 конференции смартлаба 28 апреля 2010 года.

Новая конференция тут: market.smart-lab.ru/confa
Программа конференции формируется!
Ждём ваших предложений по спикерам!

Авто-репост. Читать в блоге >>>

MQL программирование (LUA) и вообще программирование (C/C++)
Добрый день, smartlab и его посетители!
Возможно обращаюсь с не совсем стандартной просьбой или помощью. В общем, есть надобность в обучении программированию, а именно языка Си (Си++ в дальнейшем + MQL (LUA) для автоматизации торговли (стратегия основана строго по цене) со всеми его наворотами. Понимаю, что дело нелегкое. Курсов хороших очень мало (есть мега громкие, но комментарии не порадовали) и неудобно по времени.

Опыт на рынке у меня порядка 5-ти лет и перепробовал за этот срок все что можно (огромных архив паттернов, индикаторы, тс, нестандартные подходы, скальпинг, лента, объемы и прочитана почти вся биржевая литература + близкое к понимаю биржи и природы поведения цены, тестировал и очень все хорошо работает, если грамотно торговать на любом таймфрейме), в итоге, использую только самое простое и рабочее, но это такая рутина и понимаю, что нужно писать робота для автоматизации ТС, как не крути, да и вообще нужно освоить программирование так как оно мне очень интересно для создание десктопных программ и тп на СИ++ не связанных с биржей. Кто научит помогу разобраться с биржей и куда получше любых обучающих ресурсов в сети и круче любого платного гуру в мире трейдинга (некоторые, слышал, готовы миллионы отдать за понимание цены). Простая человеческая просьба без лишнего пафоса и обещания золотых гор.

Авто-репост. Читать в блоге >>>

Занимаюсь трейдингом и созданием советников уже много лет. Давно наблюдаю за сервисом сигналов MQL, а особенно за его рейтингом. Иногда, бродя между страницами сервиса, я находил очень неплохие и качественные сигналы. Но их рейтинг, к сожалению, оказался далеко не в первых рядах. Что я имею ввиду под понятием «качественные сигналы»? Совершенно очевидно, что любой процесс оценивается по результату достижения/недостижения его цели. Цель торговли — прибыль. Больше прибыли — лучшая торговля. Но, очень часто, гоняясь за космическими процентами прибыли, трейдеры и инвесторы забывают о таких понятиях как риск (просадка), количество сделок, загрузка депозита и другие статистические параметры сигналов. А ведь они тоже не менее важны прибыли, так как отображают стиль торговли трейдера или советника. Например, я лучше отдам свои деньги трейдеру, который сделал 50% за 1000 сделок чем тому кто заработал 100% за 10 «удачных» сделок. Ведь я понимаю, что большая выборка снижает возможный процент ошибки в статистических данных, которые оценивает каждый инвестор, ищущий подходящий для себя сигнал.
В общем, как результат своих наблюдений, я решил создать свой собственный рейтинг всех сигналов MQL. Он уже готов в виде .xls (Excel) файла. Сегодня, в
читать дальше на смартлабе

Всем привет.
Начал изучать mql5, столкнулся с такой задачей: как записать файл из скрипта MetaEditor(mt5) в нужную мне папку?
Получилось пока только в папку с терминалом, путь которой можно получить через TerminalInfoString(TERMINAL_DATA_PATH).
Можно ли как-то назначить произвольный путь? Например, «C:\\TestFile\\file.txt»? (в таком варианте у меня не отрабатывает)

P.S. гугл не помог

Всех приветствую. Продолжаем изучение языка MQL4. В прошлый раз мы говорили о вещественных типах данных, а сегодня поговорим о строковом типе. Начать следует с того, что из себя представляет строка. Строка – это последовательность из юникод-символов. Таблица юникод-символов включает в себя очень много символов, хотя в практическом использовании строк, скорее всего, мы будем пользоваться только теми символами, которые видим на клавиатуре. Сюда входят и буквы, и цифры и знаки пунктуации. Как раз строковый тип данных string и позволяет хранить последовательности из таких символов.

Строки могут быть полезны для вывода какой-либо информации на экран или в журнал. В этом смысле они весьма универсальны, поскольку позволяют совмещать текстовую и числовую информацию. Используя строки, можно обеспечить информативность работы советника, т. е. советник может сопровождать свои действия выводом пояснительных сообщений. Это даёт понять, какой этап алгоритма выполняется в данный момент времени. Так же эти сопроводительные сообщения позволят, в случае возникновения ошибок в работе советника, быстрее сориентироваться где они могли произойти и исправить их.

Всех приветствую. Продолжаем изучение языка MQL4.

В прошлый раз мы рассмотрели целые типы данных, а сегодня поговорим о вещественных типах. Они предназначены для того, чтобы хранить не только целую, но и дробную часть числа. Поэтому они гораздо более универсальны, чем целые типы данных. В плане математических операций с целыми числами мы ограничены тем, что результат обязательно должен быть целым, иначе мы потеряем дробную часть числа. По этой причине целые типы чаще всего применяются для нумерации элементов массива и для всевозможных счётчиков, когда нам необходимо посчитать сколько раз выполнилось какое-либо условие. Например, перебрать все активные ордера и посчитать сколько из них каждого типа: (buy, sell, buy stop, buy limit, sell stop, sell limit).

Вещественные типы в этом смысле могут применяться гораздо шире, в самых разных математических операциях, потому что хранят целую и дробную часть числа.

Вещественных типов данных в языке MQL4 (и в MQL5 тоже) всего 2:

Завести на сайт типа можно, но вывести типа нельзя.

В наглую принуждают к сделке типа потрать на их софт.

Заказал робота, исполнитель не сделал, они 3 доллара сожрали с меня, я то при чём если разработчик ступил с него и берите.

Так Что осторожнее с .

Всех приветствую. Продолжаем цикл уроков по MQL4.

В прошлый раз мы начали тему типов данных, сегодня будем говорить о ней более конкретно. Речь пойдёт о целых типах данных, предназначенных для хранения целочисленных значений. В языке MQL4 их 11 штук и отличаются они друг от друга по количеству места, которое занимают в памяти, и по области значений, которые переменные данных типов могут принимать. Естественно, исходя из этих отличий, иногда рациональнее использовать один тип данных, а иногда другой.

Список целых типов данных в MQL4 выглядит следующим образом:

  • char
  • uchar
  • bool
  • short
  • ushort
  • int
  • uint
  • color
  • long
  • ulong
  • datetime

Кстати, в языке MQL5 типы данных такие же, так что содержание поста можно смело отнести и к целым типам данных в MQL5.

MQL программирование: Циклы, функции и ордера в советнике


Все подробности о каждом типе данных с примерами применения можно узнать из закреплённого видео. Спасибо за внимание.

Собственно, сабж. Хочу написать утилиту, работающую с этим форматом данных. Чтоб можно было что угодно и как угодно крутить. Сращивать разные базы данных, делить, конвертировать в ASCII и обратно. Привлекает концепция master файла как оглавления, это удобно для моих целей.

Или может быть такое уже есть, посоветуйте?
читать дальше на смартлабе

www.mql5.com/ru/users/rever27/seller
Сигналы находятся в ТОП50 лучших на сайте. Самому популярному из них более 4х лет с капиталом подписчиков в 447K USD.
Стоимость подписки минимально допустимая.
читать дальше на смартлабе

Всех приветствую.
Решил завести свой блог на смартлабе и делать публикации на тему алгоритмической торговли. Буду время от времени постить материалы посвящённые программированию на языках mql4 и mql5 под торговые платформы MetaTrader 4 и 5 соответственно.

Материалов по этим языкам в интернете предостаточно, но большая часть видеоуроков от разных авторов, и от меня в том числе, записывалась до 600 билда терминала МТ4, когда он и претерпел значительные изменения. Именно тогда в mql4 и появилось объектно-ориентированное программирование и в целом язык изменился. Не то чтобы старые видеоуроки полностью утратили актуальность, но часть программного кода, написанного в старых версиях mql4 без ошибок и предупреждений успешно не перекомпилируется в современной версии редактора. Поэтому решил обновить цикл видеоуроков по mql4 с перспективой дальнейшего перехода на mql5.

Конечно самым мощным ресурсом для изучения mql является официальное сообщество. Но там манера подачи скажем так: «От программистов — для программистов». Абсолютному новичку в программировании вообще и в mql в частности, пользоваться только справочной документацией будет затруднительно. Я же стараюсь доносить информацию максимально просто, доходчиво и с примерами.
читать дальше на смартлабе

Нужен программист по MQL4 по заданию нужно дописать пару индикаторов.Индикаторы информативные математические никаких стрелок алертов и тд писать в личку
читать дальше на смартлабе

Продолжаем учиться языку MQL4 для Метатрейдер

Полный видеокурс об MQL4 и MetaTrader4.
Поставьте, пожалуйста, плюс за труды.

Полный видеокурс об MQL4 и MetaTrader4
Поставьте, пожалуйста, плюс за труды и подпишитесь.


Изучаем MQL4 для MetaTrader 4, Господа! Идет уже урок 11

Поставьте, пожалуйста, плюс за труды

Обучение Wealth lab заканчивается. Все уроки тут . Мы теперь переходим к MQL 4

Поставьте, пожалуйста, плюс за труды. И подпишитесь тут на смарт лабе(мышку на ник- подписаться)

Скоро выложим последние уроки по созданию торговых стратегий WEALTH LAB. Пора перейти на изучение MQL4. Об этом и записал видео 3 минуты.

Поставьте, пожалуйста, плюс за труды и подпишитесь!

Журнал FX Review | Секреты биржевой торговли Биржевая торговля и аналитика. Биржевые графики, новости и секреты биржевой торговли. Рейтинг брокеров. Конкурсы, акции и бонусы.

Как грамотно запрограммировать торговый советник по собственной торговой системе? Как оптимизировать индикатор под свои задачи? Создать или изменить скрипт? Найти ошибку в коде? Чтобы ответить на эти вопросы, создана наша рубрика MQL программирование, в которой вы шаг за шагом научитесь программировать свои собственные торговые стратегии, оптимизировать советники и находить нестандартные подходы к реализации торговых алгоритмов. Вместе с нашими экспертами вы освоите хитрости и приемы программирования и разберетесь во всех нюансах.

Добавляем дополнительные уровни в коде индикатора

В прошлый раз мы рассмотрели, как установить только нужные линии в коде индикатора и изменить их свойства. Сегодня же мы узнаем, как добавить дополнительные уровни в индикатор так, чтобы при установке его в терминал он был готов к работе без дополнительных настроек.

Как поменять отображение линий и их цвета в коде индикатора

Как самостоятельно модифицировать код индикатора таким образом, чтобы он показывал только нужные вам линии, или эти линии были нужной вам толщины и цвета сразу при установке индикатора? Сегодня мы рассмотрим решение данной задачи.

Выбор компьютера для оптимизации

Сегодня мы обсудим, как правильно подобрать компьютер именно под оптимизацию советников в терминале MetaTrader 4.

Циклы и условия

Программа, которую Вы пишите на MQL4 (или на любых других языках) выполняется сверху вниз (я имею ввиду откомплированный файл). Оператор за оператором.

Операции и выражения в MQL4

Что такое операции и выражения? На самом деле Вы прекрасно знаете, что такое операции. Если я Вам скажу, что +,-,*,/ — элементарные арифметические операции, Вы очень быстро вспомните, что означает слово «операция».

Типы данных в MQL4

Что такое тип данных? В любом языке программирования имеются свои названия для описания хранящихся в памяти разного рода данных. Допустим, если в памяти хранится число от -2147483648 до 2147483647, то в большинстве языков программирования оно называется «integer».

Синтаксис MQL4

Здравствуйте, уважаемые читатели журнала FOREX Review! В предыдущей статье из цикла «Школа MQL4» мы уже говорили о том, что тот, кто умеет программировать на C или C++, знает про MQL4 довольно много. Связано это с тем, что синтаксис MQL4 и синтаксис C очень похожи.

Учимся компилировать код

Наши уроки программирования предназначены для тех, кто хочет научиться программированию MQL. Читатели, которые имеют навыки программирования на C или C++, скорее всего, уже довольно много знают об MQL4. Ну а те, кто еще не изучал никаких языков программирования, смогут познакомиться с основными принципами и концепциями программирования и овладеть главными приемами.

Определитель Тренда — Trend Detector

В наше время автоматизированная торговля советниками стала уже привычной. Она позволяет избавить трейдера от круглосуточного контроля за рынком и за открытыми сделками, позволяет вести торговлю без эмоций, которые, как известно, зачастую мешают принятию правильных решений. В итоге торговля советниками может сделать торговлю даже более прибыльной, чем ручная торговля по той же системе.

Программирование MQL программирование. Как самому написать форекс советник/ индикатор/ скрипт

BonAqua

BonAqua

Название: MQL программирование. Как самому написать форекс советник/ индикатор/ скрипт

Страна: Россия
Тематика: Forex
Тип раздаваемого материала: Мультимедийный диск
Продолжительность: 9:43:44
Год выпуска: 2020
Язык: Русский
Размер 1.47 gb

Описание:
Хотели бы Вы автоматизировать свою стратегию торговли на форекс? Хотели бы Вы перестать изо дня в день вручную повторять одни и те же рутинные операции, теряя на них по нескольку часов?
Возможно, Вы уже задумывались над созданием своих торговых роботов, которые самостоятельно будут торговать и приносить Вам деньги в автоматическом режиме. А возможно, и сами заказывали их у сторонних разработчиков…
Но ведь хочется создать собственного робота быстро и исключительно под собственные нужды. Чтобы его потом не пришлось допиливать или дорабатывать. И не потратив при этом ни копейки и не раскрывая свою систему никому!
О том, как это сделать, Вы узнаете из пошагового видеокурса «MQL программирование. Как самому написать форекс советник/ индикатор/ скрипт».

Traders //

    Opentraders — это независимое сообщество, создаваемое трейдерами и для трейдеров. Присоединяйтесь, нам по пути!
  • Войти
  • Регистрация
AM2
Андрей

Группа «Программирование на MQL»

Обсуждаем здесь вопросы разработки экспертов, делимся опытом, выкладываем уроки.

Внимание! Если Вы хотите заказать советник, то Вам в группу «Заказы на разработку советников»

Лучшее от AM2

Как написать простейший советник на MQL4?

Подобным вопросом наверняка задается любой новичок желающий освоить написание экспертов для торговли на рынке FOREX. При желании и некоторой сноровке эту задачу можно решить за один вечер.

Для начала сформулируем правила открытия и закрытия позиций.

Торговать будем по валютной паре евродоллар на пятиминутке используя сигналы индикаторов Moving Average и Stochastic. Покупаем, когда Moving Average растет и Stochastic снизился ниже уровня перепроданности. Продаем, когда Moving Average убывает и Stochastic вырос выше уровня перекупленности.

Чтобы облегчить задачу написания эксперта воспользуемся кодом советника Moving Average.mq4 из стандартной библиотеки MetaTrader 4.

MQL программирование: функции расчета торгового лота в форекс советниках


Немного изменим шапку эксперта и укажем свои внешние переменные:

Так как советник у нас простейший убираем из кода функции LotsOptimized() для расчета лота и CheckForClose() предназначенную для закрытия позиций при определенном условии.

Далее запишем значения необходимых индикаторов и условия открытия позиций в функции CheckForOpen():

И в завершение нашего задания подкорректируем содержание функции start():

Вот и весь эксперт!

Удачи вам и больших профитов уважаемые трейдеры и программисты!

Видеокурсы для изучающих программирование на MQL4

MQL для тебя

MQL для чайников, программирование на MQL4, MQL5

Язык MQL — Введение

Уважаемый читатель, подписчик рассылки данного блога !

Прежде всего хочу объяснить для чего и для кого создан данный сайт и мой курс « MQL для тебя » в частности.

Как не удивительно это будет звучать, но курс «MQL для тебя» предназначен, в основном, для трейдеров форекс, желающих научиться создавать всевозможные советники форекс, пользовательские индикаторы и скрипты для торгового терминала Metatrader 4 (и в дальнейшем Metatrader 5), хотя и программисты, не знакомые с языком программирования MQL, могут почерпнуть новые для себя знания.

Давайте разберемся, почему же основная аудитория сайта — это трейдеры форекс?

Представим себе (или возможно данные ситуации у вас уже возникали при работе на форекс), вы обнаружили интересную закономерность в поведении цены или нашли новую стратегию форекс, а как проверить, что эта закономерность или стратегия, будет действительно работать, приносить вам прибыль не один день, а на протяжении длительного времени?

Можно конечно сидеть перед графиком торгового терминала и на листочке записывать все сигналы и их результаты, но на это уйдет слишком много времени и сил. А если учесть тот факт, что рынок постоянно меняется и, поэтому, те торговые стратегии или сигналы форекс, которые работали еще вчера или может пару месяцев назад и приносили прибыль, а 4−5 месяцев назад они, к сожалению приносили одни только убытки. К тому же, если вы, например, хотите проверить «с листочком» большой период на малых таймфреймах (например M5 или M15), то это отберет у вас очень много времени и сил. И даже, если вы проделали эту трудоемкую аналитическую работу, то как подобрать оптимальные параметры данной стратегии, например «Стоп-лосс» и «Тейкп-профит» или любой другой параметр торговой системы, которых иногда бывает до 10 и более? Ведь они при заключении каждой сделки, пусть немного, но могут отличаться.

Да и желание заставить компьютер зарабатывать для вас деньги, при помощи советников форекс, никто не отменял.

Вот поэтому я и предлагаю АВТОМАТИЗИРОВАТЬ торговлю трейдера !

Можно конечно заказать написание советника у опытного программиста, но это будет стоить для вас приличных денег. А представьте ситуацию, что идея окажется не рабочей. платить то, все равно прийдется! И насколько я знаю, трейдеры неохотно хотят делиться с программистом своим «Граалем» и основная причина: «. программист получит мою идею, а я ему еще и платить должен. » .

В то же время рядовому трейдеру форекс порой бывает очень сложно изучить и понять программирование на языке MQL без посторонней помощи. Да, конечно у многих брокеров форекс или ДЦ форекс существуют курсы по изучению языка программирования MQL, но опять же все это «удовольствие» стоит денег, и порой немалых. К тому же если после обучения на курсах MQL у вас снова возникнуь дополнительные вопросы — что делать? Кто проконсультирует? Опять платить.

Именно поэтому я и создал данный Блог — «MQL для тебя»!

Блог, который поможет ЛЮБОМУ трейдеру форекс постичь азы программирования на языке MetaQuotes Language (MQL) !

Для решения этих и многих других задач мы будем использовать торговый терминал MetaTrader (по моему мнениию самый лучший клиентский терминал для работы на рынке Forex), а именно редактор MetaEditor, который является составной частью клиентского терминала Metatrader 4 и встроеный в него язык программирования MQL (MetaQuotes Language).

Т.к. я понимаю, что большенство трейдеров Forex совершенно не знакомы с программированием, то обучение я постараюсь сделать максимально понятным для любого читателя.

К тому же рекомендую всем, кому интересна данная тема — тема программирования на языке MQL, подписаться на мою рассылку по RSS или e-mail в конце данной публикации.

Ну и конечно всегда буду рад ответить на ваши вопросы, которые вы можете оставлять в комментариях этого сайта !

Пошаговый Интенсив-коучинг
Программирование на MQL4 для начинающих
Автоматизация Форекс стратегий

MQL4 для начинающих.
Автоматизация Форекс стратегий

Индивидуальная работа с каждым, для индивидуального результата каждого.
Внимание! В связи с форматом коучинга, количество мест ВСЕГО 50.
Успейте занять свое место!
  • 3 недели обучения (9 дней)
  • Все материалы доступны для скачивания
  • Возможность заниматься в удобное время
  • Возможность распределить обучение в удобный для Вас ритм
  • Индивидуальная коучинговая связь
  • СУПЕРБОНУС: разбор советника SGR
  • Ваш результат: достаточные личные практические навыки и знания для автоматизации Форекс стратегий

  • Изучаемые темы:
  • Базовые составляющие MQL4
  • Торговые функции
  • Работа со свечами
  • Работа со встроенными и пользовательскими индикаторами
  • Работа с графическими объектами на графике
  • Сопровождение позиции (безубыток, трейлинг стоп)
  • Функция расчета динамического стоплосса
  • Функция расчета лота
  • Пишем трендовый советник-помощник
  • Разбор идеи и кода советника SGR

    22 700 Всего 10 700 руб.!

    Пакет «РАСШИРЕННЫЙ. VIP»


    • Месяц обучения (13 дней)
    • Все материалы доступны для скачивания
    • Возможность заниматься в удобное время
    • Возможность распределить обучение в удобный для Вас ритм
    • Индивидуальная коучинговая связь
    • СУПЕРБОНУС: разбор советника SGR
    • СУПЕРБОНУС: защита советников от взлома
    • СУПЕРБОНУС: создание файлов лицензий. Работа с внешними файлами на ПК (чтение/запись)
    • СУПЕР VIP БОНУС: индивидуальная личная коучинговая поддержка в программировании советника на основе Вашей идеи
    • Ваш результат: расширенные личные практические навыки и знания для автоматизации Форекс стратегий

  • Изучаемые темы:
  • Базовые составляющие MQL4
  • Торговые функции
  • Работа со свечами
  • Работа со встроенными и пользовательскими индикаторами
  • Работа с графическими объектами на графике
  • MQL программирование: как написать советник на индикаторе


  • Сопровождение позиции (безубыток, трейлинг стоп)
  • Функция расчета динамического стоплосса
  • Функция расчета лота
  • Пишем трендовый советник-помощник
  • +++
  • Множественное открытие ордеров (доливки)
  • Управление лотом при доливках
  • Частичное закрытие ордера
  • Пишем советник на основе мартингейла и усреднения
  • Защита от слива депозита при усреднении или мартингейле
  • Создание и удаление графических объектов на графике (рисование)
  • Графический вывод текста на графике
  • Ограничение работы советника по времени, по номеру торгового счета
  • Создание файлов лицензий для распространения советников. Внешние файлы на ПК (чтение/запись)
  • Создание защиты от взлома файла советника (защита от декомпиляции)
  • Разбор идеи и кода советника SGR

    Mql программирование для Форекс

    Итак, нет надобности изучать целые горы литературы. Не нужны, также, скучные термины и все достается бесплатно.

    Скачать Видеокурc MQL Программирование. Как самому написать советник / индикатор / скрипт

    зарегистрируйтесь бесплатно или войдите, чтобы скачать материалы. Это займет не более 5-х секунд.

    Хотелось бы вам автоматизировать собственную торговую стратегию на форекс? Есть ли у вас желание прекратить ежедневные операции, растрачивая на них драгоценное время? Может, вам приходило в голову, создать индивидуальный торговый робот, который бы самостоятельно торговал и приносил финансы автоматическим путем. Возможно, вам приходилось их заказывать у разработчиков со стороны… Можно легко скачать программу на MQL. Но осуществить заказ советника или же индикатора у программиста будет иметь цену от 100$ и, возможно, выше. Более того, вам надо будет неделю переписываться с исполнителем, для того, чтобы уточнить детали и дорабатывать скрипты.

    Сделать индивидуального робота быстро и лично для себя очень хочется. Нет абсолютно желания, потом его дорабатывать. При этом хочется потратить минимум финансов и оставить систему в секрете!

    Реально ли что-то подобное?

    Да, это вполне реально и как именно сделать, можно узнать из подробного видеокурса под названием «MQL программирование. Как самому написать форекс советник». Если вы его исследуете, то сможете создавать всякого робота. Кроме этого, вы сможете переделывать все, что угодно и как вам удобно, исходя из личных нужд. Вам следует ввести собственные контактные сведения в форму, размещенную ниже, нажать кнопку, и курс придет сразу же. Когда осуществится подписка, то вам станут доступны больше, чем десять видеоуроков с наличием домашнего задания для закрепления.

    Проработав видеокурс, вы сможете легко создавать советник или индикатор, который раньше для вас был платным. Теперь не надо будет часами ждать сигнала для торговли. Единожды вы создали эксперта, в итоге, деньги будут зарабатываться автоматически.

    Преимущества данного курса перед подобными изобретениями

    Простота.

    Представленное видео является четкой инструкцией, которая решает определенную задачу. Уроки же представлены понятной речью даже для новичков.

    Пошаговое руководство.

    Вас «за руку» проведут, покажут все детали о создании индивидуальных роботов.

    Практическая составляющая курса.

    Видео дополнены специальными заданиями.

    Бесплатность.

    Данный курс является бесплатным, но в интернете имеются аналоги, стоимостью от пяти до пятнадцати тысяч рублей. Итак, если вы пройдете курс, то: Освободитесь от рутины в процессе деятельности. Сможете сами создавать программы и советники. Легко освоите свежий навык — это программирование, при помощи которого будете иметь возможность зарабатывать отличные деньги, делая роботов на заказ. Автоматизируете собственную деятельность на Forex.

    Mql программирование для Форекс

    Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    Права доступа к форуму

    Вы не можете начинать темы
    Вы не можете отвечать на сообщения
    Вы не можете редактировать свои сообщения
    Вы не можете удалять свои сообщения
    Вы не можете добавлять вложения

    Часовой пояс: UTC + 4 часа (Russia: MSK) по летнему времени Удалить cookies форума

    Программирование на MQL II. Устойчивые программы

    Начиная писать эту статью я задумался над целесообразностью продолжения разговоров о MQL II. Многие считают, что в связи со скорым появлением MQL4 – совершенно иного языка программирования для MetaTrader’а (смотри Forex Magazine Май 2004, №15, “Будущее инструментария трейдера”) не стоит больше уделять внимания такому “старью” как MQL II. Хотелось бы предотвратить появление у вас подобных мыслей, особенно у тех, кто только начинает или планирует изучать программирование в MetaTrader’е.

    Попробую отстоять своё мнение:

    · во-первых выход “четвёрки” планируют только летом и может случиться так, что в ожидании MQL4 придётся просидеть минимум месяц, то есть целый месяц без дела;
    · во-вторых, касается новичков, даже если вы не станете сейчас браться за изучение MQL II, а дождавшись выхода “четвёрки” примитесь сразу за MQL4, то уверяю вас, что изучение программирования как такового всё равно начнётся с одних и тех же этапов;
    · в-третьих MQL II прекрасный язык для того чтобы начинать программировать, ведь не даром в школах на информатике изучают простые языки типа Pascal, а не модные объектные языки, хотя последние во многом более эффективны;

    Надеюсь я вас убедил в том, что продолжить разговор о MQL II стоит, и мы переходим к рассмотрению вопросов, которые рано или поздно встают перед всеми программистами – как сделать программу более устойчивой к непредсказуемым ситуациям.

    Для кого-то эта тема покажется немного надуманной, что может быть проще: написал программу, отладил, запустил, работает. Так рассуждают те, кто думает, что программы пишутся только теми, кто их спользует.

    На самом деле, с ростом популярности таких видов деятельности как работа на фондовых рынках, растёт и спрос на специалистов владеющих навыками написания программ для аналитических систем трейдеров.

    Теперь давайте сравним две ситуации: первая, когда человек написавший программу сам же её и использует, вотрая, когда трейдер не желающий по тем или иным причинам вникать в тонкости программирования изложил программисту суть своих замыслов, заплатил деньги и ждёт, что ему предоставят работающую программу.

    Что происходит, когда в программе возникает непредвиденное обстоятельство? Конечно в первом случае человек написавший программу понимает в чём дело и сразу же поправив код программы получает исправленную, правильно работающую с этим непредвиденным обстоятельством, программу. Во втором же случае трейдер скорее всего будет озабочен случившимся, ведь возможно это непредвиденное обстоятельство стоило ему некоторой суммы проигрыша. Он объяснит программисту в чём дело и будет ждать, когда тот исправит ошибку. Уходит время, а с ним, как говорится, и деньги. Не правда ли, неприятная ситуация как для программиста так и для трейдера?

    Откуда же могут взяться непредвиденные обстоятельства? Давайте обратим наше внимание на параметры пользовательских функций, индикаторов и экспертов. Каждый раз, когда в программе появляется ввод пользователем каких-то параметров, появляется и возможность получения непредвиденных обстоятельств. Работа программы так или иначе расчитана на некоторые предположения накладываемые на параметры. Рассмотрим примеры.

    Пусть в нашей программе требуется ввести начальную цену для каких-то вычислений. Мы даже не допускаем мысли, что кто-то из пользователей попробует ввести в поле цены валюты значение 999999999 или 0, ведь мы не видели ещё таких котировок ни на одной из валютных пар. Но так получилось, что пользователь при вводе ошибся или не прочитал тех инструкций, которые мы ему написали и в итоге программа вадаёт какие попало результаты. Мы как будто не причём, но и пользователь оказался разочарованным.

    Далее рассмотрим ещё один похожий пример. Обратимся к уже не раз упоминавшемуся на страницах журнала алгоритму построения сглаживающей кривой по методу медианного сглаживания (Forex Magazine Апрель 2004, №14, “Как найти ошибку”, Март 2004, №8, “Программирование на MQL II: Медианное сглаживание”)

    var: shift(0);
    array: values[5](0);
    var: ix(0), iy(0);
    var: is_sorted(true);
    SetLoopCount(0);
    for shift = 0 to bars-5 <
    // помещаем значения из массива Open
    // во временный массив, с которым мы и будем
    // дальше работать
    for ix = 0 to 4 <
    values [ix] = O[shift + ix];
    >
    // сортируем массив методом пузырька
    for ix = 0 to 4 <
    is_sorted = true;
    for iy = 0 to 3 <
    var: tmp(0);
    if(values[iy] > values[iy+1]) then <
    tmp = values[iy];
    values[iy] = values[iy+1];
    values[iy+1] = tmp;
    is_sorted = false;
    >;
    >;
    if(is_sorted) then <
    break;
    >;
    >;
    SetIndexValue(shift, values [2]);
    >;

    Из второй строки видно, что нами используется массив values содержащий пять элементов. Из этого же следует, что сглаживание происходит медианой выбранной из пяти элементов. Имея опыт общения со сглаживающими кривыми скользящей средней (индикатор Moving Average) пользователи скорее всего привыкли, что могут произвольно менять промежуток сглаживания. Что если потребуется сделать индикатор, который умеет строить медианное сглаживание на промежутках отличных от 5. К сожалению MQL II не имеет возможности заводить массивы динамически меняющие свои размеры, поэтому как один из выходов из сложившейся ситуации можно использовать большой массив, который будет использоваться для размещения в нём сортируемых элементов. В следующем примере мы распределили под массив 20-ть ячеек.

    var: shift(0);
    array: values[20](0);
    var: ix(0), iy(0);
    var: is_sorted(true);
    SetLoopCount(0);
    for shift = 0 to bars-5 <
    // помещаем значения из массива Open
    // во временный массив, с которым мы и будем
    // дальше работать
    for ix = 0 to range – 1 <
    values [ix] = O[shift + ix];
    >
    // сортируем массив методом пузырька
    for ix = 0 to range – 1 <
    is_sorted = true;
    for iy = 0 to range – 2 <
    var: tmp(0);
    if(values[iy] > values[iy+1]) then <
    tmp = values[iy];
    values[iy] = values[iy+1];
    values[iy+1] = tmp;
    is_sorted = false;
    >;
    >;
    if(is_sorted) then <
    break;
    >;
    >;
    if(mod(range,2) != 0) then <
    SetIndexValue(shift, values [(range – 1)/2]);
    > else <
    SetIndexValue(shift, (values [(range/2)- 1]+values [(range/2)])/2);
    >
    >;

    Видно, что кроме косметических изменений в программе при работе с сортируемым массивом, добавился один параметр – range, который даёт возможность пользователю выбирать промежуток медианного сглаживания. На рисунке 1 показан результат работы изменённого индикатора с параметром range принимающим значения 5, 6 и 7.

    Но массив тем не менее ограничен и существует опасность, что пользователь введёт значения нежелательные для нашей программы. Не известно как поведёт себя программа в случае, когда пользователю захочется установить значение параметра range = 50. Одна из неприятностей, которая может случиться, это когда программа как-то по-своему будет отрабатывать такую непредвиденную ситуацию, а пользователь будет введён в замешательство тем, что и на значении range = 30 и на значении range = 40 будет получать один и тот же график.

    Более логичного поведения программы в обоих случаях можно было бы достичь если бы мы в её начало вставили блок проверки параметров. В таком случае если параметры не удовлетворяют некоторым требованиям программы можно было бы предупредить пользователя об ошибке ввода с помощью функции Alert() и тут же указать на дозволенные значения. Ниже показан рабочий код, который отреагирует на неправильный ввод пользователя должным образом и, сообщив ему об этом, установит ближайшие допустимые значения переменной range.
    Примерно такую же обработку входных параметров можно было бы провести и в первой ситуации. Теперь-то пользователь будет предупреждён об ошибке ввода и не будет разочарован неожиданными результатами работы программы.

    В этом номере мы охватили лишь часть материала посвященного написанию устойчивых программ, в дальнейшем мы постараемся затронуть другие аспекты этой темы. Поняв материал и поэксперементировав с приведённым примером вы, возможно, найдёте способы ещё больше обезопасить пользователей вашей программы от непредвиденных ситуаций.

    Результатом статьи должно стать понимание того, что программа – это не только правильно изложенный алгоритм. Ещё она должна уметь корректно обработать различные неожиданные ситуации, и мастерство программиста лишь подчёркивается умением предвидеть и предупреждать подобные ситуации.

    var: shift(0);
    array: values[50](0);
    var: ix(0), iy(0);
    var: is_sorted(true);
    var: real_range(0);
    SetLoopCount(0);
    for shift = 0 to bars-1 <
    SetIndexValue(shift, 0);
    >;
    real_range = range;

    for shift = 0 to bars-5 <
    // помещаем значения из массива Open
    // во временный массив, с которым мы и будем
    // дальше работать
    for ix = 0 to real_range – 1 <
    values [ix] = O[shift + ix];
    >
    // сортируем массив методом пузырька
    for ix = 0 to real_range – 1 <
    is_sorted = true;
    for iy = 0 to real_range – 2 <
    var: tmp(0);
    if(values[iy] > values[iy+1]) then <
    tmp = values[iy];
    values[iy] = values[iy+1];
    values[iy+1] = tmp;
    is_sorted = false;
    >;
    >;
    if(is_sorted) then <
    break;
    >;
    >;
    if(mod(real_range,2) != 0) then <
    SetIndexValue(shift, values [(real_range – 1)/2]);
    > else <
    SetIndexValue(shift,(values [(real_range/2)- 1]+values [(real_range/2)])/2);
    >
    >;

    Добавить комментарий