Автор идеи: Vladimir Pastushak.
Автор MQL5-кода: Vladimir Karputov.
Советник торгует по индикатору "Moving Average", при этом все подготовительные и торговые функции реализованы в виде торгового класса CMoving в отдельном файле Moving.mqh.
Советник использует принцип качелей, при этом есть возможность увеличивать лоты, для работы применяется простая стратегия:
| Установка параметров | |
Initialization | Начальная инициализация - устанавливаются параметры:
|
GetFlag | Возвращает состояние флага инициализации. Используется как вспомогательная функция при вызове из главного эксперта для проверки состояния внутренней переменной m_init класса CMoving. |
LotsOrRisk | Задание типа расчета лота позиций: или в ручном режиме (параметр lots больше нуля) или в процентах риска на сделку от свободной маржи (параметр risk больше нуля). |
CreateMA | Создание индикатора "Moving Average". |
TakeProfit | Задание параметра тейк профит. |
Multiplier | Задание параметра увеличения лота. |
DistanceMA | Задание отступа от индикатора "Moving Average". |
ProfitPlus | Задание добавочного отступа при общей прибыли. |
| Главная функция | |
Processing | Главная функция, в которой выполняются все расчеты. |
| Функции класса со спецификатором доступа protected | |
RefreshRates | Обновление котировок по символу. |
CheckVolumeValue | Проверка корректности введенного объема позиции (проверка используется при ручном задании объема позиции). |
IsFillingTypeAllowed | Проверка режима заливки ордеров. |
iMAGet | Получение значения индикатора "Moving Average" на баре с индексом index. |
CalculateAllPositions | Получение за один вызов информации по позициям:
|
Prices | Получение расчетных цен для BUY и SELL позиции с учетом заданной дистанции Distance from Moving Average. |
LotCheck | Проверка и нормирование объема позиции (используется при ручном задании размера позиции). |
OpenBuy | Открытие BUY позиции. |
OpenSell | Открытие SELL позиции. |
PrintResult | Распечатка результатов выполнения торговой операции по открытию позиции. |
SetTakeProfit | Установка позициям уровня тейк профит или удаление всех уровней тейк профит и стоп лосс (при параметре delete_take_profit равном true). |
CompareDoubles | Сравнение на равенство двух вещественных чисел. |
AwerageTakeProfit | Расчет и установка единого уровня тейк профит для позиция определенного типа pos_type. |
GBPUSD, таймфрейм H1, режим генерации тиков "Каждый тик на основе реальных тиков".

T3 Deviation
В индикаторе T3 Deviation используются промежуточные расчеты T3 для получения отклонения на его основе. Как и ожидалось, отклонение, полученное таким способом, более сглаженное, чем стандартное отклонение, поскольку T3 сам по себе более сглаженный, чем SMA. Индикатор быстрее отвечает на изменения рынка.
EMAVFS_StDev
Индикатор EMAVFS с дополнительной индикацией силы тренда цветными точками на основе алгоритма стандартного отклонения.