Торговля в ночное время – насколько надежна?

Shashev Sergei | 31 августа, 2009

Введение

За последние полгода в рунете появилось очень много экспертов, которые зарабатывают большие проценты практически без риска, торгуя в ночное время по парам EURCAD, GBPCAD, EURCHF и др. И действительно, есть потрясающие результаты на PAMM-счетах в Альпари, использующих эту тактику. Но есть и негативные отзывы по данной торговой системе. Целью данной статьи является проверка прибыльности торговли в ночном флете и выявление всех подводных камней, с которыми приходится столкнуться во время такой работы на реальном счете.

Теория

На рисунке показаны типичные ночные флеты, картинка специально подобрана не самая удачная для стратегии. Границы ночного флета немного расплывчаты, для EURCHF можно считать, что флет начинается в 18-20 и заканчивается в 10-14 по серверному времени. Будем ориентироваться на время с 18 до 10.

Ночной флет, как правило, длится Тихоокеанскую и Азиатскую сессию и обусловлен небольшой волатильностью большинства валютных пар.


Реализация

Для начала выясним, как примерно должен работать эксперт для ночного флета.

1) Время открытия сделки – не ранее определенного часа

2) Время закрытия сделок – не позже определенного часа

3) TP – достаточно близкие, от 10 до 50 пунктов

4) SL – больше TP, от 30 до 70 пунктов

5) Вход в рынок – наличие цены возле границ флета

6) Границы флета определяются в последние часы перед началом флета

7) Количество сделок за ночь может быть ограничено, это связано с тем, что редко удается больше 1 раза войти в Sell или Buy и выйти с прибылью, второй вход зачастую будет закрыт с убытком ко времени окончания ночного флета.

Реализация данных пунктов будет выглядеть примерно так :

// Внешние переменные
extern double    Lots=1;
extern int       h_beg=20;
extern int       h_end=10;
extern int       TakeProfit=20; 
extern int       StopLoss=90;

// Вспомогательные переменные
double max;
double min;
int slippage=5;
int magik=5;
int pos=0;

//Счетчики сделок за ночную сессию
int Buy_count=0; 
int Sell_count=0;
 
//Функция закрытия ордера
bool CloseOrder()
{
   int ticket,i;
   double Price_close;
   int err;
   int count=0;
   int time;      
       for(i=OrdersTotal()-1;i>=0;i--)
       {
          if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
            if (OrderSymbol()==Symbol())           
                if(OrderMagicNumber()==magik)
                   {                                                                
                     if(OrderType()==OP_BUY)      
                        Price_close=NormalizeDouble(Bid,Digits); 
                     if(OrderType()==OP_SELL)       
                        Price_close=NormalizeDouble(Ask,Digits); 

                     if(OrderClose(OrderTicket(),OrderLots(),Price_close,slippage))                        
                           return (true);
                   }                                         
      }
return(false);
}

//Принятие решения 
int GetAction()
{
   int TotalDeals;
   int type=0;
   int N=OrdersTotal(); 

// Подсчет текущих позиций     
   for(int i = N - 1; i >= 0 ; i--)
      {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         if( OrderSymbol()==Symbol())
            TotalDeals++;
            type=OrderType();       
       }    

   if (TotalDeals==0)
   {
      pos=0;
   }
   else
   {
      if (type==OP_BUY)
         pos=2;
      if (type==OP_SELL)
         pos=-2;
   }

// Начало ночной сессии, поиск границ флета по 2-м предшествующим барам
   if (Hour()==h_beg)
   {
      max=MathMax(High[1], High[2]);
      min=MathMin(Low[1],Low[2]);
      Buy_count=0;
      Sell_count=0;
   }

// Конец сессии, закрытие всех позиций и запрет торговых операций экспертом
   if ((Hour()>=h_end)&&(Hour()<h_beg))
   {
      Buy_count=1;
      Sell_count=1;
      max=0;
      min=0;
      if (TotalDeals!=0)
         CloseOrder();
   } 

// Проверка на открытие позиций       
      if ((Bid>max)&&(max!=0)&&(pos==0)&&(Sell_count==0))      
            pos=-1;                  

      if ((Ask<min)&&(min!=0)&&(pos==0)&&(Buy_count==0))             
            pos=1;     

   return (0);       
}

//Обрабатывается на каждом тике
int start()
  {
   int action;
   double profit;
   double stop=0;
   double price=0;
   int ticket=-1;  

   GetAction();   
   if (pos==1)
         {
               stop=NormalizeDouble(Ask-StopLoss*Point,Digits);
               profit=(min+TakeProfit*Point);             
               pos=2;                                      

               while (ticket<0)
               {
                  if (!IsTradeContextBusy( )) 
                     ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,slippage,0,0,NULL,magik,0,Green);
                  if (ticket>0)
                     OrderModify(ticket,0,stop,profit,0,Blue);                           

                  if(ticket<0)
                     Print("OrderSend failed with error #",GetLastError());

                  Sleep(5000);
                  RefreshRates();
               }
               Buy_count=1;                       
         }  

   if (pos==-1)
         {
               stop=NormalizeDouble(Bid+StopLoss*Point,Digits);
               profit=(max-TakeProfit*Point); 
               pos=-2;                                   

               while (ticket<0)
               {
                  if (!IsTradeContextBusy( )) 
                     ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,slippage,0,0,NULL,magik,0,Green);

                  if (ticket>0)
                     OrderModify(ticket,0,stop,profit,0,Blue);                           

                  if(ticket<0)
                     Print("OrderSend failed with error #",GetLastError());

                  Sleep(5000);
                  RefreshRates();
               }
               Sell_count=1;
        }                            
   return(0);
  }


Тестирование

Как видно по приведенному ниже графику, некоторые сделки изумительны – покупка практически по LOW, продажа – практически по HIGH ночного ценового диапазона, но бывают и исключения, которые обычно закрываются по времени.

Тестирование показывает, что запущенный эксперт заработал бы более 30% за пару месяцев при торговле одни лотом на депозите в 10000$. Если риски увеличить еще больше, то становится ясно, каким образом на PAMM счетах в Альпари появились результаты в тысячи процентов за пару месяцев.

Использование в боевых условиях

Разумеется, наверняка, не все так гладко – иначе бы в РФ резко выросло число долларовых миллионеров за последние полгода-год. Что же мешает получению сверхприбылей от ночной торговли?

1) В ночное время спреды раздвигаются в 1.5 – 2 раза по тем парам, которые особенно хороши для ночной торговли – EURCHF, GBPCAD, EURCAD.

2) В некоторых ДЦ торговые условия могут значительно ухудшиться при большой и резкой прибыли

3) Может выпасть череда крупных убыточных сделок, например, при интервенции по EURCHF/USDCHF

4) Параметр TP постоянно приходится менять, причем преимущественно в сторону уменьшения. И если зимой по EURCAD можно было и 40 пунктов на сделку брать, то теперь – в районе 20.

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

1) доливка;

2) анализ волатильности;

3) анализ новостей (чтобы избежать рисков интервенции);

4) анализ мажорных валютных пар, лежащих в основе кросса (например, для EURCHF это будут EURUSD и USDCHF);

5) более сложные алгоритмы входа.

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

Заключение

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

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