Profundidade do Book

 

Prezados, bom dia

Qual a profundidade do Book do WIN? Estou fazendo um código e estou acreditando que o book possui 32 posições (0-31). No código que fiz, assim que acontece o primeiro tick do dia (09h00), faço uma compra/venda a mercado e coloco o TP e SL justamente considerando a posição 15 e 16 do book, ou seja, melhor comprador/vendedor.

Porém, no dia de hoje (27/06), o trade não rodou pois o TP e SL ficaram respectivamente em 58600 e 59200 (inválidos) pois a abertura foi de 63005.

Podem me dar uma mão? Não estou confortável com esse book.


         requisicao.action       = TRADE_ACTION_DEAL;
         requisicao.magic        = 1111;
         requisicao.symbol       = _Symbol;
         requisicao.volume       = numContrato;
         requisicao.price        = 0;
         requisicao.sl           = book[15].price - 400; // 500
         requisicao.tp           = book[15].price + 200; // 200
         requisicao.deviation    = 0;
         requisicao.type         = ORDER_TYPE_BUY;
         requisicao.type_filling = ORDER_FILLING_RETURN;
         requisicao.type_time    = ORDER_TIME_DAY;
         requisicao.expiration   = 0;
         requisicao.comment      = "Compra!!!";

Obrigado

 

Boa tarde!

O correto é você verificar se o ativo em questão já saiu do leilão e fazer a operação

Quanto ao book, uma boa prática seria varrer o mesmo e encontrar o índice da melhor oferta de compra/venda.

Observação: Se o seu desejo é realizar uma compra a mercado no preço x com objetivo de ganho em x+y e perda em x-y, você não precisa utilizar o book.

Abs.

 
Romeu Bertho:

Boa tarde!

O correto é você verificar se o ativo em questão já saiu do leilão e fazer a operação

Quanto ao book, uma boa prática seria varrer o mesmo e encontrar o índice da melhor oferta de compra/venda.

Observação: Se o seu desejo é realizar uma compra a mercado no preço x com objetivo de ganho em x+y e perda em x-y, você não precisa utilizar o book.

Abs.


Romeu, grato pela ajuda. Como sou iniciante ainda estou com dúvidas de como eu faria para comprar a mercado a X e depois colocar o TP e SL em respectivamente X +200 e X -200.

Essa seria a melhor maneira?

         MqlTick tick; 

         requisicao.action       = TRADE_ACTION_DEAL;
         requisicao.magic        = 1111;
         requisicao.symbol       = _Symbol;
         requisicao.volume       = numContrato;
         requisicao.price        = 0;
         requisicao.sl           = tick.last - 400; // 500
         requisicao.tp           = tick.last + 200; // 200
         requisicao.deviation    = 0;
         requisicao.type         = ORDER_TYPE_BUY;
         requisicao.type_filling = ORDER_FILLING_RETURN;
         requisicao.type_time    = ORDER_TIME_DAY;
         requisicao.expiration   = 0;
         requisicao.comment      = "Compra!!!";

Obrigado

Razão: