English 中文 Español Deutsch 日本語 Português Türkçe
preview
Как правильно выбирать советник в Маркете?

Как правильно выбирать советник в Маркете?

MetaTrader 5Тестер | 17 января 2022, 12:49
3 650 4
Evgeniy Ilin
Evgeniy Ilin

Содержание

Введение

На сегодняшний день MetaTrader Маркет является крупнейшим в мире сообществом трейдеров, обычных людей, а также программистов, которых объединяет общая цель — заработок на инвестициях. Последнее время я обнаружил очень много разговоров на форуме, связанных с тем, что представлено на данной площадке, и каково качество данных продуктов. В данной статье я собираюсь пройти по всем этим утверждениям и показать сомневающимся, что из себя в действительности представляет данная площадка. Но самое главное — я покажу, можно ли найти на этой площадке достойный продукт под себя и если это возможно, то как это сделать?


Правильное отношение к площадке как важнейший фактор вашего успеха

На любой торговой площадке есть и очень хороший товар и очень плохой товар, и соответственно что-то среднее и Маркет здесь не исключение. В Маркете MQL5 присутствует такое количество продуктов, что не найти там для себя нужный товар не сможет лишь узкая прослойка людей, которая по тем или иным причинам относится к ней негативно. Примерно таков характер рассуждений этой прослойки:

  • Протестировал сотню систем и ничего не нашел
  • Раз я не написал Грааль, то значит его вообще нет
  • Грааль изначально недостижим, потому что это сказка
  • Терминал не может дать достаточно данных для анализа
  • Советник не может анализировать рынок с человеком на равных
  • Никто не будет выкладывать на продажу реально работающие системы
  • Система должна давать 100% в месяц, а 100% в год это мелочь
  • Чем дороже советник и более высок его рейтинг, тем он лучше
  • Год положительного мониторинга – железный аргумент
  • Нужно дезинформировать покупателей и дискредитировать площадку, потому что я не могу на ней заработать
  • Я кандидат форумных наук, склонитесь предо мною
  • Родился на Уолл Стрит

Ну и все в таком духе. Можно еще много похожих мыслей сформулировать, но все они вертятся вокруг мысли о том, что раз что-то не так, то виновата в первую очередь площадка, а я, конечно же, нет.

Площадка не несет ответственности за то, что кто-то купил, по его мнению, некачественный товар, и глупо требовать от нее того, чего она дать нам не может. Функция площадки — свести покупателя и продавца, и на этом ее ответственность заканчивается. Я считаю, что площадка с успехом выполняет эту функцию. Большое количество товаров и услуг рождает конкуренцию, если вы не в состоянии конкурировать, то это хороший повод для саморазвития. Если вы знаете достаточно, то никто не сможет вас обмануть и в любой, даже самой большой и невзрачной куче хлама, можно найти что-то рабочее, нужно лишь этого хотеть. Не ленитесь и не злитесь господа читатели, тот кто ищет, тот всегда найдет.

Отдельно хочу сказать о так называемой “цензуре”, которая, по мнению многих людей присутствует на данной площадке. Да, есть такой момент. Цензура есть везде, но лично из моего опыта общения и с форумчанами, данный якобы негативный момент сильно раздувается. Я видел гораздо более ужасные и непристойные проявления цензуры, по сравнению с которыми цензура на данной площадке — это вообще божий одуванчик. Если глубоко и без эмоций проанализировать все подобные случаи, то окажется, что скорее всего всему виной либо ваше чрезмерное эго, либо необоснованная агрессия, но даже в этих случаях площадка относится терпимо к выходкам особо токсичных ребят. Ведите себя достойно и соблюдайте правила сообщества.

Дальше поговорим детально, как же находить рабочие торговые системы и сигналы эффективно и безошибочно. Будем рассматривать весь процесс от начала и до конца, используя примеры из Маркета, конечно, соблюдая конфиденциальность и не разглашая владельцев торговых систем или сигналов.


Основные правила оценки автоматических торговых систем

Прежде чем переходить к анализу примеров, первое что необходимо сделать — это определить правила или критерии, по которым нужно анализировать предложение площадки. Как ни странно, где и с кем бы я не общался, мало кто из этих людей понимает, что такое прибыльный советник или сигнал, и как отличить действительно работающую систему от имитации. Исходя из своего многолетнего опыта написания автоматических торговых систем на языках MQL4 и MQL5, я смог выработать достаточно понятные и эффективные критерии потенциального советника, которые при идеальном выполнении дают нам так называемый “Грааль”. Сначала я сформулирую эти правила, а после подробно опишу в чем смысл каждого из них. Правила выглядят так:

  1. Правильный выбор длительности участка тестирования в тестере стратегий
  2. Правильная оценка работы советника (по барам или по тикам)
  3. Оценка доступных данных терминала
  4. При возможности тестирование на ближайших таймфреймах к заявленному автором
  5. Правильное количество независимых бектестов по разным торговым инструментам
  6. Умение тестировать с визуализацией и видеть скрытое от глаз
  7. Правильные парадигмы тестирования (последовательность тестирования и умение делать правильные выводы из него)
  8. Правильный спред при тестировании торговой системы в тестере стратегий (в случае MetaTrader 5 — тестирование на реальных тиковых данных)
  9. Правильная оценка всех проведенных бектестов
  10. Наличие мониторинга реального счета
  11. Правильный анализ мониторинга реального счета
  12. Тестирование форвард участка как один из способов обнаружить подгонку под историю
  13. Понимание процесса оптимизации и его влияния на форвард-период
  14. Понимание процессов случайного блуждания и их влияния на торговлю
  15. Понимание нюансов тестеров стратегий MetaTrader 4 и MetaTrader 5 и их отличий (плюсы и минусы)
  16. По возможности собственный опыт разработки торговых систем
  17. Знание основных механизмов мани-менеджмента и их влияние на торговлю
  18. Понимание отличий бектестов и реальной автоматической торговли
  19. Понимание отличий демо счета от реального счета
  20. Знание и понимание наиболее популярных торговых стратегий
  21. Знание математики и в частности, теории вероятностей применительно к рынку
  22. Знание истины о рынке (можно назвать опытом)

Как видите, данный список довольно большой, и более того, каждый подпункт данного списка также включает множество нюансов и секретов. Каждая из этих мелочей в итоге влияет на результат по своему. Конечно, этот список можно и сокращать, и расширять, но понятно, что лучше расширять, чем сокращать. Ниже мы разберем минимальные основы, которые помогут вам начать самостоятельно и эффективно анализировать предложение площадки. Если вы смотрите на этот список и понимаете, что большая его часть вам недоступна, то это тоже не беда. К концу статьи мы увидим, что на самом деле в нем нет ничего особо сложного и критичного. Я убежден что любой, даже человек, который первый день находится на данной площадке, сможет избавиться от страха и выбрать себе хороший продукт по приемлемой цене, используя набор простых правил, а кто-то получит простые ответы на давно интересующие его вопросы. Дочитайте статью до конца, и вы поймете, насколько это просто.


Основные механизмы работы советников

Первый, второй и третий подпункты из этого списка я рассмотрю в связке, и сейчас я объясню почему. Исходя из моего опыта тестирования собственных и чужих систем, а также оценив опыт других людей, могу сказать, что есть несколько типов советников:

  • Работающие по тикам
  • Работающие по барам
  • Работающие по таймеру

Как видно, их немного. Например, если по тикам, то робот производит вычисления и торговые действия строго после появления данного события. Второй тип немного сложнее. Когда-то давно я писал роботов, работающих по тикам, а сейчас перешел на работу по барам. К сожалению, в MQL4 и MQL5 в советниках отсутствует возможность получать события появления нового бара, но тем не менее это можно организовать иначе, с использованием дополнительного функционала, и многие так и делают, в том числе и я. К чему я это? Это имеет непосредственное отношение к длительности участка тестирования. Третий тип советников работает по таймеру. Не все такие советники можно корректно протестировать в тестере стратегий. Разработчик во многих случаях может обосновать подобный выбор, но лично я скептически отношусь к подобным решениям.

Если советник работает по тикам, то это автоматически создает дополнительные риски и сложности для использования. Такие советники очень чувствительны к пингу, особенно те, которые торгуют рыночными ордерами. Даже задержка в 50 миллисекунд может оказаться критичной. В таких случаях люди покупают VPS и ставят свои системы на них, близко к одному из торговых серверов, чтобы минимизировать данные эффекты.

Если работа ведется отложенными ордерами, то можно почти полностью избавиться от данных эффектов, а если часть подобных эффектов и останется, то это будет лишь на совести вашего брокера. В любом случае, такие системы способны дать больше прибыли, либо сократить возможные убытки.

Лично я, исходя из своего опыта считаю, что наиболее стабильна та торговая система, что работает по барам, и я это вам докажу в конце статьи, используя собственные разработки. Можно, конечно, и найти те системы, которые показывают хорошую прибыль на тиковых данных, но это сделать гораздо сложнее, хоть и никто не говорит, что это невозможно. Я так говорю, потому что моя задача в данной статье это — привести вас к правильному выбору наиболее простым путем.

Исходя из тезисов, сформулированных выше, мы понимаем, что для нас остается важным именно тестирование систем, построенных на следующих принципах:

  1. Советник работает по тикам
  2. Советник работает по барам

Кстати, давайте посмотрим, как эти события выглядят в коде. Начнем с события появления нового тика:

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  //some logic
  }

Каждая новая цена, пришедшая с сервера, именуется тиком. Если цена на торговом сервере меняется, то он посылает всем клиентам данное событие. Работу по барам можно организовать, используя это событие, но сконструировав некую фильтрующую функцию:
//+------------------------------------------------------------------+
//| Expert new bar function                                          |
//+------------------------------------------------------------------+
datetime PrevTimeAlpha=0;  
bool bNewBar()
   {
   if ( Time[1] > PrevTimeAlpha )
       {
       if ( PrevTimeAlpha > 0 )
          {
          PrevTimeAlpha=Time[1];
          return true;
          }
       else
          {
          PrevTimeAlpha=Time[1];
          return false;
          }
       }
   else return false;
   }  

Это пример того, как это делаю я. Можно делать и иначе. Способов может быть много. Важно то, что все эти функции в итоге будут использованы внутри события “OnTick”:
void OnTick()
  {
  if ( bNewBar() ) { /*some logic*/ }
  }

Теперь посмотрим на событие таймера:
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
  //some logic
  }

Видно, что точно так же, как и в предыдущих событиях, в итоге вся логика берет начало из события, и весь код любого советника работает именно благодаря этим событиям и никак иначе, единственное, что для того, чтобы событие таймера работало, необходимо при запуске советника настраивать этот таймер на желаемый период в миллисекундах:
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   EventSetTimer(60);
   return(INIT_SUCCEEDED);
  }

В целом вот и все. Мы увидели все три возможных парадигмы построения логики советника и нам этого более чем достаточно для анализа. Конечно, есть и другие события, которые применяют внутри советника, но они крайне редко применяются алготрейдерами по причине того, что они очень экзотические и ситуативные.


Основные нюансы тестирования советников

Во-первых, понимание этих основ дает нам первое представление о том, как работают советники, а если рассмотреть вопрос более подробно, то мы можем понять, что тестирование в тестере стратегий, например, на тиках мы можем осуществить двумя способами:

  • Искусственная генерация тиков внутри бара по заранее определенной формуле
  • Загрузка реальных тиков с сервера нашего брокера

Оба варианта реализованы как в MetaTrader 4, так и в MetaTrader 5. Единственное, что в пятом терминале тестировать по реальным тикам гораздо проще и это доступно “из коробки”, а для реализации этой возможности в более старой версии терминала потребуется дополнительный софт. Иными словами, это уже перестает быть удобным, и в этой связи конечно лучше тестировать в пятом терминале, если есть такая возможность.

Конечно, мы должны понимать, что реальные тики и даже данные баров нужно где-то хранить и это все занимает достаточно много места на диске. В этой связи брокеры хранят лишь ограниченный объем данных на своем сервере. Но как же узнать сколько данных и какие данные доступны по тому или иному инструменту? А очень просто. Все это реализовано внутри MetaTrader 5. На основной панели терминала, есть кнопка “символы”:

Кнопка символы

Нажав ее у вас, откроется окно, где можно увидеть всю необходимую информацию как по тикам, так и по барам. Если вы хотите узнать сколько тиков содержится в базе данных вашего брокера, вы можете указать интересующий вас инструмент, после чего временной отрезок истории, который вам нужен и нажать на кнопку “запрос”. После продолжительной загрузки вы получите все тики, которые были в указанном вами периоде:

Загрузка тиков

Если тиков с сервера было получено меньше, чем должно быть в указанном периоде, то вы получите сообщение, которое я выделил красной рамкой. Так можно понять, с какой даты имеет смысл тестировать в режиме “реальные тики”. Если же вы выставите тестовый отрезок, который не покрыт реальными тиками, то тики внутри этого отрезка будут генерироваться искусственно. Тестирование советников, работающих по тикам, которые вы собираетесь тестировать на искусственных данных, может дать вам искаженные результаты, но теперь вы знаете, как обходить эти препятствия. Вы можете обойти этот нежелательный момент и использовать советники работающие по барам, ведь они лишены этого недостатка!

То же самое с барами:

Загрузка баров

Понятно, что бары можно получить по многим торговым инструментам вплоть до 2000 года, а кое-где и дальше, все зависит от таймфрейма на котором вы тестируете торговую систему. Конкретно в случае, показанном на рисунке выше, сообщение говорит о том, что бары скачались в размере 100 000 штук, исходя из ограничения внутреннего хранилища терминала, размер которого можно ограничивать при желании. В остальных случаях вы получите другое сообщение. Так можно попасть на форму настроек внутреннего хранилища терминала:

MetaTrader 5 настройка хранилища

Вот здесь и настраивается размер хранилища котировок. Если его размера не хватает для тестирования, то следует увеличить данное число и перезагрузить терминал. После следующего запроса баров у вас загрузится вся недостающая вам история, которая доступна брокеру. Важным нюансом является то, что количество баров в истории напрямую равно количеству баров на графике и это и есть “Maxbarsinchart”.

В MetaTrader 4 все тоже похоже, там нужно пройти по пути “Сервис -> Архив котировок” с помощью главного меню.

путь к архиву котировок

Там мы увидим похожее окно:

MetaTrader 4 настройка емкости хранилища

Видно, что общая переменная в MetaTrader 5 разделена здесь на две:

  • Max barsinhistory— сколько баров может быть в истории
  • Max barsinchart— сколько баров может быть на графике

Здесь ограничением хранилища уже выступает первая переменная, а вторая ограничивает количество данных, которое вам отображается в архиве котировок, а также количество баров на любом графике терминала. Вероятно, в более ранней версии терминала это было нужно для экономии памяти. Давайте посмотрим,как выглядит этот архив в MetaTrader 4:

MetaTrader 4 архив котировок

Для того чтобы скачать историю, достаточно выбрать интересующий инструмент, и нажать на кнопку “Загрузка”. Единственное отличие здесь от MetaTrader 5 в том, что нельзя запросить лишь кусок истории, а она скачивается сразу вся целиком, по всем таймфреймам, исходя из тех ограничений что мы выставили в настройках. Как задавать эти ограничения или же, наоборот, убирать вы уже знаете.

Перед тестированием, конечно, сначала необходимо подготовить всю историю, а уже потом начинать тестирование, особенно когда речь идет о MetaTrader 4. В этом терминале вся история скачивается вручную, а вот в MetaTrader 5 для удобства реализована автоматическая загрузка данных. Если вы начнете бектест без скачивания истории, то терминал ее скачает за вас.

После всех этих шагов необходимо будет определиться, с какой точки проводить бектесты и какова должна быть их градация. Я бы посоветовал при первом тесте всегда брать последний год истории, если отсчитывать от текущей даты, либо предыдущий год целиком плюс весь текущий год. Так можно сделать первые выводы о работоспособности советника. Если окажется, что советник недостаточно хорошо торгует на данном участке, то его сразу можно отбросить и переходить к анализу следующего советника.

После подтверждения приемлемой работоспособности необходимо протестировать советник на всей доступной истории, предварительно задав в тестере стратегий депозит побольше для того, чтобы у советника были максимальные шансы пройти этот бектест, и по возможности тестировать по реальным тикам. Для корректной оценки лучше всего отключать все механизмы мани-менеджмента, если в советнике предоставляется такая возможность. Строго говоря, те советники, у которых отсутствует такая возможность, автоматически для вас должны попадать под особое внимание, потому что вы теряете один из важнейших показателей торговой системы —  это оригинальное математическое ожидание стратегии в пунктах. Данный параметр играет краеугольное значение при оценке торговой системы, значимость которого невозможно переоценить.

Перед тестированием необходимо знать некоторые важные отличия тестеров стратегий MetaTrader 4 и MetaTrader 5. В более свежей версии терминала спред имеет нижнее ограничение, и если вы выставите спред меньше, чем это ограничение, то ничего не произойдет и вы будете тестировать совсем не с тем спредом что вы указали. Конечно, если вы выставите спред больший, чем это значение, то тестирование пройдет именно с тем спредом, что вы указали, это сделано для защиты покупателя. Такая защита нужна для того, чтобы при тестировании вы не обманули сами себя и не выставили слишком маленький спред при тестировании, а ошибка всего на один пункт может стоить неопытному покупателю его денег. Это минимальное значение привязано к среднему значению спреда из истории котировок по инструменту, на котором вы тестируете советник, но это число не выводится в спецификацию инструмента. Есть такая тонкость, просто чтоб вы знали. При тестировании чужих систем лучше брать текущий спред, тогда терминал берет тот спред, что сохранен в истории на каждом баре. А если вы еще и тестируете по реальным тикам, то терминал знает о спреде на каждом тике и тестирование тиковых советников будет максимально приближенным к истине.

Если говорить о тестировании в MetaTrader 4, то тут все гораздо проще. Спред можно выставлять, начиная от “1” и до бесконечности и тестирование будет происходить именно с тем спредом что вы выставили. Спред будет фиксирован на всем отрезке тестирования, что, конечно, не очень здорово, но все равно можно посмотреть какой сейчас текущий спред на инструменте, прикинуть комиссию, прикинуть своп если надо, приплюсовать возможные проскальзывания, в добавок можно накинуть сверху еще какой-нибудь запас, чтобы уж точно быть уверенным, что система очень устойчива к спредам, а это все, как я говорил выше, и есть важнейший момент при тестировании.

В MetaTrader 5 спред выставляется так:

MetaTrader 5 спред

В MetaTrader 4 все проще:

MetaTrader 4 спред

Несмотря на то, что MetaTrader 4 гораздо проще, тестирование продуктов на нем для вас должно быть менее предпочтительно. Сейчас практически все советники реализуются разработчиками в обоих версиях, для обоих терминалов, и найти версию для MetaTrader 5 не составляет труда в большинстве случаев. Но знание даже этих нюансов вам очень пригодится.


Составные показатели

В случае положительного исхода теста следует обратить внимание на два кастомных показателя, смысл которых я покажу ниже. В этих показателях собраны все плюсы таких показателей, как максимальная просадка, относительная просадка и коэффициент Шарпа, как по балансу, так и по средствам. Тем не менее показатель очень просто посчитать.

  • Alpha = TotalProfit / MaximumEquityDrawdown
  • Betta = TotalProfit / MaximumBalanceDrawdown
  • MaximumEquityDrawdown – максимальная просадка по средствам
  • MaximumBalanceDrawdown – максимальная просадка по балансу
  • TotalProfit =  (EndBalance - StartBalance) – итоговая прибыль
  • EndBalance - баланс счета на конец участка тестирования
  • StartBalance - баланс с которого началось тестирование

Итоговую прибыль в этой формуле можно посчитать, если вычесть итоговый баланс бектеста из стартового. Максимальную просадку как по средствам, так и по балансу можно взять из любого бектеста, как MetaTrader 4, так и MetaTrader 5. После математического ожидания в пунктах, данный показатель является в равной степени важным, как и прибыльность, которая также присутствует в любом отчете тестера стратегий. Описывая эти вещи, я, конечно, предполагаю наличие минимальных знаний у читателя.

Также немаловажным показателем является количество трейдов. Чем больше количество трейдов, тем лучше. При этом данное количество должно быть в разумных пределах и по возможности должно быть и не слишком большим, и не слишком маленьким. Рабочие диапазоны этих значений я приведу ниже. Ну и естественно, что график торговли должен хорошо выглядеть, и чем больше он похож на прямую, тем он для вас должен быть лучше.

Диапазоны значений для оценки таковы:

  • MathWaitingPoints  >=  3*MiddleSpread  (математическое ожидание в пунктах должно ощутимо превышать спред на инструменте)
  • ProfitFactor >= 1.1 … 1.2 (у стратегии должна быть хорошая предсказательная способность)
  • Alpha >= 5 … 10 (хороший альфа показатель говорит о низких рисках и подтверждает хорошую предсказательную способность)
  • Betta>= 5 … 10 (хороший бетта показатель говорит о высокой значимости данной выборки с точки зрения статистики и о стабильной работе)
  • TradesPerYear  >= 20 … 30  (для одного торгового инструмента будет мало качественных точек входа, но помните что инструментов у вас много)
  • MiddleSpread – средний спред на инструменте
  • MathWaitingPoints – математическое ожидание в пунктах
  • ProfitFactor – прибыльность
  • TradesPerYear – количество входов в позицию за год

Данные показатели довольно гибкие и могут быть при возможности скорректированы в лучшую сторону. Но лично мой опыт говорит, что такие показатели будут соответствовать большему числу прибыльных стратегий, которые вы сможете найти в маркете. Конечно, возможны и исключения, но таких случаев будет минимум. Что касается остальных показателей, они вторичны и знать их не обязательно, но лучше конечно понимать их смысл, так вы избавитесь от сомнений и четко будете понимать, что вы делаете.


Будьте осторожны

Если вы видите систему, у которой заоблачные показатели торговли и бешеные годовые проценты, то такие случаи сразу должны вас насторожить и вы должны проверять их более тщательно, так как есть много возможностей обмануть неопытного покупателя. Уже по заявленным годовым процентам прибыли в описании советника можно сразу сделать вывод о будущих рисках и отсеять подавляющее большинство торговых систем еще на этапе чтения описания. Диапазоны безопасной годовой прибыльности:

  • 10 – 200 %

Хотя лично я считаю, что даже 200% — это очень рискованно. В целом 100–150 % годовых уже очень хороший показатель. Существуют системы, которые способны сделать и 1000% годовых, но я сомневаюсь, что найти такую систему в Маркете представляется возможным, просто потому, что создатель подобного алгоритма вряд ли вообще захочет его афишировать и это будет абсолютно верным решением.


Советники с хитрым мани менеджментом типа сетки, мартингейла, пирамидинга или усреднения чаще всего занимаются подгонкой результатов тестирования на истории. Все дело в том, что эти трюки могут приносить прибыль достаточно длительное время на форвард-периоде, прежде чем слить ваш депозит. Но при должной сноровке такие псевдо-граали выявляются по щелчку пальца, всего лишь нужно взглянуть и внимательно проанализировать мониторинг реального счета.


Мониторинг реального счета

Если такой мониторинг имеется, то вы с большей долей вероятности сможете увидеть невидимое и уже на раннем этапе отказаться от покупки советника, а заодно и занести продавца в свой черный список, чтобы не тратить время на анализ других его систем. Анализировать системы нужно умно и экономить свое время. Ниже я покажу пример опасного и безопасного сигналов. Начнем с плохого сигнала:

Опасный сигнал

Как видно, линия прибыли очень красивая, но, если обратить внимание на нижний рисунок, мы увидим зеленые шпили вниз. Это и должно быть вашим первым тревожным звонком, если вы задумали купить советник с таким мониторингом. Эти шпили означают что очень низок как раз тот важнейший кастомный альфа показатель, который я вам описал выше. Здесь даже цифры не нужны, потому что видно, что один из таких шпилей может в первый же день уничтожить ваш депозит. Налицо злоупотребление мани-менеджментом, либо так называемая "пересидка". Не важно как это называть, итог будет один и тот же — критические просадки по средствам.

Теперь посмотрим на другой сигнал, который уже абсолютно безопасен:

Безопасный сигнал

Линия баланса не такая красивая и прямая, но и не уродливая, что говорит о том, что автор сигнала не пользуется обманными трюками мани менеджмента, для создания иллюзии прибыли. Как раз на этом сигнале наш альфа показатель принимает очень красивые значения, как и бетта показатель.  Зеленая и синяя линии идут практически синхронно и стабильно вверх, и даже несмотря на низкие годовые проценты прибыли, автор при желании может повысить риски и получить 100-150 % годовой прибыли с просадкой не более 50 % от депозита. К слову, этот сигнал от реального продукта, который продается в Маркете. Мне понадобилось всего двадцать минут чтобы найти этот сигнал, а представьте сколько годного контента можно найти за 20 дней? Внутри сигнала я увидел, что это мониторинг продукта. Вот так, можно идти от обратного, сразу экономим время на поиски и пропускаем большинство фейков уже на этапе сигналов. Конечно, такой советник встанет вам в копеечку, но автор имеет право на это, потому что эта копеечка очень быстро отобьется при грамотном мани-менеджменте.


Небольшие хитрости

Отдельно хочу сказать, что вы можете найти и сигналы, которые находятся в открытом доступе и даже бесплатные советники с приемлемыми характеристиками! В Маркете такое количество контента, что за вас уже все сделано, вам остается лишь выбрать правильный продукт. Например, вы можете взять бесплатный сигнал и специальный советник копировщик, если к сигналу нет советника, и копировать его абсолютно бесплатно! Это значит, что вы даже можете заработать, не заплатив ни копейки никому, имея прямые руки и холодную голову, и потратив совсем немного времени.

Отдельно стоит сказать об оптимизации и вообще, стоит ли ее применять при эксплуатации советника? Многие авторы пишут, что перед запуском нужно оптимизировать советник по определенному участку, я уверен, что в отдельных и очень редких случаях это может оказаться правдой, но учитывая свой опыт написания автоматических торговых систем — оптимизация никогда не доводит до добра. Это говорит лишь о том, что оптимизировать нужно с умом и только там, где вы понимаете, к чему это может привести, в остальных случаях это синоним подгонки под историю. Да! Подгонку можно делать, просто проведя глубокую оптимизацию, и вам даже не нужно будет добавлять какие-то временные ограничения работы. Это произойдет естественным образом и станет частью вашего “.set” файла. Чем больше свободных переменных в советнике, тем он лучше подгогняется на истории! В данной связи можно выработать еще один простой критерий оценки безопасности советника — количество входных переменных. Чем меньше это число, тем проще и вам пользоваться советником, тем и сложнее его подогнать под историю.

Закончу мысль в этом небольшом разделе тем, что не всегда представляется возможным разобраться в логике работы советника. Я считаю, что в этом случае бектесты и мониторинги реального счета должны сказать вам все, что вам нужно. Вы же хотите заработать, а не скопировать советник, что кстати тоже возможно, но надо обладать определенным опытом и знаниями для этого. Я считаю, нужно исходить из того факта, что наше время ограничено, и если вопрос стоит о вложениях, то нам по большому счету некогда досконально разбираться в каждом советнике и пытаться понять его принцип работы. Все потому что во многих системах заложены настолько сложные алгоритмы, что даже авторы этих систем порой начинают забывать их детали со временем, а что говорить о нас с вами?


Диверсификация портфеля как способ снижения рисков и увеличения прибыли

Теперь поговорим о том, как снизить риски и повысить прибыль от найденных вами активов. Под активом в данном случае понимается советник. Платный советник или бесплатный, абсолютно не важно. Как я уже сказал выше, есть годный контент и в свободном доступе. Существует такое распространенное понятие у инвесторов — диверсификация. Данное понятие означает грамотное распределение средств по активам, для достижения минимальных рисков и увеличения прибыли. За счет чего же это все достигается? А все очень просто на самом деле. В нашем случае это означает лишь одно — берем много-много разных советников с различными характеристиками и запускаем их одновременно с лотами, равными следующим величинам:

  • LotPerDepositDivesrsified[i] = LotPerDeposit[i] / N
  • N – количество найденных советников
  • i = 1 … N – индексы подобранных оптимальных лотов для каждой стратегии, найденные исходя из вашего депозита
  • LotPerDepositDivesrsified[i] – уменьшенный лот для диверсификации i – ой стратегии
  • LotPerDeposit[i] – оптимальный лот i – ой стратегии

То есть сначала нужно подобрать оптимальный лот для каждой стратегии, а потом разделить его на количество таких стратегий. После чего вы можете независимо запустить все эти стратегии на одном счету, предварительно назначив каждому советнику свой “Magic”, чтобы они не мешали друг другу. После этого действия ваш альфа показатель и бетта показатели непременно вырастут, и эти показатели будут тем выше, чем больше вы таких советников найдете и запустите на одном счету. А значит, вы сможете безопасно повышать риски и увеличивать процент вашей годовой прибыли просто за счет увеличения разнообразия вашего портфеля. Нет это не волшебство, а реальный математический факт, не сомневайтесь! Я даже специально создал несколько советников с помощью машинного обучения для того чтобы, наглядно продемонстрировать вам эту математическую истину. Советники будут приложены в архиве к статье. Я обучил свои советники торговле по нескольким основным валютным парам, используя разные таймфреймы графиков, для еще большего разнообразия. Отдельно с каждым бектестом вы при желании сможете ознакомиться, скачав приложение к статье. Советники были обучены на промежутке длительностью 10 лет, начиная с текущего момента. Я покажу вам некий средний бектест из всего скопа бектестов, чтобы показать примерный средний результат работы одного из таких советников. Какие-то из этих советников чуть лучше, какие-то чуть хуже, но результат в среднем примерно такой:

Средний бектест


Благодаря тому, что мои советники работают по барам, эти бектесты можно проводить в побаровом режиме и отличий от потикового тестирования мы не увидим. Мне пришлось использовать тестер MetaTrader 4, чтобы была возможность склеить все бектесты, но версии для MetaTrader 5 также доступны и будут приложены к статье. Как видно, есть общая тенденция на прибыль, но все равно видно, что бетта показатель не самый хороший, и хотелось бы улучшить его, собственно, как и альфа показатель. Всего таких стратегий я обучил 9 штук, на одном и том же временном интервале.

Теперь давайте воспользуемся специальной программой для склейки бектестов. Можете ее найти на просторах интернета, в свободном доступе. Называется эта программа “ReportManager”. Возможно есть и другие аналоги, но для моих целей и ее хватает. Если знаете альтернативы, то можете использовать и их, без разницы. В целом, конечно, в MetaTrader 5 есть возможность тестировать сразу по нескольким валютным парам, но эти вещи нужно зашивать на уровне кода, я считаю, что похожие утилиты не потеряют свою актуальность еще очень долго. После склейки этого и всех остальных бектестов наш итог выглядит так:

Составная стратегия

Видно, что все волны сгладились за счет противоволн на других графиках. Также будет происходить при реальной торговле. Более сильные советники будут подтягивать более слабые, и наоборот, когда случается просадка на более сильном, более слабый начинает выступать помощником, который не дает альфа и бетта показателям сильно разгуляться, ну и в целом как видно количество трейдов увеличилось до приемлемых отметок. Этот результат получился в результате склейки всего лишь девяти независимых стратегий, но этих стратегий может быть и больше, и чем больше их, тем более прямой и красивый будет график, просто потому что это работает всегда.

Даже набрав целую кучу бесплатных советников, можно достичь вот таких показателей и даже выше, только перед тем, как это сделать, нужно не лениться и тщательно анализировать каждый советник в отдельности, и только после этого приступать к сборке портфеля. Ну а уж если вы хотите достичь действительно впечатляющих результатов, то не бойтесь покупать платные советники, ведь многие из них действительно стоят этих денег. Платные и бесплатные системы также эффективно можно комбинировать и получать прекрасные портфели.


Выводы

Считаю, что в статье получены простые и понятные рекомендации того, как же можно заработать в маркете на советниках, и эти рекомендации доступны любому потенциальному участнику сообщества. Если обобщить все тонкости и нюансы подобных действий, то их можно свести к невероятно простым правилам, с которыми каждый сможет, если не приблизиться в мастерстве к людям, которые работают здесь годами, то по крайней мере, это абсолютно точно повысит ваши шансы до максимальных значений. Давайте перечислим эти простые истины:

  • Чем больше тестов, тем лучше
  • Отзывы не всегда говорят о состоятельности советника (будьте крайне осторожны с топами продаж)
  • Предпочтительны тесты на реальных тиках (если потиковая работа, проводим по возможности стресс тест с задержками)
  • Тесты проводим фиксированным лотом, весь мани-менеджмент отключаем
  • Мониторинг реального счета должен иметь хорошие альфа и бетта показатели и совпадать с бектестами
  • Побаровые советники быстрее тестируются и не зависят от тиков, при возможности берем именно такие (при тестировании можно выбрать работу по барам)
  • Бектесты должны быть проведены по максимально доступной выборке (чем больше выборка, тем больше шансы на работу в будущем)
  • Показатели прибыльности должны быть в разумном диапазоне
  • Обязательная проверка на прибивку к истории
  • Если вы умеете тестировать с визуализацией и понимать принцип, то это большой и жирный плюс, обязательно исследуйте принцип работы
  • Применяем диверсификацию и усиливаем свою прибыль (чем больше советников, тем лучше)

Конечно, еще очень много деталей, которые невозможно рассказать новичку, но их вы сможете отточить сами, главное понимать основы.


Заключение

В данной статье я старался максимально кратко и без лишних слов показать основные проблемы, которые встают перед пользователем и покупкой или использованием советников. Показать так, чтобы эта информация была максимально простой и доступной каждому без исключения. Также я считаю, что был разрушен миф о сложности выбора товара на площадке. Уверен у многих висел вопрос о целесообразности покупок на ней, надеюсь я достаточно наглядно смог донести до вас мысль о том, что все здесь есть, нужно просто правильно искать.

Дополнительно хочу сказать, что попробуйте потестировать советники которые я прикладываю к статье, попробуйте комбинировать эти стратегии с помощью “ReportManager”, просто в качестве исследования, например, вопросов диверсификации, попробуйте самостоятельно поискать прибыльные бесплатные советники в Маркете, или же платные, попробуйте и их добавить туда. Потестируйте советники в MetaTrader 4 и в MetaTrader 5 и сравните отличия. Пройдет немного времени, можно будет проверить форвард периоды. Советники простые и идеальны для обучения.


Прикрепленные файлы |
ExpertAdvisors.zip (1969.61 KB)
Последние комментарии | Перейти к обсуждению на форуме трейдеров (4)
Oleg Pavlenko
Oleg Pavlenko | 9 июл. 2023 в 12:32

Давно уже пора прекратить предоставлять советников для проверки только в тестере.

Для тестера можно зашить сделки в бота так, чтобы было намного меньше убыточных и показывать какой он хороший...

Лучше предоставлять советников, хотя бы, для демо счета с ограничением по времени, например на 1-2 месяца.

Вот скриншот с тестера на котором видно, как бот торгует до даты публикации в Маркете и как после этой даты:

Кому нужно, могу предоставить инвесторский пароль к счету, на котором торгует такой "Чудо-бот"... Идет просто медленный слив...

Многие продавцы сейчас начнут кричать, что мол если предоставлять для демо счета, то можно будет копировать сделки с демо счета к себе на реал...

Да, согласен, такой вариант возможен, но также при таком раскладе, если уж ваш бот такой прибыльный, то чего вам бояться?

Человек поставит на демо счет, будет копировать сделки себе на реал, заработает и в 99% случаях (проверено), захочет купить вашего бота, если он действительно так хорош!

Совершенно не составляет труда, прописать в советника ограничения только для демо счета и установить дату окончания его работы (это я уже обращаюсь к MQL).

Особенно в последнее время появились советники по ОЧЕНЬ дорогой (да еще и быстро растущей) цене с модными описаниями в стиле, что это на Искусственном Интеллекте или сделано с использованием ChatGPT.

Не ведитесь на этот развод!!! Если бот на ИИ, то он будет торговать только в тестере и только на обученном периоде. В реальной торговле он будет в лучшем случае торговать 50% на 50%, а в худшем случае будет медленный слив...

Так что если продавец не предоставляет версию для демо счета - НЕ СТОИТ ПОКУПАТЬ У ТАКОГО ПРОДАВЦА!!!

Кому скрывать нечего - тот даст версию для демо счета с ограничением по времени и сможет привлечь к себе потенциального покупателя...

Evgeniy Ilin
Evgeniy Ilin | 12 июл. 2023 в 16:45
Oleg Pavlenko #:

Давно уже пора прекратить предоставлять советников для проверки только в тестере.

Для тестера можно зашить сделки в бота так, чтобы было намного меньше убыточных и показывать какой он хороший...

Лучше предоставлять советников, хотя бы, для демо счета с ограничением по времени, например на 1-2 месяца.

Вот скриншот с тестера на котором видно, как бот торгует до даты публикации в Маркете и как после этой даты:

Кому нужно, могу предоставить инвесторский пароль к счету, на котором торгует такой "Чудо-бот"... Идет просто медленный слив...

Многие продавцы сейчас начнут кричать, что мол если предоставлять для демо счета, то можно будет копировать сделки с демо счета к себе на реал...

Да, согласен, такой вариант возможен, но также при таком раскладе, если уж ваш бот такой прибыльный, то чего вам бояться?

Человек поставит на демо счет, будет копировать сделки себе на реал, заработает и в 99% случаях (проверено), захочет купить вашего бота, если он действительно так хорош!

Совершенно не составляет труда, прописать в советника ограничения только для демо счета и установить дату окончания его работы (это я уже обращаюсь к MQL).

Особенно в последнее время появились советники по ОЧЕНЬ дорогой (да еще и быстро растущей) цене с модными описаниями в стиле, что это на Искусственном Интеллекте или сделано с использованием ChatGPT.

Не ведитесь на этот развод!!! Если бот на ИИ, то он будет торговать только в тестере и только на обученном периоде. В реальной торговле он будет в лучшем случае торговать 50% на 50%, а в худшем случае будет медленный слив...

Так что если продавец не предоставляет версию для демо счета - НЕ СТОИТ ПОКУПАТЬ У ТАКОГО ПРОДАВЦА!!!

Кому скрывать нечего - тот даст версию для демо счета с ограничением по времени и сможет привлечь к себе потенциального покупателя...

У вас просто нет необходимых навыков и критериев для оценки, нет правильной методологии тестирования, отбора, либо вам просто лень искать и вы не верите что что-то можно найти. Все что вы написали абсолютно не нужно (не необходимо). Имеющегося функционала MQL5 более чем достаточно, тем более что товара на площадке очень много. Если человеку что-то нужно он найдет способ как это найти. У меня же получается. Про негативные моменты, да они есть и все верно, здесь уже решают ваши знания и опыт, захотите все найдете что надо..

Yauheni Shauchenka
Yauheni Shauchenka | 2 апр. 2024 в 14:21

A. Хотел бы обратить внимание на тот момент, что просадка по средствам для сигналов mql5.com отображается только с даты открытия сигнала, а не с даты начала торгов

И если в приведенном примере это вроде ок так как весь 2021 год сигнал висит и нет данных о посадке только за часть 2020, то в основном в маркете я наблюдаю ситуацию, когда сигнал показывает что торговля идет 50-100-150 недель, а сам сигнал загружен пару недель назад и собственно Альфа отличная и график тоже прекрасный, хотя это и не верно. 


B. подскажите есть ли у вас статьи на пункты 17-22 озвученные, но не раскрытые в этой статье:

  • Знание основных механизмов мани-менеджмента и их влияние на торговлю
  • Понимание отличий бектестов и реальной автоматической торговли
  • Понимание отличий демо счета от реального счета
  • Знание и понимание наиболее популярных торговых стратегий
  • Знание математики и в частности, теории вероятностей применительно к рынку
  • Знание истины о рынке (можно назвать опытом)
Evgeniy Ilin
Evgeniy Ilin | 2 апр. 2024 в 19:18
Yauheni Shauchenka #:

A. Хотел бы обратить внимание на тот момент, что просадка по средствам для сигналов mql5.com отображается только с даты открытия сигнала, а не с даты начала торгов

И если в приведенном примере это вроде ок так как весь 2021 год сигнал висит и нет данных о посадке только за часть 2020, то в основном в маркете я наблюдаю ситуацию, когда сигнал показывает что торговля идет 50-100-150 недель, а сам сигнал загружен пару недель назад и собственно Альфа отличная и график тоже прекрасный, хотя это и не верно. 


B. подскажите есть ли у вас статьи на пункты 17-22 озвученные, но не раскрытые в этой статье:

  • Знание основных механизмов мани-менеджмента и их влияние на торговлю
  • Понимание отличий бектестов и реальной автоматической торговли
  • Понимание отличий демо счета от реального счета
  • Знание и понимание наиболее популярных торговых стратегий
  • Знание математики и в частности, теории вероятностей применительно к рынку
  • Знание истины о рынке (можно назвать опытом)

Есть по частям разбросанное по разным статьям. Это просто знание которое комплексное, которое тяжело в какую-то статью зашить. Лишь кусками можно кое-где-кое куда... Где это уместно. Вы можете в ЛС задать вопросы если они есть.

Работаем со временем (Часть 2): Функции Работаем со временем (Часть 2): Функции
Научимся автоматически распознавать смещения времени у брокера и время по Гринвичу. Вместо того, чтобы обращаться к брокеру, который скорее всего даст недостаточно полный ответ (а кто захочет объяснять, куда пропал торговый час?), мы сами посмотрим, по какому времени приходят от них котировки в те недели, когда переводят часы. Но конечно же, это мы будем делать не вручную — пусть за нас работает программа.
Разработка торгового советника с нуля Разработка торгового советника с нуля
Давайте разберемся, как разработать советник для торговли с минимальным количеством программирования
Стать хорошим программистом (Часть 6): 9 привычек для эффективной разработки Стать хорошим программистом (Часть 6): 9 привычек для эффективной разработки
Качество разработки — это не только про написание кода. На своем опыте я выявил определенные привычки, которые помогают повысить эффективность разработки. О некоторых из них мы поговорим в этой статье. Статья обязательна к прочтению для всех, кто хочет улучшить навыки написания сложных алгоритмов.
Графика в библиотеке DoEasy (Часть 92): Класс памяти стандартных графических объектов. История изменения свойств объекта Графика в библиотеке DoEasy (Часть 92): Класс памяти стандартных графических объектов. История изменения свойств объекта
В статье создадим класс памяти стандартного графического объекта, позволяющий объекту сохранять свои состояния при модификации его свойств, что в свою очередь позволит в любое время вернуться к прошлым состояниям графического объекта.