Thursday 21 September 2017

Jforex Api Market Depth Interativo Corretores


Profundidade do mercado A janela da Profundidade do mercado é uma versão minimizada do comerciante de profundidade do mercado TWS completo. Observe que quando você abre a Profundidade do Mercado dentro do Mosaico, ele é automaticamente vinculado ao grupo principal do Windows Mosaic e é preenchido com esse subjacente. Para desvincular ou vincular a outras ferramentas, use Agrupamento do Windows. Para abrir o Mosaico de profundidade do mercado: Na lista suspensa Nova janela, selecione Profundidade do mercado. TWS. No menu Ferramentas de negociação, selecione Profundidade do mercado. As linhas de profundidade do mercado são sombreadas pelo grupo de preços para uma distinção fácil. É fácil criar uma ordem a um nível de preço específico simplesmente clicando em um preço na coluna Licitação (esquerda) ou Pedir (direita). Para criar uma ordem de profundidade do mercado Clique em um preço de lance ou pedido. Na janela Entrada de pedido, a linha de pedido é preenchida com o preço de lance ou pedido padrão. Selecione Comprar ou Vender e modifique os parâmetros da ordem conforme desejado. Clique em Enviar para transmitir a ordem. Os dados de profundidade do mercado, também conhecidos como nível II, representam um livro de pedidos de instrumentos. Através da API TWS, é possível obter essas informações graças à função IBApi. EClient. reqMarketDepth. Ao contrário dos principais dados do mercado (Nível I). Os dados de profundidade de mercado são enviados sem amostragem nem filtragem, no entanto, não podemos garantir que todos os preços citados para uma segurança específica serão exibidos quando você invoca IBApi. EClient. reqMarketDepth. Solicitando o método IBApi. EClient. reqMarketDepth recebe um identificador de solicitação (ou ID do ticker) com o qual identificar os dados recebidos, o IBApi. Contract para o qual queremos puxar essas informações e o número de linhas ou nível de profundidade necessário. Caso a profundidade do mercado seja menor do que o número de linhas solicitado, o TWS simplesmente retornará as entradas disponíveis. Client. reqMarketDepth (2001, ContractSamples. EurGbpFx (), 5, null) client. reqMktDepth (2001, ContractSamples. EurGbpFx (), 5, null) client. reqMarketDepth (2001, ContractSamples. EurGbpFx (), 5, Nothing) mpClient - GtreqMktDepth (2001, ContractSamples :: EurGbpFx (), 5, TagValueListSPtr ()) 1 160 self. reqMktDepth (2101, ContractSamples. USStock (), 5, None) 2 160 self. reqMktDepth (2001, ContractSamples. EurGbpFx (), 5 , Nenhum) A profundidade do mercado será retornada via IBApi. EWrapper. updateMktDepth e IBApi. EWrapper. updateMktDepthL2 callback. As duas funções se diferenciam, pois as trocas possuem mais Market Makers do que ele próprio, os dados de profundidade do mercado serão retransmitidos através do IBApi. EWrapper. updateMktDepthL2. Caso contrário IBApi. EWrapper. updateMktDepth. Por exemplo, a ARCA possui apenas ARCA como Market Maker. Portanto, ao solicitar dados de profundidade de mercado da ARCA, os dados serão retransmitidos de volta via IBApi. EWrapper. updateMktDepth. Por outro lado, a troca como ISLAND (ECN para NASDAQ) possui fabricantes de mercado adicionais, como Timberhill, de modo que os dados serão retransmitidos de volta via IBApi. EWrapper. updateMktDepthL2. Onde as informações do Market Maker estão diretamente disponíveis como um parâmetro da função de retorno de chamada. Inicialmente, todas as linhas solicitadas serão entregues no aplicativo do cliente. Como o mercado se move, no entanto, essas linhas mudarão inevitavelmente. Para manter o livro de pedidos do cliente consistente, o TWS enviará atualizações, não apenas informando qual linha deve ser atualizada, mas também a operação a ser executada na linha: inserir (0), atualizar (1) ou remover (2). Classe pública EWrapperImpl. EWrapper public virtual void updateMktDepth (int tickerId, posição int, int operation, int side, double price, int size) Console. WriteLine (quotUpdateMarketDepth. Quot tickerId quot - Posição: quot position quot, Operação: quot operation quot, Side: quot side Quot, Preço: quot price quot, Sizequot size) public virtual void updateMktDepthL2 (int tickerId, int position, string marketMaker, int operation, int side, double price, int size) Console. WriteLine (quotUpdateMarketDepthL2. Quot tickerId quot - Posição: quot Quota de posição, Operação: quot quot de operação, Lado: quot side quot, Preço: quot price quot, Sizequot size) public class EWrapperImpl implementa EWrapper public void updateMktDepth (int tickerId, int position, int operation, int side, double price, int size ) System. out. println (quotUpdateMarketDepth. Quot tickerId quot - Posição: quot position quot, Operação: quot quot de operação, Side: quot side quot, Preço: quot quot quot, Size: quot quotquot ) Public void updateMktDepthL2 (int tickerId, posição int, String marketMaker, int operation, int side, double price, int size) System. out. println (quotUpdateMarketDepthL2. Quot tickerId quot - Posição: quot position quot, Operação: quot operation quot, Side: quot side quot, Preço: quot quot quot, Size: quot quotquot) Public Class EWrapperImpl Public Sub updateMktDepth (tickerId As Integer, position As Integer, operação Como Inteiro, lado Como Inteiro, preço como Duplo, tamanho como Inteiro) Implementa IBApi. EWrapper. updateMktDepth Console. WriteLine (quotUpdateMarketDepth. Quot amp CStr (tickerId) amp quot - Posição: quot amp CStr (position) amp quot, Operation: quot Amp CStr (operação) amp quot, Side: quot amp CStr (side) amp quot, Preço: quot amp CStr (preço) amp quot, Sizequot amp CStr (tamanho)) Public Sub updateMktDepthL2 (tickerId As Integer, position As Integer, marketMaker Como String, operação como Inteiro, lado como Inteiro, preço como Duplo, tamanho como Inteiro) Implementa IBApi. EWrapper. updateMktDepthL2 Console. WriteLine (quotUpdateMarketDepthL2. Quot amp tickerId amp quot - Posição: quot amp position amp quot, Operação: quot amp operação Amp quot Side: quot Amp amp do amplificador, preço: quot amp amp do preço, tamanho tamanho do amplificador) classe TestCppClient. Público EWrapper void TestCppClient :: updateMktDepth (TickerId id. Posição int, int operação, int lado, preço duplo, tamanho int) printf (quotUpdateMarketDepth. Ld - Posição: d, Operação: d, Lado: d, Preço: g, Tamanho: Dnquot. Id. Posição, operação, lado, preço, tamanho) void TestCppClient :: updateMktDepthL2 (TickerId id. Posição int, std :: string marketMaker, int operação, int lado, preço duplo, tamanho int) printf (quotUpdateMarketDepthL2. Ld - Posição: d, Operação: d, Lado: d, Preço: g, Tamanho: na posição id., Operação, lado, preço, tamanho) 1 160 classe TestWrapper (wrapper. EWrapper): 1 160 def updateMktDepth (self, reqId : TickerId. Posição: int, operação: int, 2 160 lado: int, preço: flutuante, tamanho: int): 3 160 super (). UpdateMktDepth (reqId, posição, operação, lado, preço, tamanho) 4 160 print ( QuotUpdateMarketDepth. Quq. ReqId, quotPosition: quot. Position, quotOperation: quot. 5 160 operation, quotSide: quot. Side, quotPrice: quot. Price, quotSizequot. Size) 1 160 def updateMktDepthL2 (self, reqId: TickerId. Posição: int, marketMaker: str, 2 160 operação: int, lado: int, preço: flutuante, tamanho: int): 3 160 super (). UpdateMktDepthL2 (reqId, position, marketMaker, operação, lado, 4 160 preço, tamanho ) 5 160 imprimir (quotUpdateMarketDepthL2. Quq. ReqId, quotPosition: quot. Position, quotOperation: quot. 6 160 operation, quotSide: quot. Side, quotPrice: quot. Price, quotSizequot. Size) Para cancelar uma solicitação de profundidade de mercado ativa simplesmente invocar O IBApi. EClient. cancelMktDepth passando no identificador de solicitações. Limitações Os dados de profundidade do mercado, também conhecidos como nível II, representam um livro de pedidos de instrumentos. Através da API TWS, é possível obter essas informações graças à função IBApi. EClient. reqMarketDepth. Ao contrário dos principais dados do mercado (Nível I). Os dados de profundidade do mercado são enviados sem amostragem nem filtragem, no entanto, não podemos garantir que todos os preços citados para uma determinada segurança serão exibidos quando você invoca IBApi. EClient. reqMarketDepth. Solicitando o método IBApi. EClient. reqMarketDepth recebe um identificador de solicitação (ou ID do ticker) com o qual identificar os dados recebidos, o IBApi. Contract para o qual queremos puxar essas informações e o número de linhas ou nível de profundidade necessário. Caso a profundidade do mercado seja menor do que o número de linhas solicitado, o TWS simplesmente retornará as entradas disponíveis. Client. reqMarketDepth (2001, ContractSamples. EurGbpFx (), 5, null) client. reqMktDepth (2001, ContractSamples. EurGbpFx (), 5, null) client. reqMarketDepth (2001, ContractSamples. EurGbpFx (), 5, Nothing) mpClient - GtreqMktDepth (2001, ContractSamples :: EurGbpFx (), 5, TagValueListSPtr ()) 1 160 self. reqMktDepth (2101, ContractSamples. USStock (), 5, None) 2 160 self. reqMktDepth (2001, ContractSamples. EurGbpFx (), 5 , Nenhum) A profundidade do mercado será retornada via IBApi. EWrapper. updateMktDepth e IBApi. EWrapper. updateMktDepthL2 callback. As duas funções se diferenciam, pois as trocas possuem mais Market Makers do que ele próprio, os dados de profundidade do mercado serão retransmitidos através do IBApi. EWrapper. updateMktDepthL2. Caso contrário IBApi. EWrapper. updateMktDepth. Por exemplo, a ARCA possui apenas ARCA como Market Maker. Portanto, ao solicitar dados de profundidade de mercado da ARCA, os dados serão retransmitidos de volta via IBApi. EWrapper. updateMktDepth. Por outro lado, a troca como ISLAND (ECN para NASDAQ) possui fabricantes de mercado adicionais, como Timberhill, de modo que os dados serão retransmitidos de volta via IBApi. EWrapper. updateMktDepthL2. Onde as informações do Market Maker estão diretamente disponíveis como um parâmetro da função de retorno de chamada. Inicialmente, todas as linhas solicitadas serão entregues no aplicativo do cliente. Como o mercado se move, no entanto, essas linhas mudarão inevitavelmente. Para manter o livro de pedidos do cliente consistente, o TWS enviará atualizações, não apenas informando qual linha deve ser atualizada, mas também a operação a ser executada na linha: inserir (0), atualizar (1) ou remover (2). Classe pública EWrapperImpl. EWrapper public virtual void updateMktDepth (int tickerId, posição int, int operation, int side, double price, int size) Console. WriteLine (quotUpdateMarketDepth. Quot tickerId quot - Posição: quot position quot, Operação: quot operation quot, Side: quot side Quot, Preço: quot price quot, Sizequot size) public virtual void updateMktDepthL2 (int tickerId, int position, string marketMaker, int operation, int side, double price, int size) Console. WriteLine (quotUpdateMarketDepthL2. Quot tickerId quot - Posição: quot Quota de posição, Operação: quot quot de operação, Lado: quot side quot, Preço: quot price quot, Sizequot size) public class EWrapperImpl implementa EWrapper public void updateMktDepth (int tickerId, int position, int operation, int side, double price, int size ) System. out. println (quotUpdateMarketDepth. Quot tickerId quot - Posição: quot position quot, Operação: quot quot de operação, Side: quot side quot, Preço: quot quot quot, Size: quot quotquot ) Public void updateMktDepthL2 (int tickerId, posição int, String marketMaker, int operation, int side, double price, int size) System. out. println (quotUpdateMarketDepthL2. Quot tickerId quot - Posição: quot position quot, Operação: quot operation quot, Side: quot side quot, Preço: quot quot quot, Size: quot quotquot) Public Class EWrapperImpl Public Sub updateMktDepth (tickerId As Integer, position As Integer, operação Como Inteiro, lado Como Inteiro, preço como Duplo, tamanho como Inteiro) Implementos IBApi. EWrapper. updateMktDepth Console. WriteLine (quotUpdateMarketDepth. Quot amp CStr (tickerId) amp quot - Posição: quot amp CStr (posição) amp quot, Operação: quot Amp CStr (operação) amp quot, Side: quot amp CStr (side) amp quot, Preço: quot amp CStr (preço) amp quot, Sizequot amp CStr (tamanho)) Public Sub updateMktDepthL2 (tickerId As Integer, position As Integer, marketMaker Como String, operação como Inteiro, lado como Inteiro, preço como Duplo, tamanho como Inteiro) Implementa IBApi. EWrapper. updateMktDepthL2 Console. WriteLine (quotUpdateMarketDepthL2. Quot amp tickerId amp quot - Posição: quot amp position amp quot, Operação: quot amp operation Amp quot Side: quot Amp amp do amplificador, preço: quot amp amp do preço, tamanho do amplificador Sizequot) classe TestCppClient. Público EWrapper void TestCppClient :: updateMktDepth (TickerId id. Posição int, int operação, int lado, preço duplo, tamanho int) printf (quotUpdateMarketDepth. Ld - Posição: d, Operação: d, Lado: d, Preço: g, Tamanho: Dnquot. Id. Posição, operação, lado, preço, tamanho) void TestCppClient :: updateMktDepthL2 (TickerId id. Posição int, std :: string marketMaker, int operação, int lado, preço duplo, tamanho int) printf (quotUpdateMarketDepthL2. Ld - Posição: d, Operação: d, Lado: d, Preço: g, Tamanho: na posição id., Operação, lado, preço, tamanho) 1 160 classe TestWrapper (wrapper. EWrapper): 1 160 def updateMktDepth (self, reqId : TickerId. Posição: int, operação: int, 2 160 lado: int, preço: flutuante, tamanho: int): 3 160 super (). UpdateMktDepth (reqId, posição, operação, lado, preço, tamanho) 4 160 print ( QuotUpdateMarketDepth. Quq. ReqId, quotPosition: quot. Position, quotOperation: quot. 5 160 operation, quotSide: quot. Side, quotPrice: quot. Price, quotSizequot. Size) 1 160 def updateMktDepthL2 (self, reqId: TickerId. Posição: int, marketMaker: str, 2 160 operação: int, lado: int, preço: flutuador, tamanho: int): 3 160 super (). UpdateMktDepthL2 (reqId, position, marketMaker, operação, lado, 4 160 preço, tamanho ) 5 160 imprimir (quotUpdateMarketDepthL2. Quq. ReqId, quotPosition: quot. Position, quotOperation: quot. 6 160 operation, quotSide: quot. Side, quotPrice: quot. Price, quotSizequot. Size) Para cancelar um pedido de profundidade de mercado ativo simplesmente invocar O IBApi. EClient. cancelMktDepth passando o identificador de solicitações. Limitações da Profundidade do Mercado A janela da Profundidade do Mercado é uma versão minimizada do comerciante de profundidade do mercado TWS completo. Observe que quando você abre a Profundidade do Mercado dentro do Mosaico, ele é automaticamente vinculado ao grupo principal do Windows Mosaico e é preenchido com o subjacente. Para desvincular ou vincular a outras ferramentas, use Agrupamento do Windows. Para abrir o Mosaico da Profundidade do Mercado: Na lista suspensa Janela, selecione Profundidade do Mercado. TWS. No menu Ferramentas de negociação, selecione Profundidade do mercado. As linhas de profundidade do mercado são sombreadas pelo grupo de preços para uma distinção fácil. É fácil criar uma ordem a um nível de preço específico simplesmente clicando em um preço na coluna Oferta (esquerda) ou Perguntar (direita). Para criar uma ordem de profundidade do mercado Clique em um preço de lance ou pedido. Na janela Entrada de pedido, a linha de pedido é preenchida com o preço padrão de lance ou pedido. Selecione Comprar ou Vender e modifique os parâmetros da ordem conforme desejado. Clique em Enviar para transmitir a ordem.

No comments:

Post a Comment