Больше 12 лет занимаюсь механическими торговыми системами. Периодически встречаю в интернете красивые графики тестов по продаваемым за денежку малую роботам, графики типа приведенного внизу и еще круче.
Смотришь на эту красоту и не понимаешь, чего еще людям надо при таком-то счастье… Сплошные альтруисты...
Я много чего перепробовал, но таких результатов никогда не получал. И не надеюсь получить. Впрочем вру, тоже получал. На стратегиях типа небезызвестной MAXIMUM PROFIT SYSTEM, которая была в старых версиях Местасток и использовалась для оценки максимального потенциала рынка.
Суть таких стратегий — заглядывание вперед, а потом совершение сделки задним числом. Тоже красота была неописуемая, но толку-то. Наверное не больше, чем от стратегии, график теста которой приведен вверху.
Но это так, преамбула.
Прошло 8 месяцев, как я всерьез занялся роботизацией SWT-метода и начал осваивать программирование на MQL4.
Трейдерскую жизнь себе немного облегчил, но программирование зараза не меньшая.
Несколько раз, как мне казалось, заканчивал эту нелегкую работу. Потом продолжал дальше в связи с вновь открывшимися обстоятельствами и новыми идеями. И вот пару дней назад вроде бы закончил окончательно.
Я сделал это — все роботы собраны в единый модуль, в котором настраиваются и тип тренда и режимы использования.
Описание торговой тактики и параметров представлено на странице
Формализованная торговая тактика: SWT-робот.
Заранее сочувствую пользователям, которые рискнут с ним работать... Впрочем, в поставляемом модуле по желанию пользователя часть второстепенных настроек будет скрыта. Квалифицированный юзер получит весь ассортимент разработчика.
А выглядит это так:
Назначение параметров следующее:
—
SwitchToShortTrend — переключение в режим краткосрочного тренда;
—
SwitchToMediumTrend — переключение в режим среднесрочного тренда (если установлен режим среднесрочного тренда, то значение параметра
SwitchToShortTrend игнорируется);
—
LotsForManualMM — размер лота для торговли фиксированным объемом без
AutoMM;
—
AutoMM — параметр выбора режима автоматического определения размера (объема) позиции, значение true соответствует автоматическому определению размера позиции, значение false — ручной выбор размера позиции, задаваемый параметром
LotsForManualMM;
—
RiskPercForTradeAutoMM — процент риска на сделку при
AutoMM=true. Если заданный размер или рассчитанный лота меньше допустимого в торговом терминале, то в советнике автоматически устанавливается минимально допустимый размер лота;
—
MaxNumberOrdersInMarket — максимальное количество ордеров в рынке по инструменту;
—
TotalRiskLimitPerc — максимальный общий риск в процентах по всему портфелю торгуемых инструментов;
—
TrailingStopAdaptive — включение/выключение режима адаптивного трейлинг-стопа. Адаптивный трейлинг-стоп включается на режиме коррекционного движения по торгуемому тренду;
—
TrailingStopManualSize — размер трейлинг-стопа, задаваемого вручную. Значение 0 — ручной трейлинг стоп отсутствует. Если значение больше 0, но меньше минимально допустимого в торговом терминале, то устанавливается минимально допустимое + 5пп;
—
Long — торгуем/не торгуем лонг;
—
Short — торгуем/не торгуем шорт;
—
OnlyOpen — при включенном режиме позиции только открываются и сопровождаются трейлинг-стопом;
—
CloseManualPosByExpert — возможность закрытия экспертом позиций, ранее открытых или открываемых вручную;
—
F_FiltrSignal — при параметра true для открытия позиции принимаются во внимание только сигналы на откате внутридневного тренда;
—
W_FiltrTrendEnd — при значении true параметр используется для переключения в режим бокового движения рынков для локального тренда: если волна четвертого уровня графика М15 больше 0.7071 (меньше -0.7071) границы канала волатильности на диаграмме волн, то в дальнейшем сделки в направлении роста (снижения) волны не открываются. Сделки в противоположном направлении открываются без ограничений;
—
S_FiltrTrendStart — при значении true параметр используется для блокировки входа на развороте локального тренда если сумма волн находится за пределами 0.7071 от границ канала волатильности. Сделки в направлении продолжения тренда открываются без ограничений;
—
S_FiltrSUMM — для формирования торгового сигнала используется не пересечение нулевой линии волной второго уровня графика М1, а пересечение нулевой линии суммой всех волн;
—
AggressiveMode — в режиме агрессивной торговли риск на позицию и количество открываемых сделок умножаются на величину
AModeFactor на интервале направленного тренда;
-
LeverageLimits — задается предельный размер кредитного плеча, в рамках которого советник может открывать позиции. Если заданный размер кредитного плеча больше плеча, предоставленного брокером, то действуют ограничения по кредитному плечу брокера. Например, плечо у брокера 1:500, а вы можете установить 1:25 и советники не будут открывать новые позиции, если набран объем, соответствующий кредитному плечу 1:25;
—
Magic — мэджик-идентификатор для селекции позиций, открытых советниками SWT-метода. Значение по умолчанию
112358 — одинаковое для всех типов советников.
Селекция позиций при их обработке экспертом производится по символу и мэджик-идентификатору. При желании трейдер может задавать свои значения идентификатора для работы различных версий советника с различными параметрами.
В общем, комедия окончена. Вернусь к нормальной жизни, потому что программирование роботов, отладка алгоритмов и программ съедает время и нервную энергию не хуже трейдинга.
Тест на золоте для режимов локального, краткосрочного и среднесрочного трендов.
Для двух последних случаев количество позиций в рынке удвоено, по сравнению с роботом для локального тренда, так как протяженность торгуемого движения больше и пропускается большое количество сигналов на открытие позиции.
Режим — локальный тренд.
Режим — краткосрочный тренд.
Режим — среднесрочный тренд.
P.S. Да, выбор режима по-прежнему остается за трейдером.
Со всеми вытекающими последствиями. :)
SWT-метод. Теория и практика применения
Правила торговой тактики SWT-метода
Да и время идет почему-то намного быстрее… Отметил новый год, не успел протрезветь, а уже следующий.
Adept, в другой стране даже падение гормонального фона можно было бы компенсировать за счет фармакологии. В нашей это требует специальных усилий или конфликта с законом. :)
P.S. Что касается программирования. Более 40 лет назад при обучении в вузе мне в голову крепко вбили, что машина — дура (тогда говорили не компьютер, а ЭВМ, поэтому машина). И делает только то, что ей приказано, а не то, что ты от нее ждешь, поскольку мысли читать не обучена. Поэтому если ты не продумал всех ожидаемых шагов и действий и не задал их буквально, то ожидаемый результат не получишь.
Adept, было бы желание…
Всегда трудно сломать барьер в сознании и начать. Это касается всех возрастов и всех начинаний.
ну по выложенным данным получается неплохо
если так на самом деле, то работа 8 месяцев должна окупиться
а я роботам не доверяю… у меня мания контроля)
Для меня робот — средство автоматизации моих действий, что бы не сидеть за монитором в ожидании момента открытия/закрытия позиции.
Поэтому контролирую. Тем более, что бывают периоды рассогласования циклов рынка, когда робот идет вразнос.
Хотя судя по упертости скорее первое.
Котик, понимание/непонимание — это не критерий. Критерий — поведение.
Я много чего читаю в областях, где я не являюсь специалистом, и тоже ни хрена не понимаю. Но это не дает мне оснований свысока относиться к авторам не понимаемых мною работ и фамильярничать с ними. Это, извините, синдром дворника из старого анекдота, для которого все что находится за пределами его понимания — херня.
Разговаривают два дворника:
— Слышь, а за что Алферову дали Нобелевскую премию, это ж почти миллион баксов?
— Да не знаю, за херню какую-нибудь.
Котик, перефразируя мысль Коко Шанель: «Мне по большому счету совсем не важно кто, что думает о моих методах. Я об их методах вообще не думаю». :)
Мои комментарии относительно вас больше касаются манер и поведения.
Вы просмотрите другие комментарии и сами увидите, чем вы выделяетесь :)