3
Авг
2011

Прибыльные советники Форекс – это миф или реальность?




Всем доброго времени суток!

Прибыльные советники Форекс – это миф или реальность?” – все чаще слышишь этот вопрос на фоне роста популярности Форекс. Волна “форексомании” захлестнула Россию и ее ближнее зарубежье. Под впечатлением от увиденного в Форекс-рекламе, в надежде на быстрое и легкое обогащение, да и еще не выходя из дома, масса людей с головой окунулась в ту стихию, которая их так манила… Но суровая реальность рынка Форекс быстро умеет остудить пыл и почистить карманы. Получив первый урок, кто-то раз и навсегда завязывает с торговлей, окрестив Форекс очередным лохотроном, кто-то продолжает испытывать удачу и глубину своего кармана, а кто-то всерьез изучает Форекс и работает с переменным результатом. Ряд трейдеров имеют стабильные результаты, некоторые из них разрабатывают собственные прибыльные торговые Форекс стратегии.

Прибыльные советники Форекс - это миф или реальность?

Испытывать свои силы на рынке Форекс можно с понедельника по пятницу, 24 часа в сутки. Именно такой “режим работы” у валютного рынка Форекс. Естественно, что работать “по полной” в таком режиме не сможет ни один нормальный человек. И тут на помощь приходят советники Форекс.

Советник Форекс – это программа для автоматической работы на Форекс, способная осуществлять сделки без участия человека. Программа представляет собой последовательность команд, написанных на специальном языке программирования. Например, в наиболее распространенный торговый терминал MetaTrader4 уже встроен язык программирования MetaQuotes Language 4 (MQL4). MQL4 по синтаксису напоминает популярный во всем мире язык программирования Си. Так что, у людей, знающих Си, проблем с изучением MQL4, как правило, не возникает. MQL4, проще говоря, это упрощенный вариант Си, поскольку в первом просто отсутствует часть возможностей второго. В сети интернет сейчас предостаточно электронных онлайн самоучителей по программированию на этом языке, которые доступны на разных языках. Для говорящих на русском языке можем порекомендовать неплохой ресурс – , возможностями которого мы воспользовались, с легкостью вспомнив университетский курс языка Си (большое спасибо нашим дорогим кандидатам технических наук).

Форекс советник имеет следующие наиболее важные преимущества:

  • он способен работать 24 часа в сутки в рамках режима работы рынка Форекс;
  • он лишен эмоций, что защищает от поспешных и необдуманных решений;
  • он открывает и закрывает сделки строго по установленным правилам (запрограммированная торговая стратегия).

В то же время, на Форекс советник возлагаются следующие важные задачи:

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

Форекс советники принято разделять на :

  • трендовые советники – их работа основана на совершении сделок по тренду;
  • скальперы и пипсовщики – основаны на совершении множества сделок с большим размером лота и несколькими пунктами на сделку;
  • мультивалютные советники – работают одновременно или по отдельности на разных валютных инструментах (валютных парах);
  • советники по мартингейлу – основаны на принципе пошагового увеличения размера лота после совершения убыточной сделки;
  • комбинированные советники – включают одновременно несколько из вышеуказанных видов.

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

Впрочем, теории, наверное, достаточно. Давайте перейдем к практике и попробуем сами написать прибыльный советник Форекс.

Наш трендовый советник будет основан на простейшем индикаторе Moving Average (скользящая средняя). Сигналом к открытию сделки будет служить пересечение двух разнопериодных скользящих средних. При этом:

  • сделку на покупку (BUY) мы будем совершать в том случае, если скользящая средняя с малым периодом пересечет снизу-вверх скользящую среднюю с большим периодом;
  • сделку на продажу (SELL) мы будем совершать в том случае, если скользящая средняя с малым периодом пересечет сверху-вниз скользящую среднюю с большим периодом.
Сигналы открытия сделок на Форекс

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#property copyright "MoneyInNetwork (c)2011" 
#property link      "http://moneyinnetwork.ru"
//настраиваемве переменные (для оптимизации)
extern int MagicNumber=9999; //"магический номер ордера" - метка ордера для того, чтобы отличить его от ордеров, открытых другими советниками либо вручную
extern double Lot=0.1; //размер лота
extern double TakeProfit = 82; //тейк-профит, в пунктах
extern double StopLoss = 82; //стоп-лосс, в пунктах
extern double shift = 9; //смещение скользящей средней для первой контрольной точки
extern double distance = 7; //смещение скользящей средней для второй контрольной точки
extern double per1=14; //период первой скользящей средней (малый)
extern double per2=100; //период второй скользящей средней (большой)
extern double slip = 3;//максимальное отклонение от запрошенной цены в пунктах 
 
bool init = false; //флаг инициализации советника
 
//функция инициализации параметров
int init() 
{
   if (init) return(0);
   //код инициализации параметров
   init = true;
   return (0);
}
 
//функция инициализации параметров
int deinit() 
{
   init = false;
   return (0);
}
 
int start() 
{
  int ticket = 0;
  int type1;
  int i;
 
  //расчет значений скользящих средних в контрольных точках
  double ima14_1 = iMA (Symbol(), Period(), per1, 0, 1, 0, shift+distance);
  double ima14_2 = iMA (Symbol(), Period(), per1, 0, 1, 0, shift);
  double ima100_1 = iMA (Symbol(), Period(), per2, 0, 1, 0, shift+distance);
  double ima100_2 = iMA (Symbol(), Period(), per2, 0, 1, 0, shift); 
 
  type1 = -1; //запрет сигнала
  //Проверка на наличие сигнала для входа
  if (ima14_1<ima100_1 && ima14_2>ima100_2) type1 = OP_BUY; //есть сигнал на покупку
  if (ima14_1>ima100_1 && ima14_2<ima100_2) type1 = OP_SELL; //есть сигнал на продажу
  //узнаем число открытых советником ордеров
  i = 0;
  for ( int trade = OrdersTotal() - 1; trade >= 0; trade-- ) 
  {
      if(OrderSelect(trade, SELECT_BY_POS, MODE_TRADES))
      {
         int m = OrderType();
         if  ( (m == OP_BUY || m == OP_SELL) && OrderMagicNumber() == MagicNumber && OrderSymbol() == Symbol()) 
         {
            i = i+1;
         }
      }
  }
  //допускаем только один открытый ордер одновременно
  if ( i==1 ) return (0); 
  //если нет открытых советником ордеров, то открываем ордера в соответствии с сигналом
  //продаем
  if ( type1 == OP_SELL )
     ticket = OrderSend(Symbol(), OP_SELL, Lot, NormalizeDouble(Bid, Digits), slip, NormalizeDouble(Ask+StopLoss*Point, Digits), NormalizeDouble(Bid-(TakeProfit*Point), Digits), "Sell", MagicNumber, 0, Red);     
 
  //покупаем
  if ( type1 == OP_BUY )
     ticket = OrderSend(Symbol(), OP_BUY, Lot, NormalizeDouble(Ask, Digits), slip, NormalizeDouble(Bid-StopLoss*Point, Digits), NormalizeDouble(Ask+(TakeProfit*Point), Digits), "Buy", MagicNumber, 0, Green);
  //проверяем на наличие ошибки при исполнении ордеров
  if ( ticket<0 )
  {
      //есть ошибка, задержка 5 секунд
      Sleep (5000);
      //и обновление данных
      RefreshRates();
  }      
  return (0);
}

Как видите, программа Форекс советника достаточна проста, но и это позволяет зарабатывать. Конечно, о стабильном заработке говорить пока рано, поскольку, в программе отсутствуют некоторые “дополнительные опции”. Например, нет фильтров сигналов, которые позволили бы отсеивать часть ложных сигналов.

Советник будет работать именно с той валютной парой и на том таймфрейме, к графику которых вы его прикрепите. Это реализовано благодаря функциям языка MQL4: Symbol() и Period(). Сделки он будет открывать достаточно редко.

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

Советник показал неплохие результаты на валютных парах: EURUSD, GBPUSD, EURCHF. На остальных парах мы его не пробовали оптимизировать и тестировать. В принципе, вы можете с легкостью оптимизировать его и сами, воспользовавшись тестером стратегий торгового терминала MetaTrader4.

Естественно, встает вопрос о выборе размера лота. Если ваш депозит 10 долларов, то, разумеется, размер лота должен быть не более 0.01, а если ваш депозит 100 долларов, то размер лота должен быть не более 0.1. Здесь еще все зависит и от размера выставляемого стоп-лосса. Например, какой смысл выбирать такой размер лота, при котором при заданных иных параметрах советника депозита хватит всего на пару сделок? Депозита должно хватать минимум на 10 одновременно следующих убыточных сделок, т.е. в каждой сделке вы рискуете 10% депозита, что все еще является допустимым значением.

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

Исходными данными для оптимизации будут следующие значения:

  • Таймфрейм (период): M5;
  • Валютные пары: EURUSD, GBPUSD, EURCHF;
  • Период оптимизации: 01.01.2011 – 01.08.2011 (семь месяцев текущего года);
  • Размер депозита: 100 долларов;
  • Размер лота: 0.1;
  • Оптимизация по параметру: Balance (максимальный баланс);
  • Алгоритм оптимизации: генетический (ввиду большого числа проходов).
  • Переменные, участвующие в оптимизации и их значения (необходимо отметить галочкой и задать значения в соответствии со следующими указаниями во вкладке свойства эксперта тестера стратегий торгового терминала MetaTrader4):
    • TakeProfit (тейк-профит) : старт – 7, шаг – 3, стоп – 100;
    • StopLoss (стоп-лосс): старт – 7, шаг – 3, стоп – 100;
    • shift (смещение скользящей средней для первой контрольной точки): старт – 0, шаг – 1, стоп – 10;
    • distance (смещение скользящей средней для второй контрольной точки): старт – 1, шаг – 1, стоп – 10;
    • per1 (период первой скользящей средней (малый)): старт – 1, шаг – 2, стоп – 100;
    • per2 (период второй скользящей средней (большой)): старт – 1, шаг – 2, стоп – 100;

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

Тестирование форекс советника на валютной паре EURUSD - M5 01.01.2011-01.08.2011

Глядя на график, можно сделать вывод, что депозит 100 был увеличен в 4,8 раз за 7 месяцев. Теперь попробуем потестить советник с полученными параметрами на другом временном интервале, и с большой долей вероятности можем сделать предположение о сливе депозита:

Тестирование форекс советника на валютной паре EURUSD - M5 01.01.2010-01.08.2011

Нет… Как ни странно, но советник на интервале 01.01.2010 – 01.08.2011 не слил депозит, но на протяжении 2010 года работал с переменным успехом, и опять-таки значительно подтянулся в течение 2011 года. Но не все так радужно. Попробуйте самостоятельно ввести произвольный интервал тестирования, и вы увидите, что советник все равно когда-нибудь сольет депозит.

Можно менять период графика (таймфрейм), взяв, например, M15, M30, H1 и провести оптимизацию советника. Проанализировав результаты таких тестов, можно будет сделать вывод о том, на каком таймфрейме советник работает стабильнее и эффективнее. Также можно экспериментировать с различными валютными парами. Естественно, что для каждой валютной пары и для каждого таймфрейма параметры настройки Форекс советника будут различными.

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

Вы можете скачать этот Форекс советник и настройки для валютных пар EURUSD, GBPUSD, EURCHF (все настройки для таймфрейма M5). Для скачивания кликните правой кнопкой мыши по тексту “СКАЧАТЬ”, а затем в открывшейся вкладке браузера выберите “Сохранить объект…”:

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

Для тестирования советника вам следует зарегистрироваться на сайте какого-либо брокера или ДЦ, например, InstaForex. При регистрации следует заполнить раздел счет согласно следующей картинке:

регистрация на сайте InstaForex

Далее закачиваете с сайта компании торговый терминал MetaTrader4 и устанавливаете его. Скаченный Форекс советник помещаете в папку: \Program Files\InstaTrader\experts\

Запускаем торговый терминал. В пункте меню терминала “Файл” выбираем “Логин”. В открывшуюся форму вводим данные, полученные при регистрации: логин и пароль. В графе “Сервер” выбираем: InstaForex-HongKong.com, кликаем на кнопку “Логин”. Все, вошли в терминал под своими данными. Теперь идем опять в главное меню, кликнув по пункту “Вид”. В открывшемся списке выбираем “Тестер стратегий” (в принципе, можно было бы просто нажать комбинацию клавиш “Ctrl+R”). Тестер стратегий должен расположиться в нижней части экрана. В тестере стратегий кликаем вкладку “Настройки”. В графе “Советник” из открывающегося списка выбираем: MA_moneyinnetwork, MoneyInNetwork (c)2011. В графе “Символ” из открывающегося списка выбираем нужную нам валютную пару, например, EURUSD. В графе “Модель” для данного советника можно смело указать “По ценам открытия…”, что только ускорит и тестирование, и оптимизацию. Ставим галочку в пункте “Использовать дату” и указываем диапазон тестирования (оптимизации), прописывая стартовую дату в графе “От”, а конечную – в графе “До”. В графе “Визуализация” галку не ставим. Теперь выбираем период (таймфрейм) графика, указав его в графе “Период” (например, M5). Далее заходим во вкладку тестера “Свойства эксперта”. На вкладке тестирование заполняем: депозит – 100 USD, позиции – Long&Short, оптимизируемый параметр – Balance. Ставим галку напротив “Генетический алгоритм”. Тут же переходим на вкладку “Входные параметры”. Далее жмем на кнопку “Загрузить”. В появившемся окне указываем расположение скаченного файла с параметрами для выбранного символа и кликаем на кнопку “Открыть”, а затем на “OK”. Теперь, если мы установим галку напротив графы “Оптимизация”, то тестер стратегий будет работать в режиме оптимизации параметров. Если же мы не будем устанавливать галку, то тестер просто смоделирует работу советника на указанном временном диапазоне. Возможны проблемы работы тестера стратегий, связанные с отсутствием информации о движении цен из истории. Эта проблема легко решается. Историю для заданного символа можно легко подгрузить, выбрав в главном меню торгового Форекс терминала пункт “Сервис”, а затем в открывшемся списке – “Архив котировок”. Выбрав в архиве требуемый символ, можно подгрузить для него историю и пересчитать все таймфреймы.

Итак, все необходимы подготовительные работы сделаны. Теперь кликаем на кнопку “Старт” тестера стратегий и ждем результата.

Поработав немного с торговым терминалом и интегрированным в него тестером стратегий, вы очень скоро освоитесь и сможете выполнять задачи посложнее. Например, вы научитесь прикреплять советника к графику нужного торгового символа для заданного таймфрейма. Это позволит советнику торговать либо на демо, либо на реальном счете. Все тесты советников перед реальной торговлей рекомендуем проводить на демо счете.

Если у кого-либо из читателей возникнут вопросы, то постараюсь на них ответить по мере наличия времени. Кстати, недавно для удобства общения я сделал форум, где можно обсудить многие вопросы с разбивкой по подразделам с узкой тематикой (например, тема обсуждения брокера GKFX или тема введение в программирование на MQL4 для MetaTrader), что раньше было не совсем удобно в масштабах Гостевой.

Материалы схожей тематики:
Поделитесь с другими:

Получать информацию о новых заметках:

Комментарии


  1. Девлани 2 0

    По мне лучше инвестировать в трейдеров, чем самому туда лезть…

    • А вот “самому туда лезть” без предварительной подготовки действительно не стоит. Самое главное правило на Форекс: Вы всегда должны понимать то, что делаете. А если не понимаете, что делаете и не имеете четкого представления о возможном исходе действия, то лучше ничего не предпринимайте. Форекс – это точный, холодный расчет, основанный на знаниях.

  2. Прибыльного советника нет в свободном доступе, да и в платном тоже, никто не станет продавать-сдавать курицу несущую золотые яйца! задайте себе вопрос вы бы стали ? смысл! стратегии прибыльной тоже нет иначе бы давно сделали советника) а вот трейдер прибыльный есть! Но такой трейдер маловероятно будет работать на вас опять таки смысла нет никакого! из всего сказанного только два вывода!
    1 – Все кто продают советников мошенники!
    2 – все трейдеры кричащие что бы инвестировали в них просто не хотят рисковать своими деньгами!

    Делайте выводы! ))

  3. Конечно нет и быть не может, так же как и различные индикаторы, это помошники не больше, ну и конечно же продавцы куриц,несущих золотые яйца-лохотронщики, попросите их предоставить реальный счёт,на котором работает сов)). Мартин с усреднением,непривязаный ни к каким индикаторам(только привязка к основному тренду) ну и неслабый депозит- вот и будет счастье!

    • dron74, tianja, совершенно верно. 99% таких предложений лохотронские. Вообще не рекомендую начинающим начинать свой путь на форекс с советников. Сразу же будет получен первый негативный опыт.

  4. я как-то Чувашову,может помните его с его “вилкой” написал по поводу его стратегии, так он мне весь мозг вынес, цену скинул уже в 3 раза)) но счёт так и не показал, другие потом дали ссылку—а там коля моржов как у себя дома))

    • Счет, по-моему, был в Альпари… Видел, видел.
      Продают и “обучают” за бабло те, кто сам сливатор. Люблю выражение: “Лохотрон на форекс особенно проявляется на рынке околофорексных услуг”.

  5. Саша 1 0

    Спасибо, подскажите можно пользоваться этим методом тестирования советников с качеством 99,9% с помощью программы Tickstory Lite argolab.net/tickstory-lite.html Нашёл, а сам не знаю можно доверять или нет этому методу.

    • По сути тиковая история нужна для теста скальпирующих советников, когда открытие и закрытие позиций происходит, например, внутри свечи, а не по цене открытия/закрытия свечи.
      Тест с 99,9% точности в принципе возможен, но другой вопрос насколько его результаты будут реальны. Во-первых, не все брокеры предоставляют тиковую историю. Во-вторых, котировки у большинства брокеров разнятся, что непосредственно может повлиять на результаты. В-третьих, наконец, вряд ли существует “идеальная” тиковая история “без изъян”.
      Поэтому я лично придерживаюсь мнения, что скальпирующие стратегии лучше откатывать либо на демо счете, либо на центовом счете.
      Как мне кажется, для теста “долгосрочных” торговых систем тиковая история в принципе необязательна.

Ваш комментарий

Подписаться без комментирования



Инсайт Инвест Брокер