Смотри, как бесплатно скачать роботов
Ищи нас в Facebook!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Просмотров:
87
Рейтинг:
(9)
Опубликован:
2025.06.29 12:09
MQL5 Фриланс Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
1. Типы перечислений (enumJnsSignal, enumOrderType)
- enumJnsSignal Это перечисление определяет тип сигнала, используемого в советнике. Есть два варианта сигнала:
- `eTypeCrossMA`: Использует сигнал Cross 2 MA(пересечение двух скользящих средних).
- `eTypeTrend`: Следит за трендом, используя скользящие средние и стохастик.
- enumOrderType Это перечисление определяет тип ордера:
- `eBuy`: Ордер на покупку .
- `eSell`: Ордер на продажу .
- `eNone`: Ордер не выполнен.

2. Входные параметры
- inMagicNumber Уникальный магический номер, используемый для различения ордеров данного советника.
- inLotSize Начальный размер лота для каждого ордера.
- inMultiply Коэффициент умножения, используемый в стратегии определения размера лота.
- inJarakLayer Расстояние в пунктах между торговыми позициями в стратегии сетки/слоя.
- inMAPeriodFast & inMAPeriodSlow Периоды для быстрой и медленной скользящих средних.
- inSTOKPeriod, inSTODPeriod, inSTOSlowing Параметры для Стохастического осциллятора.
- inTakeProfit & inStopLoss Параметры для тейк-профита и стоп-лосса.

3. Struct dataTrades
- Эта структура используется для хранения данных, связанных с открытыми торговыми позициями, таких как общее количество позиций (`ttlPos`), средняя цена позиций (`hargaTA`, `hargaTB`) и общий объем (`ttlLot`).

4. Функция OnInit()
- Эта функция выполняет инициализацию советника, включая проверку входных параметров (например, убеждается, что период быстрой MA меньше периода медленной MA) и создание хэндлов для индикаторов MA и Stochastic.

5. Функция OnTick()
- Основная функция, выполняемая при каждом движении цены (тик).
- Она вызывает функцию для проверки нового сигнала с помощью GetSignal(), и если сигнал найден, то для заключения сделок используется функция manageTrading().
- Также вызывается функция setTPSL() для обеспечения постоянного обновления тейк-профита и стоп-лосса.

6. Функция isNewCandle()
- Эта функция определяет, сформировалась ли новая свеча. Это важно, поскольку советник проверяет наличие сигналов только на новых свечах.

7. Функция GetSignal()
- Эта функция определяет, существует ли действительный торговый сигнал, основанный на выбранной стратегии:
- Для eTypeCrossMA сигнал определяется по пересечению быстрой и медленной скользящих средних.
- Для eTypeTrend сигнал использует подтверждение от MA и Stochastic.

8. Функция manageTrading()
- Эта функция управляет исполнением сделок.
- При обнаружении валидного сигнала советник открывает позицию с размером лота, определенным с помощью функции getLotSize().
- Также применяется стратегия сетки/слоя для открытия дополнительных позиций в зависимости от расстояния между ценами (`inJarakLayer`).

9. Функция updateDataTrades()
- Эта функция обновляет данные, относящиеся к текущим торговым позициям, например, рассчитывает среднюю цену и общий объем открытых позиций.

10. функция openTrade()
- Эта функция открывает новую торговую позицию на основе сгенерированного сигнала и рассчитанного размера лота. Для исполнения ордера используется функция OrderSend().

11. функция setTPSL()
- Эта функция устанавливает или обновляет тейк-профит и стоп-лосс для каждой открытой позиции.

12. функция modifTPSL()
- Эта функция изменяет значения Take Profit и Stop Loss для существующих позиций, если они отличаются от ранее установленных.

13. функция validateLot()
- Эта функция проверяет, что используемый размер лота находится в пределах допустимого минимального и максимального диапазона, а также соответствует минимальному шагу лота (`gLotStep`).

14. Функция getLotSize()
- Эта функция рассчитывает размер лота, который будет использоваться, исходя из начального размера лота и количества уже открытых позиций, с учетом коэффициента умножения (`inMultiply`).

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

Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/53022

Calendar-Based Backtesting: an Event-Driven Trading EA Calendar-Based Backtesting: an Event-Driven Trading EA

Этот скрипт и советник позволяет кодерам проводить бэктест своих новостных стратегий, использующих календарь MQL5.

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

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

Trade Assistant MT5 Trade Assistant MT5

Индикатор Trade Assistant MetaTrader - мультитаймфреймовый индикатор, основанный на трех стандартных индикаторах: Stochastic oscillator, RSI (Relative Strength Index) и CCI (Commodity Channel Index). Он отображает текущие направления трендов на таймфреймах M1, M5, M15, M30, H1, H4, D1, W1 и MN1. При использовании такого индикатора вы получаете четкое представление о тенденциях на всех важных таймфреймах. При этом не имеет значения, к какому таймфрейму вы прикрепите этот индикатор. Индикатор можно скачать для MT4 и MT5.

EQ EQ

Историческое эквити единовременно и единожды открытых виртуальных позиций для анализа эффективности торговли спредом/эквити