Стратегия GTerminal
Обзор
GTerminal — это порт эксперта MetaTrader 4 GTerminal_V5a на C#. В оригинальной версии трейдер управлял входами и выходами,
рисуя на графике горизонтальные линии. В StockSharp та же логика реализована через набор параметров: каждая виртуальная линия
соответствует отдельному параметру. Когда цена закрытия выбранного свечного ряда пересекает такую линию, стратегия открывает,
закрывает или переворачивает позицию так же, как это делал скрипт на MQL4. Дополнительные уровни защиты имитируют вспомогательные
линии "tpinit" и "slinit" из первоначальной реализации.
Логика стратегии
Отбор цен
- Стратегия работает с завершёнными свечами заданного типа (
CandleType). StartShiftзадаёт, какая свеча используется в расчёте:0— текущая,1— предыдущая и т.д. Тем самым всегда анализируются две соседние свечи, что полностью повторяет алгоритм MetaTrader.CrossMethodсоответствует входному параметру MQL4:0— жёсткое пересечение: предыдущая свеча должна находиться по одну сторону от уровня, а текущая закрыться по другую.1— мгновенный триггер: достаточно, чтобы текущая свеча закрылась за уровнем. Чтобы исключить повторные срабатывания на той же свече, порт дополнительно проверяет положение предыдущей свечи, добиваясь привычного эффекта “однократного” пересечения.
Правила входа
- Линия Buy Stop — при переходе цены из области ниже
BuyStopLevelв область выше линия открывает покупку. Если есть короткая позиция, объём ордера включает лоты на её закрытие плюс объёмVolumeдля новой длинной позиции. - Линия Buy Limit — при падении цены через
BuyLimitLevelтакже открывается длинная позиция с тем же расчётом объёма. - Линия Sell Stop — при переходе цены сверху вниз через
SellStopLevelоткрывается короткая позиция (и закрываются имеющиеся лонги). - Линия Sell Limit — при подъёме цены через
SellLimitLevelоткрывается шорт. - Входы пропускаются, если
Volumeравен нулю или включён флагPauseTrading.
Правила выхода
- Направленные выходы — уровни
LongStopLevel/LongTakeProfitLevelзакрывают длинные позиции, когда цена пересекает линию.ShortStopLevel/ShortTakeProfitLevelвыполняют аналогичные действия для коротких позиций. - Глобальные выходы —
AllLongStopLevelиAllLongTakeProfitLevelзакрывают все длинные позиции независимо от их происхождения.AllShortStopLevelиAllShortTakeProfitLevelделают то же самое для коротких позиций. - Первичная защита — если
UseInitialProtectionвключён, уровниInitialLongStopLevel,InitialLongTakeProfitLevel,InitialShortStopLevelиInitialShortTakeProfitLevelприменяются сразу после заполнения ордера. Эти уровни полностью повторяют работу линий "slinit"/"tpinit" в оригинале и действуют до закрытия позиции или изменения параметра. - За один бар выполняется только одно выходное действие. После срабатывания любого условия стратегия отправляет закрывающий ордер и не проверяет остальные условия до следующей свечи, что соответствует поведению MQL4-скрипта после удаления сработавшей линии.
Управление паузой
- Параметр
PauseTradingреализует функциональность линии "PAUSE" из MetaTrader. При включении торговая логика полностью останавливается и может быть возобновлена вручную без перезапуска стратегии.
Параметры
- Volume — объём заявок для новых входов. При развороте автоматически добавляется объём, необходимый для закрытия противоположной позиции.
- Cross Method — выбор алгоритма пересечения (
0— строгое,1— мгновенное). - Start Shift — смещение свечи, используемой в расчёте пересечения.
- Pause Trading — при значении
trueблокирует все торговые действия. - Use Initial Protection — включает автоматическое применение первоначальных уровней стопа и тейк-профита после каждой сделки.
- Buy Stop Level / Buy Limit Level — уровни, запускающие открытие длинных позиций.
- Sell Stop Level / Sell Limit Level — уровни, запускающие открытие коротких позиций.
- Long Stop Level / Long Take Profit — линии закрытия текущей длинной позиции.
- Short Stop Level / Short Take Profit — линии закрытия текущей короткой позиции.
- All Long Stop / All Long Take Profit — глобальные уровни закрытия всех длинных позиций.
- All Short Stop / All Short Take Profit — глобальные уровни закрытия всех коротких позиций.
- Initial Long Stop / Initial Long Take Profit — уровни, применяемые к новым длинным позициям при активной начальной защите.
- Initial Short Stop / Initial Short Take Profit — уровни, применяемые к новым коротким позициям при активной начальной защите.
- Candle Type — тип свечей, по закрытию которых выполняются сравнения.
Особенности реализации
- Вместо графических объектов линии задаются параметрами, которые можно менять в рабочем окне параметров, что повторяет опыт перетаскивания линий на графике MetaTrader.
- Связь с индикаторами (RSI, CCI, Momentum и др.), присутствовавшая в MQL4-версии, не реализована. Все сигналы основаны только на цен закрытия. При необходимости индикаторную логику можно добавить через другие компоненты StockSharp.
- Стратегия использует только рыночные заявки (
BuyMarket,SellMarket), как и оригинальный скрипт, который отправлял рыночные ордера после срабатывания линий. - В комплект входит только реализация на C#, Python-версия отсутствует.