- CustomSymbolCreate
- CustomSymbolDelete
- CustomSymbolSetInteger
- CustomSymbolSetDouble
- CustomSymbolSetString
- CustomSymbolSetMarginRate
- CustomSymbolSetSessionQuote
- CustomSymbolSetSessionTrade
- CustomRatesDelete
- CustomRatesReplace
- CustomRatesUpdate
- CustomTicksAdd
- CustomTicksDelete
- CustomTicksReplace
- CustomBookAdd
CustomBookAdd
Envia o estado do livro de ofertas do instrumento personalizado. A função permite transmitir o livro de ofertas como se ele viesse do servidor da corretora.
int CustomBookAdd(
|
Parâmetros
symbol
[in] Nome do instrumento personalizado.
books[]
[in] Array de dados do tipo MqlBookInfo descrevendo completamente o estado do livro de ofertas todos os pedidos de compra e de venda. O estado de livro de ofertas enviado substitui completamente o anterior.
count=WHOLE_ARRAY
[in] Número do elementos do array books que deve ser enviado para a função. Por padrão, é usado o array inteiro.
Valor retornado
Número de ticks adicionados ou -1 no caso de erro.
Observação
Função CustomBookAdd funciona apenas para símbolos personalizados em que o livro de ofertas está aberto por meio da interface da plataforma ou função MarketBookAdd.
Ao adicionar ao livro de ofertas, os preços Bid e Ask do instrumento não são atualizados. Você deve controlar de forma independente a mudança dos melhores preços e adicionar ticks com a ajuda de CustomTicksAdd.
É verificada a exatidão dos dados transmitidos: para cada elemento devem ser indicados tipo, preço e volume. Além disso, MqlBookInfo.volume e MqlBookInfo.volume_real não devem ser zero ou negativos, se ambos os volumes forem negativos, isso será considerado um erro. Você pode especificar qualquer um dos volumes ou ambos, sendo que será tomado aquele que é indicado ou é positivo:
volume=-1 && volume_real=2 será usado volume_real=2,
|
O volume com maior precisão MqlBookInfo.volume_real tem uma prioridade mais alta que o habitual MqlBookInfo.volume. Se, para o elemento do livro de ofertas, ambos os valores forem especificados, será usado volume_real.
A sequência de elementos MqlBookInfo no array books não importa. Ao salvar dados, o terminal os classifica por preço independentemente.
Ao salvar dados, é verificado o parâmetro "Profundidade do livro de ofertas" (SYMBOL_TICKS_BOOKDEPTH) recebendo o instrumentos personalizado. Se, no livro de ofertas transmitido, o número de pedidos de venda exceder esse valor, os níveis excedentes são descartados. Da mesma forma, para pedidos de compra.
Veja como é preenchido o array books:
Estado do livro de ofertas |
Preenchimento de books[] |
---|---|
books[0].type=BOOK_TYPE_SELL; |
Exemplo:
//+------------------------------------------------------------------+ |
Veja também