Zerg BrainMOD
Предыстория:(Много букв, читать по желанию)
[Spoiler]Все написанное далее – является исключительно моим мнением и не претендует на истину в последней инстанции.
В общем, я на рынке форекс уже около года. Сижу тут не абы как ,а постоянно что-то изучаю, анализирую, ищу. От ручной торговли отказался полностью, т.к убеждён, что совсем мало кто может зарабатывать стабильно в долгосрочной перспективе хоть какие-нибудь прибыли.
На себе понял, как рынок сильно может изменится, когда одни стратегии давали 90% успешных сделок в одном периоде и менее 30% буквально через пару месяцев. Что при торговле в ручную может сильно покосить состояние самого трейдера. Поэтому мной было принято решение отказаться от ручной торговли и перейти на автоматическую. Заметил одну достаточно интересную вещь: на форексе практически нет стабильно зарабатывающих трендовиков. Наверно, их даже можно пересчитать по пальцам. С чего можно сделать вывод, что рынок и правда меняется. Хотя, мне больше нравится утверждение, что он почти полностью хаотичен. А значит практически любая стратегия в перспективе будет убыточна. (разве что в общем хаосе выживут роботы с хорошим соотношением Tp/Sl=2;4 или более)
Так же были мной изучены различные роботы на основе мартингейла, сетки, сетки-мартингейла.
Учитывая общий хаос рынка мне они показались куда более перспективными нежели обычные трендовые роботы. Но тут тоже есть пара нюансов:
Рассмотрим пример работы советника на основе мартингейла:
Торговый советник "Оптимист" режим ГСЧ.
Фиксированный Sl и TP. При хорошем раскладе всегда срабатывает tp ордера. При плохом есть определенный запас ордеров при выходе за который срабатывает остановка построения каскадов и фиксируется достаточно крупный убыток. Тестирование на истории показало, что как не открывать позиции и в каких последовательностях. Общий хаос рынка, его непредсказуемость обязательно когда-нибудь выбьют 7 SL подряд. – а значит в перспективе этим советником зарабатывать не получится. О чем ,кстати, уже рассказали нам мониторинги этого робота.
Есть более “умные” собратья, которые входят по индикаторам, но в целом тоже почти все сливают. Пример: FxSeer
Сетка-мартингейл:
С ней я познакомился, когда тестировал бесплатный советник от APMSoft – APMGrid. Были приведены исторические тесты, в которых была показана просадка на сете AUDCAD около 3000. Буквально через неделю после того, как я установил советника AUDCAD просадка была 6000(стандартный MM). (центовый счет). Причем такая просадка образовалась за один день. Т.е не успей я долиться до 8 тысяч я бы слил свой депозит. Т.е для полностью автоматической работы, как мне кажется, сетки-мартингейл не подходят. Т.к при достаточно сильном движении депозит будет слит и инвестор даже этого не успеет заметит.
Сетка:
О классической сетке я, конечно же узнал благодаря Zerg'y. Со стандартным зергом дела не имел, сразу сел на мод Zerg EA M1. Зерг – это очень простой бот. Почти как автомат Калашникова. Стоит он только на паре AUDNZD. Из-за торговых особенностей этой пары – он уже долгое время благополучно приносит прибыль. (На протяжении двух лет) И при HighRisk(500x0.01) на демо счете уже успел заработать 566% прибыли. И все бы хорошо,если бы не 91% просадка на HighRisk, которая,кстати,была вот совсем недавно. Поэтому и решено было открыть этот топик ,надеюсь, не затрут.
Кратко резюмируя:
Мартингейл:
- При ГСЧ это игра в русскую рулетку, но когда-нибудь пистолет выстрелит N раз подряд,что приведёт к сливу.
- Индикаторный мартингейл работает лучше, но тоже до поры до времени.
Сетка-мартингейл:
- При неправильном входе, который будет подкреплён негативной новостью вполне себе можно слить депозит даже не успев заметить этого. Это,как мне кажется, самый главный минус полностью перекрывающий все плюсы. Хотя при завышенном депозите работает нормально, но тогда прибыли будут оставлять желать лучшего.
Сетка на примере Zerg:
- Подходит только на AUDNZD( при входе по Envelopes).
- События последнего времени показывают, что стандартный Зерг требует значительных модификации. Ибо от 91% DD до 100%DD совсем недалеко.
[/Spoiler]
Суть идеи:
1.Уменьшить максимальную просадку на проблемных сетках зерга.( от 30 ордеров)
2.Сделать настройки 500x0.01 менее рисковыми(перевести из разряда High риск в Mid риск).
3.Разработать рабочий сет ~300x0.01 как High риск.
4. Отказаться от использования Sl в советнике.
5.При успешных результатах модификации снять ограничение на AUDNZD попробовать адаптировать классическую сетку на других валютных парах.
6. При успехе (5) создать пользовательский индикатор для контроля уровня просадки.
В идеале я хочу объединить все плюсы Зерга и APMGrid в новом продукте.
Техническое задание:
Теперь к делу.(Пункты в порядке реализации)
1)Создание динамической сетки.
2)Контроль негативных событий. (Спред, негативный рост, негативные скачки цен )
3)Точка безубытка.
4)Email Alert о просадках.
При успешной адаптации под другие валютные пары:
5)Контроль суммарной просадки.
Динамическая сетка:
extern bool DinamicGrid = TRUE
Если Зерг начал построение сетки, то при активном параметре DinamicGrid= TRUE. Во время каждого тика происходит проверка на то, какой сейчас рынок.(положительный или отрицательный)
Bool Negativ=1 or 0. Если равно 1, значит, построение сетки откладывается до значения Negativ=0.
Если значение Negativ=0 - При этом происходит проверка на расстояние от текущей цены Bid до ближайшего ордера сетки. К примеру получилось расстояние 60 старых пунктов. Исходя из этого расчет следующего лота сетки происходит следующим образом:
60(расстояние bid до ближайшего рабочего ордера) /5(шаг сетки)=12(коэффициент умножение базового ордера)
0.01(базовый ордер)*12(Коэффициент)=0.12(Итоговый ордер)
Мне не совсем ясно, как считать Tp при построении таких сеток, но думаю, можно использовать определенные значение действительной прибыли при которой закрывать все ордера.
Контроль негативных событий:
Теперь нужно определится, как будет формироваться переменная Negativ. Которая ,соответственно, может принимать два значение TRUE или FALSE(1 or 0)
Её я предлагаю формировать из нескольких оптимизируемых Extern параметров, а именно:
1.Extern Spread
2.Extern Speed Price
3.Extern OrderPerSecond
1. Если Spread слишком высокий, то значение Negativ=1. Значит строительство сетки откладывается.
2. SpeedPrice индикатор, который написал программист Oll имеет несколько оптимизируемых Extern параметров, который так же привязан к таймфрейму. (т.е если использовать его в зерге, нужно модифицировать его и задать возможность в ручную выбирать таймфрейм.
Суть индикатора – определить текущую скорость цены и её направление, если негативный период закончился, то ставить ордер. Назовём это контроль Негативного тренда. По сути используя его мы не можем разместить ордер в самом пике( так сказать экстремуме), но при такой особенности построения сеток, ордера ставятся в более выгодных местах с точки зрения движения цены. Теоретически это должно сильно уменьшить максимальную просадку,но,возможно и увеличить время работы одной сетки.
Параметры для оптимизации следующие:
Extern TimeFrame=(выбор таймфрейма)
Extern AvgPeriod=(количество баров для усреднения цены)
Extern LevelS=(уровень(как положительный так и отрицательный в зависимости от ситуации) который и будет влиять на переменную Negativ)
Разберём все на следующем примере:
Цитата
Давайте разберёмся. С картинками думаю будет понятнее.[Вариант реализации через SpeedPrice]
Салатовые линии - стандартный зерг ордера.
Голубые линии -динамическая сетка зерг.
-3 красных линии горизонтальных стоплосы зерга(было 4)
- 1 жирная красная линия - 1 стоплосс динамической сетки Зерга при стандартном стоплоссе классического зерга.
-Вертикальные линии - точки входа динамического зерга. Прошу обратить внимание на распределение лотности.
Пиковая просадка стандартного Зерга:
(Поправьте, если не прав)450USD. При 500x0.01 = 90%
Теоретическая просадка модифицированного зерга при данной ситуации:
(Значения Speed Indicator = AVG=13 c 5M таймфрейма)
20 - инициализирующий ордер
237 - Второй ордер
49 - 4 ордер
53-3 ордер
5 -5 ордер
364USD= 72% При 500x0.01
Хотя в цифрах могу немного и ошибаться, но даже на глаз видно, какой это даёт буст
http://s31-temporary-files.radikal.ru/7c19d2fd4b764e6ca75cdd67a8da05e6/-88693455.jpg
При таком построении мы сумели уменьшить максимальную просадку на 18%, что, как мне кажется, достаточно неплохой результат. Конечно, это отдельно взятая ситуация по этому надо понимать, что оптимизация просадки в одном случае не даёт нам никаких преимуществ в других случаях и даже, возможно, будет служить причиной слива депозита в других. По этому потребуется много исторических тестирований, а так же, возможно, поиск другой возможности уменьшения максимальной просадки.
3. OrderPerSecond идею подал наш форумчанин grisly
ЦитатаРебят а Вы не думали воткнуть туда логику как в илан 1.67 николаус. Там вроде ограничение открытых ордеров по времени. То есть не больше 1 ордера на 1 свечу или не больше 1 ордера по времени. Это сильно растянет сетку при новостях и даст нам лучшее положение, так как мы не будем в большой просадке и не будем иметь в наличии 5-6 лишних ордеров.
Я бы назвал это контролем форсмажорных ситуаций.
Пример:
http://s57.radikal.ru/i156/1402/39/3cc00bfc4301.jpg
Это 5M TimeFrame при наличии негативных новостей цена за 10 минут упала на 950 пункт, что в итоге даёт сетку из 19 ордеров при стандартном шаге Зерга. При значении OrderPerSecond=100-300 мы бы смогли избежать большей части этих ордеров.
3. Точка безубытка.
Extern LevelB=20
Extern BTarget=2
Тут все просто при определенном проценте просадки(levelB) перевести Tp сетки на уровень BTarget.
4. Email Alert.
При LevelA=N отсылать пользователю сообщение о высоком уровне просадке.
5.Контроль суммарной просадки. Если по поводу остальных пунктов ещё были какие-то мысли, то реализация просадки через сторонний индикатор для меня это темный лес. Но в любом случае сначала надо добиться хотя бы исторической успешности первых трех пунктов. Успех в реализации будет считаться уменьшение просадки на историческом тесте 4 лет.
Советник предлагаю делать на исходном коде Zerg EA M1. Который я приложил к теме.
Так же к теме приложил SpeedPrice
P.S Я сам изучаю потихоньку MQL и, наверно,в будущем смог бы реализовать подобный проект, но,надеюсь, найдутся желающие мне помочь в реализации этой идеи уже прямо сейчас. Тема создана отдельная, т.к это слишком глобальный мод, который полностью отходит от идей стандартного зерга.
