At Random Full — это аккуратный перенос советника MetaTrader 5 «At random Full». В конверсии сохранены случайный выбор
направления, ограничения по количеству усреднений, временные фильтры и логика минимального шага между позициями. В StockSharp
стратегия построена на высокоуровневом API: вся обработка происходит в подписке на свечи, а стоп-лосс и тейк-профит оформляются
через StartProtection.
Логика торговли
После закрытия каждой свечи проверяется, разрешена ли торговля: учитывается фильтр торговой сессии, состояние портфеля и
флаг «Только одна позиция».
Генератор псевдослучайных чисел выбирает направление сделки. Параметр ReverseSignals позволяет инвертировать результат и
тем самым повторить поведение режима Reverse в оригинале.
Параметр Mode блокирует сигналы в запрещённом направлении. Чтобы не открывать несколько сделок на одном баре, стратегия
запоминает время открытия последней свечи для покупок и продаж.
Управление сеткой полностью совпадает с MQL-версией:
MaxPositions ограничивает количество усреднений в одну сторону.
MinStepPoints требует минимального ценового шага между позициями; расстояние переводится в цену через шаг котировки.
CloseOpposite закрывает встречную позицию перед открытием новой.
Рыночные заявки отправляются методами BuyMarket и SellMarket с нормализованным объёмом OrderVolume.
Управление позицией и рисками
StartProtection выставляет стоп-лосс и тейк-профит в соответствии с входными параметрами. Если TrailingStopPoints больше
нуля, активируется встроенный трейлинг StockSharp. Значения TrailingActivatePoints и TrailingStepPoints переводятся в
денежное выражение и выводятся в журнал, а дальнейшее сопровождение позиции выполняет платформа.
Нормализация объёмов учитывает VolumeStep, MinVolume и MaxVolume, как и функции из MQL-советника.
Временной фильтр повторяет блок InpTimeControl: при активном параметре сделки разрешены только в пределах
[SessionStart, SessionEnd]. Поддерживаются интервалы, переходящие через полночь.
Параметры
Параметр
Описание
Значение по умолчанию
CandleType
Тип свечей, по которым выполняется логика.
Таймфрейм 15 минут
OrderVolume
Базовый объём рыночной заявки в лотах.
0.1
MaxPositions
Максимум усреднений в одном направлении (0 — без лимита).
5
MinStepPoints
Минимальный шаг между сделками в пунктах MetaTrader.
150
StopLossPoints
Дистанция стоп-лосса в пунктах.
150
TakeProfitPoints
Дистанция тейк-профита в пунктах.
460
TrailingActivatePoints
Порог прибыли для запуска трейлинга; значение фиксируется в логе.
70
TrailingStopPoints
Дистанция трейлинг-стопа, передаваемая в StartProtection.