Lote de negociação de ações na B3

 

Utilizei o código abaixo em um EA para simular uma compra a mercado de determinada ação na B3. 

Observei que o volume tem que ser necessariamente múltiplo de 100 (não aceita requestt.volume= 1, por exemplo)

A ordem, no entanto, correponde a 10.000 ações (100 x 100) e não a apenas 100 ações. 

Gostaria de saber se há uma maneira de limitar a  100 ações. 

Obrigado.



bool BuyMarket() {

   MqlTradeRequest requestt {};

   MqlTradeResult resultss {};

   

   double Ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);

   

   requestt.action = TRADE_ACTION_DEAL;

   requestt.symbol = _Symbol;

   requestt.volume = 100;

   requestt.type = ORDER_TYPE_BUY;

   requestt.price = Ask;   

   

   bool ok = OrderSend(requestt, resultss);   

   if (!ok) {

      int errorCode = GetLastError();

      Print("buy market:", errorCode);

      ResetLastError();

   }

   

   return ok;

}

 
denisdpc:

Utilizei o código abaixo em um EA para simular uma compra a mercado de determinada ação na B3. 

Observei que o volume tem que ser necessariamente múltiplo de 100 (não aceita requestt.volume= 1, por exemplo)

A ordem, no entanto, correponde a 10.000 ações (100 x 100) e não a apenas 100 ações. 

Gostaria de saber se há uma maneira de limitar a  100 ações. 

Obrigado.



bool BuyMarket() {

   MqlTradeRequest requestt {};

   MqlTradeResult resultss {};

   

   double Ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);

   

   requestt.action = TRADE_ACTION_DEAL;

   requestt.symbol = _Symbol;

   requestt.volume = 100;

   requestt.type = ORDER_TYPE_BUY;

   requestt.price = Ask;   

   

   bool ok = OrderSend(requestt, resultss);   

   if (!ok) {

      int errorCode = GetLastError();

      Print("buy market:", errorCode);

      ResetLastError();

   }

   

   return ok;

}

Voce não entende como o mercado funciona, comece estudando o mercado que quer operar primeiro. A propria B3 tem uns materias bons no site dela que explica todo o funcionamento do mercado. O código é exatamente esse e esta comprando 100 ações. O que pode ter ocorrido é que só por esse trecho, não tem como saber. Voce comprou 100 ações, 100 vezes e acabou o dinheiro do simulador. Veja que se voce conhecesse como o mercado funciona saberia responder sua duvida de como ter um volume 1 e só teria que lidar com o problema de não saber depurar o código. Depuração é a segunda coisa mais importante pro desenvolvedor.

Razão: