

Графические интерфейсы X: Сортировка, реконструкция таблицы и элементы управления в ячейках (build 11)
Продолжаем добавлять в нарисованную таблицу новые возможности: сортировку данных, управление количеством столбцов и строк, установку типа ячеек таблицы для закрепления в них элементов управления.


Интервью с Сергеем Панкратьевым (ATC 2012)
Чемпионат заканчивается, и мы уже повидали на нём много необычных торговых стратегий. Но тем не менее то, что показывает торговый робот Сергея Панкратьева (s75) не может не удивлять - торгуя на всех 12 валютных парах, он практически только покупает. Это не результат какой-то ошибки - просто рынок так сложился.


Графические интерфейсы V: Вертикальная и горизонтальная полоса прокрутки (Глава 1)
Продолжаем рассматривать процесс разработки библиотеки для создания графических интерфейсов в среде торговых терминалов MetaTrader. В первой главе пятой части серии разработаем классы для создания таких элементов управления, как вертикальные и горизонтальные полосы прокрутки.


Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXVI): Работа с отложенными торговыми запросами - первая реализация (открытие позиций)
В статье организуем хранение некоторых данных в значении магического номера ордеров и позиций и приступим к реализации отложенных запросов. Для проверки концепции создадим первый тестовый отложенный запрос на открытие рыночных позиций при получении от сервера ошибки, требующей ожидания и отправки повторного запроса.


Show Must Go On... или очередное возвращение к ZigZag'у
Об одном очевидном и, одновременно, нестандартном методе построения ZigZag'а и о том, что из этого получилось - индикаторе Мультифреймовый Фрактальный ZigZag, отображающем на одном, рабочем, таймфрейме (ТФ) ZigZag'и, построенные на трех старших.
В свою очередь, величины старших ТФ могут быть нестандартными, в диапазоне от M5 до MN1.


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


Рецепты MQL5 - Уменьшаем эффект подгонки и решаем проблему недостаточного количества котировок
Какую бы торговую стратегию вы не использовали всегда возникает один вопрос: какие выбрать параметры, чтобы получить прибыль в будущем? В статье приведен пример эксперта с возможностью оптимизации параметров на множестве символов одновременно. Это метод призван уменьшить эффект подгонки параметров, а также решает проблему, когда данных одного символа недостаточно для проведения исследования.


Jeremy Scott - успешный продавец MQL5 Маркета
Джереми Скотт (Jeremy Scott), более известный в MQL5.community под ником Johnnypasado, снискал славу на ниве нашего сервиса MQL5 Маркет. Он уже заработал несколько тысяч долларов в Маркете и это далеко не предел. Мы решили внимательнее присмотреться к будущему миллионеру и получить от него инструкцию успеха для продавцов в MQL5 Маркете.

Поиск сезонных закономерностей на валютном рынке с помощью алгоритма CatBoost
В статье показана возможность создания моделей машинного обучения с временными фильтрами и раскрыта эффективность такого подхода. Теперь можно исключить человеческий фактор, просто сказав модели: "Хочу, чтобы ты торговала в определенный час определенного дня недели". А поиск закономерностей возложить на плечи алгоритма.


Разработка самоадаптирующегося алгоритма (Часть II): Повышение эффективности
В этой статье я продолжу взятую тему, но начну с того, что сделаю более гибким алгоритм, разработанный ранее. Тот алгоритм становился стабильнее с увеличением числа свечей в окне для анализа или с увеличением порогового процента перевеса падающих или растущих свечей. Приходилось идти на компромисс и устанавливать больше размер выборки для анализа или больший процент перевеса преобладающих свечей.


Эффективные алгоритмы усреднения с минимальным лагом и их использование в индикаторах и экспертах
В статье изложены авторские разработки пользовательских функций для более качественного по сравнению с обычным усреднением сглаживания: JJMASeries(), JurXSeries(), JLiteSeries(), ParMASeries(), LRMASeries(), T3Series() и MASeries(). В ней автор расматривает горчую замену этих функций в индикаторах в помощью обращения к функции SmoothXSeries().


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


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


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


Инфографика "MQL5.com Freelance: Можно ли тут заработать?"
К четырехлетию «Фриланса» мы подготовили инфографику, которая наглядно демонстрирует итоги деятельности сервиса за все время его существования. Цифры говорят сами за себя: на данный момент выполнено более 10 000 работ общей стоимостью около $600 000, а услугами сервиса воспользовались уже 3 000 заказчиков и 300 разработчиков.

Фиксированный стоп-лосс на основе ценового действия и RSI ("умный" стоп-лосс)
Стоп-лосс – основной инструмент управления капиталом в трейдинге. Эффективное использование стоп-лосса, тейк-профита и размера лота может сделать торговлю более последовательной и в целом более прибыльной. Тем не менее, в использовании стоп-лосса есть и свои трудности. Основная из них – охота на стоп-лоссы. В этой статье рассматривается, как свести к минимуму эффект от охоты на стоп-лоссы, а также проводится сравнение с классическим применением стоп-лосса для определения его прибыльности.


Андрей Болконский (abolk): "Любой программист знает - программного продукта без багов не бывает"
В сервисе "Работа" Андрей Болконский (abolk) участвует с момента его открытия. На текущий момент на его счету десятки индикаторов и экспертов для платформ MetaTrader 4 и MetaTrader 5. С Андреем мы поговорим о том, что представляет собой сервис с точки зрения программиста.


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


Библиотека для простого и быстрого создания программ для MetaTrader (Часть V): Классы и коллекция торговых событий, отправка событий в программу
В предыдущих статьях мы начали создавать большую кроссплатформенную библиотеку, целью которой является упростить написание программ для платформ MetaTrader 5 и MetaTrader 4. В четвёртой части мы протестировали отслеживание торговых событий на счёте. В данной части создадим классы торговых событий, поместим их в коллекцию событий, откуда они будут отправляться в базовый объект библиотеки Engine и на график управляющей программы.


Графические интерфейсы IX: Элементы "Индикатор выполнения" и "Линейный график" (Глава 2)
Вторая глава девятой части серии будет посвящена элементам «Индикатор выполнения» и «Линейный график». Как всегда, будут показаны подробные примеры того, как можно использовать эти элементы в своих MQL-приложениях.


Графические интерфейсы XI: Поля ввода и комбо-боксы в ячейках таблицы (build 15)
В этом обновлении библиотеки элемент "Таблица" (класс CTable) пополнится новыми опциями. Расширим линейку элементов в ячейках таблицы и на этот раз добавим в неё поля ввода и комбо-боксы. В качестве дополнения в это обновление была добавлена возможность управлять размерами окна пользователем MQL-приложения во время её выполнения.


Библиотека для простого и быстрого создания программ для MetaTrader (Часть XIV): Объект "Символ"
В данной статье создадим класс объекта-символа, который будет базовым объектом для создания коллекции символов. С его помощью мы сможем получать данные по нужным символам для дальнейшего их анализа и сравнения.

Работаем со временем (Часть 1): Основные принципы
Рассмотренные в статье функции и код помогут лучше понять принципы обработки времени, смещение времени брокера и перехода на летнее или зимнее время. Точная работа со временем — очень важный аспект трейдинга. Лондонская или нью-йоркская биржа уже открылась или еще нет? Когда начинается и заканчивается торговая сессия на форексе?


Графические интерфейсы VII: Элементы "Таблицы" (Глава 1)
В седьмой части серии статей о графических интерфейсах в терминалах MetaTrader будут представлены три типа таблиц: таблица из текстовых меток, таблица из полей ввода и нарисованная таблица. Ещё один важный и часто используемый элемент управления — вкладки, с помощью которых можно скрывать и делать видимыми группы других элементов управления, что позволяет пользователю делать компактные графические интерфейсы в своих MQL-приложениях.


Тестирование паттернов валютных пар: Использование и перспективы для реальной торговли. Часть IV
Эта статья завершает серию материалов о торговле корзинами валютных пар. В ней протестирован оставшийся паттерн и обсуждается использование всей методики в реальной торговле. Рассмотрены вход и выход с рынка, поиск и анализ паттернов, сложное использование объединенных индикаторов.

Как построить советник, работающий автоматически (Часть 01): Концепции и структуры
Сегодня посмотрим, как создать советник, просто и безопасно работающий в автоматическом режиме.


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


Николай Иванов (Techno): "Для программы важна точность алгоритмов"
Программист из Красноярска Николай Иванов (Techno) - лидер среди разработчиков по количеству выполненных работ, на сегодняшний день их уже более 200. Мы решили поговорить с ним о сервисе "Работа", его особенностях и основных проблемах, с которыми сталкиваются программисты.


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


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

Машинное обучение и Data Science (Часть 06): Градиентный спуск
Градиентный спуск играет важную роль в обучении нейронных сетей и различных алгоритмов машинного обучения — это быстрый и умный алгоритм. Однако несмотря на его впечатляющую работу, многие специалисты по данным все еще неправильно его понимают. Давайте в этой статье посмотрим, о чем идет речь.

Машинное обучение и Data Science (Часть 07): Полиномиальная регрессия
Полиномиальная регрессия — это гибкая модель, предназначенная для эффективного решения задач, с которыми не справляется модель линейной регрессии. В этой статье узнаем, как создавать полиномиальные модели на MQL5 и извлекать из них выгоду.


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


Заблуждения, Часть 1: Управление капиталом вторично и не слишком важно
Первичная демонстрация результатов тестирования стратегии на лоте 0.1, кажется, начинает превращаться в стандарт де-факто на форуме. Новичок, получив одобрительное "угу, не так и плохо" от бывалых, видит, что тестирование "0.1" приносит относительно скромные результаты, и решается на введение агрессивного управления капиталом, считая, что положительное матожидание сделки автоматически обеспечит ему все остальное. Посмотрим, что из этого может получиться, попутно построив несколько искусственных, но очень поучительных графиков баланса.

Учимся у проп-трейдинговых компаний (Часть 1) — Введение
В этой вводной статье я расскажу о нескольких уроках, которые можно извлечь из испытаний, которые применяют проп-трейдинговые компании. Это особенно актуально для новичков и тех, кто изо всех сил пытается найти свое место в мире трейдинга. В следующей статье будет рассмотрена реализация кода.


Интервью с Александром Артаповым (ATC 2012)
Эксперт Александра Артапова (artall) уже на второй неделе Чемпионата оказался на третьей позиции, торгуя на двух символах EURUSD и EURJPY. Затем он ненадолго покинул TOP-10 и после месяца борьбы за выживание вновь включился в схватку за $80 000. И как оказалось, в запасе у его эксперта есть еще тузы в рукаве.


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


Графические интерфейсы XI: Рефакторинг кода библиотеки (build 14.1)
По мере разрастания библиотеки снова необходимо оптимизировать ее код, чтобы уменьшить его объем. Версия библиотеки, описанная в этой статье, стала ещё более объектно-ориентированной. Это сделало код понятнее для изучения. Подробное описание последних изменений позволит читателю самостоятельно развивать библиотеку, исходя из собственных потребностей.


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


Библиотека для простого и быстрого создания программ для MetaTrader (Часть XXXII): Отложенные торговые запросы - установка ордеров по условиям
Продолжаем создавать функционал, позволяющий производить торговлю при помощи отложенных запросов. В этой статье мы реализуем возможность устанавливать отложенные ордеры по условию.