
MetaTrader 4 (MT4) ⸺ одна из самых популярных торговых платформ в мире, используемая миллионами трейдеров для торговли на финансовых рынках. Одним из ключевых элементов, делающих MT4 столь мощной и гибкой, является возможность создания собственных индикаторов с помощью языка программирования MQL4. В этой статье мы рассмотрим процесс создания простого индикатора для MT4.
Основы MQL4
Прежде чем приступить к созданию индикатора, необходимо иметь базовое понимание языка MQL4. MQL4 ౼ это объектно-ориентированный язык программирования, специально разработанный для создания торговых стратегий, индикаторов и советников для платформы MetaTrader 4.
Для начала работы с MQL4, вам необходимо иметь установленный MetaTrader 4 и редактор MetaEditor, который входит в состав платформы.
Создание нового индикатора
1. Открытие MetaEditor: Запустите MetaTrader 4, затем в меню “Tools” (Инструменты) выберите “MetaEditor” или нажмите F4.
2. Создание нового файла: В MetaEditor нажмите “File” -> “New” (Файл -> Создать) или используйте комбинацию клавиш Ctrl+N. В появившемся окне выберите “Indicator” (Индикатор) и нажмите “Next” (Далее).
3. Настройка параметров индикатора: В следующем окне вам будет предложено ввести имя индикатора, выбрать его тип и указать другие параметры. Например, вы можете выбрать, будет ли индикатор рисовать график в отдельном окне или в основном окне графика.
4. Написание кода: После настройки параметров, MetaEditor создаст шаблон индикатора. В этом шаблоне вы можете начать писать свой собственный код. Основными функциями, которые используются в индикаторах, являются `init` и `start` (в новых версиях MQL `OnInit` и `OnCalculate`).
Пример простого индикатора
Давайте создадим простой индикатор, который рисует две линии: одна будет представлять собой скользящую среднюю цены закрытия, а другая ⸺ скользящую среднюю цен открытия.
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
double Buffer1[];
double Buffer2[];
int init {
SetIndexBuffer(0, Buffer1);
SetIndexBuffer(1, Buffer2);
return(0);
}
int start {
int counted_bars = IndicatorCounted;
int limit = Bars ⸺ counted_bars;
for(int i = 0; i < limit; i++) { Buffer1[i] = (iMA(NULL, 0, 14, MODE_SMMA, PRICE_CLOSE, i)); Buffer2[i] = (iMA(NULL, 0, 14, MODE_SMMA, PRICE_OPEN, i)); } return(0); }
Компиляция и использование индикатора
1. Компиляция: После написания кода, нажмите кнопку “Compile” (Компилировать) или F7, чтобы скомпилировать индикатор. Если в коде нет ошибок, индикатор будет успешно скомпилирован.

2. Применение индикатора: Перезапустите MetaTrader 4 или обновите список доступных индикаторов в навигаторе. Найдите ваш индикатор в папке “Indicators” и перетащите его на график.
Теперь у вас должен быть видим результат работы вашего индикатора на графике.
Создание индикаторов для MetaTrader 4 с помощью MQL4 ⸺ это мощный инструмент для трейдеров и разработчиков. С его помощью можно создавать собственные технические индикаторы и стратегии, соответствующие вашим торговым потребностям. Продолжайте изучать возможности MQL4 и совершенствовать свои навыки программирования, чтобы максимально эффективно использовать потенциал платформы MetaTrader 4.
- Изучите документацию по MQL4 для более глубокого понимания функций и возможностей языка.
- Экспериментируйте с разными типами индикаторов и стратегий.
- Присоединяйтесь к сообществам и форумам, посвященным MQL4 и MetaTrader 4, чтобы обмениваться опытом и получать помощь.
Успехов в вашем пути программирования и торговли!
Продолжая использовать MetaTrader 4 и MQL4, вы сможете не только создавать собственные индикаторы, но и разрабатывать сложные торговые стратегии и советники. Это открывает широкие возможности для автоматизации торговли и улучшения торговых результатов.
Не забывайте тестировать ваши индикаторы и советники на исторических данных, чтобы оценить их эффективность и сделать необходимые корректировки. Это важный шаг на пути к созданию успешной торговой стратегии.
Оптимизация и тестирование индикатора
После создания индикатора, важно протестировать его на различных рыночных условиях и оптимизировать его параметры для достижения наилучших результатов. Для этого можно использовать встроенный в MetaTrader 4 тестер стратегий.
Тестер стратегий позволяет протестировать индикатор на исторических данных и оценить его эффективность в различных рыночных ситуациях. Это поможет вам понять, насколько хорошо индикатор работает и какие изменения необходимо внести для улучшения его производительности.
Использование тестеров стратегий
1. Открытие тестеров стратегий: В MetaTrader 4 перейдите в меню “View” (Вид) и выберите “Strategy Tester” (Тестер стратегий) или нажмите Ctrl+R.
2. Настройка параметров: В тестере стратегий выберите символ, период и другие параметры, которые вы хотите использовать для тестирования.
3. Загрузка индикатора: Загрузите ваш индикатор в тестер стратегий и настройте его параметры.
4. Запуск теста: Нажмите кнопку “Start” (Запустить), чтобы начать тестирование.
Анализ результатов тестирования
После завершения тестирования, тестер стратегий предоставит вам подробный отчет о результатах. Анализируя этот отчет, вы сможете понять, насколько хорошо ваш индикатор работает и какие изменения необходимо внести для улучшения его производительности.
При анализе результатов тестирования, обратите внимание на следующие показатели:
- Прибыль/убыток
- Коэффициент выигрыша/проигрыша
- Максимальная просадка
- Коэффициент Шарпа
Оптимизация параметров индикатора
На основе результатов тестирования, вы можете оптимизировать параметры вашего индикатора для достижения наилучших результатов. Для этого можно использовать встроенный в тестер стратегий оптимизатор.
Оптимизатор позволяет автоматически подбирать оптимальные параметры индикатора на основе исторических данных. Это может помочь вам найти наиболее эффективные настройки для вашего индикатора.

Статья помогла мне понять основы создания индикаторов в MT4. Теперь я могу экспериментировать с собственными стратегиями.
Очень полезная статья для тех, кто хочет научиться создавать собственные индикаторы для MT4. Язык программирования MQL4 действительно мощный инструмент.
Хорошая инструкция по созданию индикаторов, но было бы неплохо добавить больше примеров и более детальное описание функций.