O Quanto é Confiável Negociar à Noite?

Shashev Sergei | 1 outubro, 2015

Introdução

Ao longo dos últimos seis meses temos visto muitos Expert Advisors que ganharam um bom dinheiro sem praticamente qualquer risco envolvido, simplesmente negociando à noite nos pares de moedas EURCAD, GBPCAD, EURCHF e outros. A negociação nas contas PAMM da Alpari que utilizam esta tática têm demonstrado resultados realmente surpreendentes, contudo o feedback negativo sobre a utilização deste sistema de negociação não é incomum. O objetivo deste artigo é verificar se a negociação em lateralidade de preço à noite é realmente rentável e para identificar todos os perigos ocultos deste tipo de negociação numa conta real.

Teoria

A figura abaixo mostra típicas lateralidades de preço à noite. A imagem não é a melhor para esta estratégia, mas esta escolha é intencional. Os limites de lateralidade de preço à noite são bastante vagos. Podemos dizer que, para a lateralidade de preço do EURCHF começa às 18:00-20:00 e termina às 10:00-14:00, a partir da hora do servidor. Vamos analisar o período das 18:00 às 10:00.

O lateralidade à noite geralmente ocorre durante o pregão Asiático e do Pacífico, onde é caracterizada pela baixa volatilidade da maioria dos pares de moedas.



Implementação

Primeiro, vamos definir como o Expert Advisor deve operar com lateralidade de preço à noite:

1) Tempo de bertura da negociação (deal opening time) - não pode ser antes da hora especificada

2) Tempo de fechamento da negociação (deal closing time) - não pode ser depois da hora especificada

3) TP - bastante próximo de 10 a 50 pontos

4) SL - maior do que o TP, de 30 a 70 pontos

5) A entrada no mercado (market entry) - próximo aos limites das lateralidades do preço

6) os limites de lateralidade são determinados nas últimas horas antes do início lateralidade de preço

7) Número de ordens a noite deve ser limitado, pois entrar muitas vezes Vendido ou Comprado e sair com lucro é raro; a segunda entrada no mercado geralmente resulta no fechamento com uma perda até ao final da lateralidade de preço à noite.

Os pontos acima pode ser implementado da seguinte forma:

// Variáveis externas
extern double    Lots=1;
extern int       h_beg=20;
extern int       h_end=10;
extern int       TakeProfit=20; 
extern int       StopLoss=90;

// Variáveis auxiliares
double max;
double min;
int slippage=5;
int magik=5;
int pos=0;

// Contador de ordens no pregão da noite
int Buy_count=0; 
int Sell_count=0;
 
// Função para fechar uma ordem
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);
}

// Tomando uma decisão 
int GetAction()
{
   int TotalDeals;
   int type=0;
   int N=OrdersTotal(); 

// Contando as posições atuais     
   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;
   }

// Início do pregão à noite, determinar os limitesda lateralidade de preços pelas duas barras anteriores
   if (Hour()==h_beg)
   {
      max=MathMax(High[1], High[2]);
      min=MathMin(Low[1],Low[2]);
      Buy_count=0;
      Sell_count=0;
   }

// Fim do pregão, o encerramento de todas as posições e desabilitar as operações de negociação por parte do Expert Advisor
   if ((Hour()>=h_end)&&(Hour()<h_beg))
   {
      Buy_count=1;
      Sell_count=1;
      max=0;
      min=0;
      if (TotalDeals!=0)
         CloseOrder();
   } 

// Verificação de abertura da posição       
      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);       
}

// Processado em cada tick
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);
  }


Testando

Como pode ser visto no gráfico abaixo, algumas ordens são verdadeiramente surpreendentes: comprar virtualmente em LOW (mínima do preço) e vender virtualmente em HIGH (máxima do preço) na variação noturna de preço. Existem algumas exceções que normalmente são fechadas após o tempo definido.

O teste mostra que o Expert Advisor seria capaz de ganhar mais do que 30% ao longo de alguns meses de negociação, com um lote em depósito de $ 10 000. Se aumentarmos ainda mais os riscos, veremos como a negociação nas contas PAMM da Alpari poderiam render resultados de 1000% em relação a apenas alguns meses.

Aplicação prática

É claro que nem tudo são rosas, caso contrário teríamos visto um aumento dramático de milionários nos últimos 6 meses. O que fica no caminho de ganhar superlucros ao fazer operações à noite?

1) Os spreads das corretoras à noite são de 1,5 a 2 vezes maiores nos pares de moedas que são especialmente bons para negociação neste horário - EURCHF, GBPCAD e EURCAD.

2) Após grandes condições de negociação com lucros dramáticos, alguns Centros de Negociação podem ficar consideravelmente mais desfavoráveis.

3) Pode advir uma série de grandes negociações perdedoras, por exemplo, em caso de intervenção nos pares EURCHF/USDCHF

4) Os valores do TP precisam ser constantemente ajustados, na maior parte para baixo. E enquanto no inverno nós poderíamos ter lucro de 40 pontos por operação no EURCAD, atualmente esse valor é cerca de 20 pontos.

O Expert Advisor para negociação à noite anexado no artigo é muito básico e pode ser consideravelmente mais complexo. Isso pode ser feito de várias maneiras, incluindo:

1) escalonamento;

2) análise de volatilidade;

3) análise de notícias (para evitar riscos de intervenção);

4) análise dos principais pares de moeda subjacentes aos pares das moedas cruzadas (por exemplo, para EURCHF estes seriam EURUSD e USDCHF);

5) algoritmos de entradas mais complexos.

O molde fornecido no artigo pode ser utilizado num trabalho real. Ele ganhou cerca de 50% ao ano, durante 6 meses de uso. E mesmo que este Expert Advisor em si seja, atualmente, de pouca utilidade, este artigo pode dar impulsos para novas idéias que irão potencialmente ser utilizadas pelos usuários do fórum e pelo autor deste artigo.

Conclusão

Negociação à noite oferece boas oportunidades de lucro no inverno, ficando mais complicado na primavera e mais ainda no verão. Dada a tendência, é difícil fazer quaisquer declarações em relação ao outono. No entanto, esta estratégia tem o direito de ser validada, pois aumentou o depósito numa conta real durante sua aplicação.

O futuro dirá se a estratégia perderá sua utilidade ou não. Sendo fundamentalmente muito básico, o Expert Advisor anexado pode ser arquivado e usado novamente quando forem novamente observadas lateralidades estáveis de preços à noite.