Especialistas: Pairs Trading - página 3

 
Andrey Khatimlianskii:

Operacional.

Livre-se dele, aumentando a memória ou mudando sua abordagem da tarefa.

A conclusão está errada. Pode ser muito mais do que isso.

Ele simplesmente para assim que atinge o teto.

Entendo. Obrigado.
 
Andrey Khatimlianskii:

...

Ele simplesmente para assim que atinge o teto.

Há apenas mais uma coisa.

Quando eu reinicio o kamp, desabilito o antivírus avj e inicio o terminal, ele já está com 4 MB.

17 é quando os navegadores e outros terminais estão funcionando....

Portanto, concluí que, se eu remover qualquer outra coisa que carregue a RAM, o teste deverá ser concluído.

 

Tenho uma dúvida esclarecida.

Que tipo de erro é esse?

Como posso corrigi-lo?

Entendo que ele não é compatível com o modo de preenchimento....

 

Ajuda para reviver o robô. Corrigido o erro - adicionado o modo de preenchimento. (veja a linha vermelha na figura anterior).

Mas as negociações não são abertas no terminal.

A guia "Expert Advisors" está vazia.


Arquivos anexados:
 

Descobri o problema: não há memória suficiente em minha kappa.

 
Roman Shiredchenko:

Descobri o problema: não há memória suficiente em minha kappa.

Há um deslize de cerca de 10 no código. Aumente-o. É aqui que a coruja está esperando pelo lucro.

Sobre o preenchimento: na função para abrir posições, coloque o seguinte: request.type_filling=ORDER_FILLING_RETURN; (embora em vez de ORDER_FILLING_RETURN você possa colocar outro preenchimento - consulte a ajuda).

 
Alexander Pavlov:

Há um deslizamento de cerca de 10 no código. Coloque um maior. É aqui que a coruja está esperando pelo lucro.

Sobre o preenchimento: na função para abrir posições, coloque o seguinte: request.type_filling=ORDER_FILLING_RETURN; (embora ORDER_FILLING_RETURN possa ser substituído por outro preenchimento - consulte a ajuda).

Obrigado. O robô funcionou no terminal exatamente como você sugeriu.

"(embora o ORDER_FILLING_RETURN possa ser substituído por outro preenchimento - consulte a ajuda)." - não funcionou assim - modo de preenchimento ininterrupto - houve um erro - as linhas estão comentadas.

//int type_filling = ORDER_FILLING_FOK;
int type_filling=ORDER_FILLING_RETURN;

//-----OrderSend:
double MyOrderSend(
   string   symbol,               // símbolo
   ENUM_ORDER_TYPE cmd,           // operação comercial
   double   volume,               // número de lotes
   double   price,                // preço
   int      slippage,//=5, // deslizamento.
   double   stoploss,             // stop loss
   double   takeprofit,           // obter lucro
  // ENUM_ORDER_TYPE_FILLING 
   int type_filling=ORDER_FILLING_RETURN,
  // int type_filling = ORDER_FILLING_FOK, // 
   
   string   comment=NULL,         // comentário.
   int      magic=1,              // identificador
   datetime expiration=0,         // data de expiração do pedido
   color    arrow_color=clrNONE   // cor
               )  // Money1,ORDER_TYPE_BUY,Lot1,ask,30,bid-StopLoss*point,ask+TakeProfit*point,type_filling,"",0,0,Blue
  {
  //--- preparar a consulta
   MqlTradeRequest request={0};
   request.action=TRADE_ACTION_DEAL;            // aberto no mercado
   request.symbol=symbol;                       // ferramenta
   request.type=cmd;                            // tipo de ordem
   request.volume=volume;                       // volume em lotes
   request.price=price;                         // preço de abertura
   request.deviation=slippage;                  // derrapagem
   request.sl=stoploss;                         // Stop Loss
   request.tp=takeprofit;                       // Take Profit
  // request.type_filling=ORDER_FILLING_FOK; // Tipo de pedido por execução
   request.type_filling=ORDER_FILLING_RETURN;
   request.comment=comment;                     // comentário.
   request.magic=magic;                         // ORDER_MAGIC
   request.expiration=expiration;               // data de expiração do pedido 
  
 
//--- enviar uma ordem de negociação
   MqlTradeResult result={0};
   if (OrderSend(request,result))
   return(result.price);
   else
   return(0);
  }
//-----OrderSend

deslizamento definido como 100.

Arquivos anexados:
 
 
Olá, o Expert Advisor funciona na demonstração e dá lucro. Ele funcionará em vários pares de hedge? Muito obrigado.
Arquivos anexados:
Doble_trade.jpg  59 kb
 
Outra pergunta sobre a barra de correlação em símbolos emparelhados é desejável definir um número positivo ou também negativo? O padrão é -0,98.