Discussão do artigo "Redes neurais de retropropagação em matrizes MQL5" - página 3

 

Para trabalhar com contas de compensação, é necessário adicionar uma indicação explícita de símbolo à função ClosePosition:

 bool ClosePosition()
{
    // definir uma estrutura vazia
   MqlTradeRequest request = {};
   ...
   // preencha os campos obrigatórios
   request.action = TRADE_ACTION_DEAL;
   request.position = PositionGetInteger(POSITION_TICKET);
   request.symbol = _Symbol;
   const ENUM_ORDER_TYPE type = (ENUM_ORDER_TYPE)(PositionGetInteger(POSITION_TYPE) ^ 1);
   request.type = type;
   request.price = SymbolInfoDouble(_Symbol, type == ORDER_TYPE_BUY ? SYMBOL_ASK : SYMBOL_BID);
   request.volume = PositionGetDouble(POSITION_VOLUME);
   ...
     
   // enviar a solicitação
   ...
}
 

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Discussão do artigo "Redes neurais de retropropagação em matrizes MQL5"

Stanislav Korotky, 2024.04.16 17:34

Para trabalhar com contas de compensação, você precisa especificar explicitamente o símbolo na função ClosePosition:

 bool ClosePosition()
{
    // definir estrutura vazia
   MqlTradeRequest request = {};
   ...
   // preencha os campos obrigatórios
   request.action = TRADE_ACTION_DEAL;
   request.position = PositionGetInteger(POSITION_TICKET);
   request.symbol = _Symbol;
   const ENUM_ORDER_TYPE type = (ENUM_ORDER_TYPE)(PositionGetInteger(POSITION_TYPE) ^ 1);
   request.type = type;
   request.price = SymbolInfoDouble(_Symbol, type == ORDER_TYPE_BUY ? SYMBOL_ASK : SYMBOL_BID);
   request.volume = PositionGetDouble(POSITION_VOLUME);
   ...
     
   // enviar a solicitação
   ...
}

 

Um artigo que vale a pena ler.

Muito obrigado!

 

Obrigado, artigo muito bom!

Por algum motivo, eu o havia esquecido.