================================================================================ СПЕЦИФИКАЦИЯ СОВЕТНИКА: yzai_Ema8D1 ================================================================================ Дата создания : 2026-06-28 13:40 Версия : 1.00 Язык : MQL5 (MetaTrader 5) Тип : Expert Advisor (советник) ================================================================================ 1. НАЗНАЧЕНИЕ СОВЕТНИКА ================================================================================ Автоматическая дневная торговля по тренду с использованием экспоненциальной скользящей средней с периодом 8 (EMA 8). Советник анализирует только ДНЕВНЫЕ бары (таймфрейм D1) и принимает решение о входе/выходе на основании взаимного расположения цены открытия/закрытия бара D1 и линии EMA 8. ================================================================================ 2. УСЛОВИЯ ВХОДА И ВЫХОДА (ПОШАГОВО) ================================================================================ Шаг 01 | BUY (Покупка) | Открывается, если И цена открытия D1 И цена закрытия D1 | находятся ВЫШЕ линии EMA 8. | Условие: Open_D1 > EMA8_D1 И Close_D1 > EMA8_D1 Шаг 02 | Удержание BUY | Позиция BUY остаётся открытой до тех пор, пока на каждом новом | баре D1 выполняется условие Шага 01. Шаг 03 | Закрытие BUY | Если на новом баре D1 цена открытия ИЛИ цена закрытия оказалась | НИЖЕ линии EMA 8 - позиция BUY закрывается. | Условие: Open_D1 < EMA8_D1 ИЛИ Close_D1 < EMA8_D1 Шаг 04 | SELL (Продажа) | Открывается, если И цена открытия D1 И цена закрытия D1 | находятся НИЖЕ линии EMA 8. | Условие: Open_D1 < EMA8_D1 И Close_D1 < EMA8_D1 Шаг 05 | Удержание SELL | Позиция SELL остаётся открытой до тех пор, пока на каждом новом | баре D1 выполняется условие Шага 04. Шаг 06 | Закрытие SELL | Если на новом баре D1 цена открытия ИЛИ цена закрытия оказалась | ВЫШЕ линии EMA 8 - позиция SELL закрывается. | Условие: Open_D1 > EMA8_D1 ИЛИ Close_D1 > EMA8_D1 Шаг 07 | ФЛЕТ | Во всех остальных случаях (когда одна цена выше EMA8, а другая | ниже, либо равна) - сделка НЕ открывается. Если есть открытая | позиция - она закрывается. Шаг 08 | Никаких других действий советник не выполняет. | Нет трейлинг-стопа, нет мартингейла, нет усреднения, | нет доливок, нет сеток. Только вход, удержание и выход | по условиям выше. ================================================================================ 3. ТЕХНИЧЕСКИЕ ДЕТАЛИ РЕАЛИЗАЦИИ ================================================================================ 3.1 Индикатор - EMA 8 (Exponential Moving Average, период 8) - Применяется к цене ЗАКРЫТИЯ (PRICE_CLOSE) - Сдвиг: 0 - Таймфрейм: D1 (дневной) - Хендл создаётся через iMA() в функции OnInit() 3.2 Анализ данных - Советник использует данные ЗАВЕРШЁННОГО (закрытого) D1 бара с индексом [1] (предыдущий полностью сформированный день). - Это исключает перерисовку и подглядывание в будущее. - Решение принимается ТОЛЬКО при появлении НОВОГО дневного бара. 3.3 Торговые операции - Используется класс CTrade для отправки торговых приказов. - Все сделки имеют единый Magic Number (входной параметр). - Размер лота задаётся входным параметром. 3.4 Обработка позиций - Проверяются только позиции по текущему символу и магическому номеру. - При смене сигнала (BUY->SELL или SELL->BUY): -> сначала закрывается старая позиция -> затем открывается новая в противоположном направлении - При сигнале FLAT: все позиции по инструменту закрываются. ================================================================================ 4. ВХОДНЫЕ ПАРАМЕТРЫ (INPUTS) ================================================================================ Параметр | Тип | По умолч. | Описание -----------------------+---------+-----------+------------------------------ InpLotSize | double | 0.1 | Объём сделки (лот) InpEMAPeriod | int | 8 | Период EMA InpMagicNumber | int | 20240628 | Магический номер советника InpComment | string | "yzai_Ema8D1" | Комментарий к сделке ================================================================================ 5. ГРАФИЧЕСКОЕ ОФОРМЛЕНИЕ ================================================================================ 5.1 Часы в левом верхнем углу - Отображаются с помощью графического объекта OBJ_LABEL. - Цвет текста: жёлтый (Yellow, clrYellow). - Позиция: левый верхний угол (corner = CORNER_LEFT_UPPER). - Обновляются каждую секунду (на OnTimer). - Формат: "ЧЧ:ММ:СС" (локальное время терминала). 5.2 Фон графика - Устанавливается ЧЁРНЫЙ цвет фона графика (clrBlack). - Выполняется в OnInit() через ChartSetInteger(). - Это важно для снижения нагрузки на зрение трейдера. ================================================================================ 6. ИМЕНОВАНИЕ ФУНКЦИЙ И ПРОЦЕДУР ================================================================================ Все функции советника используют префикс "yzai_" и несут смысловую нагрузку: yzai_InitializeExpert - инициализация советника при старте yzai_DeinitializeExpert - деинициализация при выгрузке yzai_ProcessNewTick - главный обработчик нового тика yzai_CheckNewDailyBar - проверка появления нового D1 бара yzai_GetDailyOpenPrice - получение цены открытия D1 yzai_GetDailyClosePrice - получение цены закрытия D1 yzai_GetEma8Value - получение значения EMA 8 yzai_DetermineTradeSignal - определение торгового сигнала yzai_ManageBuySignal - обработка сигнала BUY yzai_ManageSellSignal - обработка сигнала SELL yzai_ManageFlatSignal - обработка флета yzai_ClosePositionByTicket - закрытие позиции по тикету yzai_OpenBuyPosition - открытие позиции BUY yzai_OpenSellPosition - открытие позиции SELL yzai_GetCurrentPositions - получение информации о текущих позициях yzai_UpdateClockDisplay - обновление часов на экране yzai_SetupChartAppearance - настройка внешнего вида графика yzai_LogToFile - запись сообщения в лог-файл yzai_InitializeLogFile - создание/открытие лог-файла yzai_CloseLogFile - закрытие лог-файла ================================================================================ 7. ФАЙЛЫ ПРОЕКТА ================================================================================ Исходный код : C:\MT5\MQL5\Experts\yzai_Ema8D1.mq5 Скомпилированный : C:\MT5\MQL5\Experts\yzai_Ema8D1.ex5 Спецификация : C:\MT5\MQL\Expert\yzai_Ema8D1_Spec.TXT Лог-файл : C:\MT5\MQL\Expert\yzai_Ema8D1_Spec.LOG ================================================================================ КОНЕЦ СПЕЦИФИКАЦИИ ================================================================================