O QWFIX é uma solução completa do sistema de negociação em todas as principais tecnologias. QWFIX. Net Sistema de negociação baseado em FIX de propósito geral Gateway de FIX de propósito geral Motor de regras complicado projetado para uso corporativo QWFIX Java e QWFIX RTSJ Implementação de Java puro Totalmente interoperável com QWFIX. Net QWFIX C Ultra High Frequency Trading Completamente re-projetado para negociação de ultra alta freqüência Protocolos nativos, sistema multi-threading livre de 100 bloqueios, acesso direto ao mercado Latência interna lt3us. Meio round-trip-wire-to-wire citar-para-trocar cerca de 10us com o cartão Solarflare e OpenOnLoad. (Testado com entrada de pedido CME FIXFast e iLink). Futuros, ações e dados do mercado FX e conectividade de pedidos. Certificado com CME e Hotspot Leia mais de 50MB do manual do sistema e da documentação API do QWFIX. Net e QWFIXJ. QwtradingsystemdocumentsQWFIXIndex. html vendas no qwtradingsystem Copyright Teraspaces Inc. 2007-2017 Todos os direitos reservados. QWFIX C Equities é o último desenvolvimento da linha de produtos QWFIX que visa a negociação de ações domésticas dos EUA. Inicialmente, iremos apoiar cinco bolsas (NYSE, ARCA, NASDAQ, BATS e Direct Edge). A negociação de ações enfrenta alguns desafios em comparação com o comércio de futuros. Antes de tudo, o algoritmo pode ter que acompanhar todas as mensagens de dados de mercado, filtrar os que não interessa e rastrear os livros da lista 8220watch8221 e a posição da fila de suas próprias ordens o tempo todo. Considerando a quantidade de dados envolvidos (5-10GB por troca por dia), e o padrão de negociação (portfólio de dezenas ou mesmo centenas de ações), a chave é construir um manipulador de alimentação de baixa latência que possa reduzir o tic-to-trade latência. O manipulador de alimentação também precisa interagir com o sistema de gerenciamento de pedidos, pois também precisa acompanhar as posições da fila de pedidos. A chave é a eficiência. Construir um sistema de negociação eficiente irá melhorar a eficiência da operação (menos máquinas e menor custo de co-localização e conectividade) e lucro comercial (estar à frente dos outros para conquistar a liquidez). Isso exigirá uma gestão eficiente do design e implementação. Em uma empresa de mercado de melhores opções, eles usam uma máquina para trocar apenas um símbolo, basicamente fazendo o possível para reduzir a eventual latência. Em nossa pesquisa, podemos ver ocasionalmente que uma possível liquidez de preço incorreto é tomada dentro de menos de 100 milisegundos de ida e volta, imediatamente após a publicação. Os dados do mercado não são mentirosos, não se pode esconder o seu comércio. Assumindo que seu sistema de negociação é de 200 nanossegundos mais lento do que o sistema concorrente8217 por estoque em termos de tratamento de dados de mercado. Assumindo que seu algoritmo tem que acompanhar 100 ações. Portanto, seu sistema é, em média, 10 microssegundos mais lento do que o sistema competitor8217s, o que é suficiente para fazer a diferença ao competir em sinais semelhantes ou similares. Geralmente, uma empresa comercial de alta freqüência usa uma única máquina para negociar cerca de 20-30 ações, com muitas conexões de entrada de saída para enviar ordens em round robin. O produto 8211 True Lock Free System O sistema QWFIX C Equities é verdadeiro sem bloqueio. Além de otimizar o nosso sistema para a localização do cache e o pipeline amigável, nós o fizemos quase completamente sem bloqueio. O único lugar em que usamos o bloqueio é bloquear o envio de carteiras de pedidos de vários segmentos e usamos um bloqueio de rotação para fazê-lo. Além desse bloqueio único, todo o sistema é completamente livre de bloqueio, mesmo livre de instruções atômicas. O resultado é surpreendente, o sistema pode percorrer um dia inteiro de valor histórico de aproximadamente 82GB (cerca de 10GB), enquanto acompanha o livro dos principais ativos ativos e simula a posição da fila de pedidos em cerca de um minuto. Nosso design dá ao usuário a capacidade de explorar o máximo de paralelismo. Normalmente, um núcleo é dedicado a um segmento para um algoritmo. A atualização e recuperação de dados de mercado pode ser feita em paralelo em threads de diferenças e o sistema won8217t deve ser abrandado de qualquer forma, independentemente de quantos segmentos estão recuperando simultaneamente os dados do mercado. O único lugar que requer o bloqueio de rotação é a parte de gerenciamento de pedidos. No entanto, esse efeito é mínimo. Em primeiro lugar, a API é projetada para receber um portfólio de pedidos por vez. Em segundo lugar, a latência introduzida por esse único bloqueio é de apenas 100-200 nanossegundos se não houver contenção. O sistema QWFIX C Equities compartilha o mesmo console de gerenciamento com nosso produto futuro. Mais widgets de UI são adicionados para o gerenciamento de negociação de ações. A API é cuidadosamente projetada para unificar o ambiente de pesquisa e produção. A mesma implementação do algoritmo pode ser usada diretamente para simular o comércio com dados históricos do mercado. Esse método é usado como um passo final do desenvolvimento da estratégia. Em outra palavra, o desenvolvedor usa nossa API para desenvolver algoritmos. Antes de usar o dinheiro real para trocar, podemos executar o algoritmo no modo 8220simulador8221 com dados históricos. Ele irá simular com precisão o algoritmo. Será a mesma API e o mesmo código para produção e simulação. O custo e o risco serão significativamente reduzidos dessa maneira. Para o desenvolvimento em estágios iniciais, utilizamos o HDF5 para armazenar os dados do mercado com diferentes níveis de detalhes. Por exemplo, o topo do livro, os melhores níveis de livro, etc. O conjunto de dados será usado por idiomas como Python, C, Java ou. Net etc. para fins de pesquisa. Espera-se que a QWFIX Equities esteja em produção no prazo de dois meses. Estamos trabalhando em desenvolvimento, testes e pesquisas em paralelo. Por um lado, se competimos em velocidade, haverá apenas um vencedor no mercado. Por outro lado, a velocidade só importa se as pessoas estiverem competindo no mesmo sinal (ou similar). Por essa razão, mesmo se as pessoas não sabem quando precisam ser rápidas, elas não podem perder a vantagem de velocidade. Tecnicamente falando, o protocolo FIX é difícil de ser otimizado para a velocidade. Simplesmente não é projetado para negociação de baixa latência, tanto no protocolo de codificação quanto no protocolo de sessão. No entanto, ainda podemos gerenciar otimizar o processamento de pedidos baseado em FIX para obter baixa latência. Afinal, o mecanismo de troca de correspondência provavelmente colocará os pacotes recebidos anteriormente na frente da fila do livro de pedidos. Um bom design deve alcançar não só o alto desempenho, mas também a usabilidade (simpatia de programação) e baixa manutenção. O design do QWFIX alcançou todos esses objetivos sem sacrificar nenhum. A chave é a API de gerenciamento de pedidos (OMS API). Ele oculta completamente a codificação de codificação de mensagens de baixo nível e o gerenciamento de sessão. O aplicativo só precisa lidar com ordens (criar, cancelar ou modificar) enquanto ainda desfruta de latência de submicrosegundos. O framework não suporta apenas o protocolo FIX, mas praticamente qualquer protocolo usado em qualquer troca neste mundo (como OUCH ou ETS). Outro desafio durante o tempo de design é o suporte para trocas múltiplas. Cada troca precisa de implementações especiais mais ou menos. Conseguimos que os desenvolvedores se sintam tão confortáveis quanto possível trabalhando com o QWFIX. No nosso projeto, existe apenas uma classe Ordem universal. Existem dois tipos de classe OrderManager que funcionam em conjunto. Um tipo é independente de permuta. Outro tipo é dependente da troca que fornece funcionalidades de gerenciamento de pedidos específicas de troca. A OMS API foi projetada para se encaixar em toda a estrutura HFT QWFIX. O sistema inteiro não é otimizado apenas para latência, mas também para a produção. Usamos a mensagem CME NewOrderSingle FIX para executar o benchmark. Em nosso servidor Intel Xeon de 3,33 GHz, conseguimos 0,8707 nós (870 ns) por mensagem para as seguintes operações combinadas: Crie um FIX NewOrderSingle Set de mensagens na mensagem Reserva com OMS API Codifique a mensagem para fluxo de dados FIX Libere a mensagem FIX Observação 0.8707 us é a latência máxima. Como podemos usar até dois tópicos por sessão FIX de saída, o rendimento real won8217t será limitado por esse número de latência se a rede não for o gargalo. Posso melhorar ainda mais o desempenho se o desempenho do nosso sistema8217 for desafiado por qualquer outro sistema. Depois que postei o blog sobre o 8220faster FAST decoder 8220, fiz algumas melhorias. Aqui está o resultado mais recente usando o mesmo arquivo de dados do CME. Tempo total 11.797371 segundos PacketsentrymaxEntries 34217764165204011116 0.344773 microssegundo por pacote 0.071411 microssegundo por entrada. Testado no mesmo Xeon de 3,3 GHz. Jeff fez algumas melhorias e agora ele pode processar o mesmo arquivo em 9,5 segundos em um Core i7 de 3,3 GHz. Então, seu resultado ainda é cerca de 20 melhores. Depois de conversar com ele, percebi que nossos decodificadores têm diferentes requisitos de usuário. Eu tentei tornar o meu decodificador mais geral, ao custo de um pouco de desempenho. Tudo o que posso dizer é dado o mesmo requisito do usuário que eu posso fazer uma implementação tão rápida quanto a dele. Mas eu gostaria de ficar com minhas classes normalizadas atuais. Minha implementação será capaz de preencher os campos descodificados em uma classe predefinida, sem qualquer suposição sobre o modelo de mensagem. Cada campo possui uma bandeira de presença do tipo bool que ocupa 8 bytes na estrutura. A mensagem é gerenciada de forma eficiente dentro de um pool de objetos e toda vez que a mensagem é retornada para o pool, ela deve ser 8220reseted8221, isto é, as bandeiras de presença devem ser memset para falso. Abaixo está a definição das duas mensagens mais utilizadas no CME, MDIncRefresh e MDEntries. A nota é gerada automaticamente pelo meu sistema. Na verdade, meu sistema pode gerar código legal como esse de qualquer modelo FAST determinado. O decodificador sabe como preencher de forma eficiente a estrutura. Pode levar muitos manipuladores de modelos gerados estaticamente, bem como manipuladores gerados dinamicamente (durante o tempo de execução). É claro que os manipuladores gerados estaticamente funcionam melhor, mas o manipulador gerado dinamicamente garante a flexibilidade e a robustez. Será gerada uma única 8220signature8221 juntamente com cada versão diferente do modelo FAST para garantir que o sistema possa detectar dinamicamente a alteração da versão do modelo na inicialização. Outra característica agradável sobre este design é que o decodificador pode ignorar alguns campos em que não se interessa, com um pouco de melhoria de desempenho. Por exemplo, eu nunca me importei com o campo TradeDate porque, para os instrumentos, eu estou interessado é apenas a data da sessão atual. Infelizmente, essa flexibilidade resulta em algum custo em termos de desempenho. Comentar a restauração da mensagem memset terá 1,5 segundos de melhoria usando os mesmos dados CME. Para não mencionar o custo de configurar o 8220presence flags8221 durante a decodificação pode ser semelhante ou mesmo maior. No geral, estou bastante feliz com o meu decodificador FAST. Pode decodificar a uma taxa de transferência sustentável de mais de 200 MBs. Tudo começou a partir de uma publicação associada. Uma publicação sobre o desempenho de um descodificador FAST específico transformou-se em uma série de comentários com reivindicações e perguntas. Um comentário particular chamou meu interesse, do Sr. Jeffrey M. Birnbaum. Ele postou o benchmark de seu decodificador com alguns números excepcionais. Embora tenha levantado muitas dúvidas, eu sei que não é impossível. Na verdade, escrevi em um comentário anterior com algumas reflexões sobre como eu posso fazer para melhorar meu decodificador. São apenas alguns pensamentos e nunca mandei implementá-lo. Jeffery8217s trabalho me inspirou para começar a implementar minhas idéias. Então passei um fim de semana inteiro na melhoria. O resultado é bastante significativo. Vejo uma melhoria de desempenho três vezes com minha nova implementação. Então eu enviei Jeffrey com meu resultado e agradeci por sua inspiração. Jeff respondeu gentilmente meu e-mail. E eu aprendi duas coisas de seu e-mail. Em primeiro lugar, parece que seu método é diferente do meu. Em segundo lugar, ele está extremamente confiante sobre a superioridade de seu decodificador. Então eu decidi tomar seu desafio e entrar em uma partida amistosa contra ele. Assim como Jeff disse, gostei de uma pequena competição e, no final, nos tornaremos um pouco melhores8221. Eu tenho que dizer que a melhoria ainda não é fácil. Eu sei o que fazer, mas é todo o trabalho tedioso e leva esforços para chegar lá. Para fazer uma longa história, consegui fazer algum tempo para o trabalho e agora, depois de uma semana, tenho algum resultado. Antes de avançarmos, deixe-me explicar os dados de mercado do CME que usei. O CME difunde informações de troca de cotações e comércio em formato FAST. A mensagem FAST (ou segmento) está envolvida em pacotes de multidop UDP. Atualmente, um pacote UDP contém apenas uma mensagem FAST. O método de codificação FAST pode comprimir informações com uma relação de compressão muito alta. A estrutura da mensagem FAST é muito flexível e bastante complicada. É basicamente uma estrutura de árvore com esquema predefinido (modelo FAST em formato XML). A mensagem mais comumente usada é chamada 8220IncrementalRefresh8221. O 8220IncrementalRefresh8221 pode conter várias entradas com citações e trocas comerciais. Por exemplo, se a melhor oferta e oferta do mercado atual for: Oferta: 129000 X 200 Oferta: 128975 X 50 E há duas ordens sentadas na melhor oferta com 25 contratos cada. Se alguém enviou um pedido de mercado para levar 50 contratos do lado da proposta. Pode resultar em um 8220IncrementalRefresh8221 com 3 8220MDEntries8221: Trade 25128975 Comércio 25128975 Quote Remove Bid Level 1 Pode haver algumas confusões sobre o resultado FAST benchmark porque alguns referem 8220message8221 como 8220UDP packet8221 e alguns referem 8220message8221 como cada 8220Fast Segment8221. No exemplo acima, se 8220message8221 é referido como cada 8220Fast Segment8221, então as mensagens totais são 3, senão 1. Jeff sugere que 8220MBsec é a única comparação equitativa8221 e eu concordo com ele. Agora, vem o meu resultado, testado no meu servidor Xeon de 3,33 GHz com o GCC 4.4.0. Tempo total 14.743588 segundos PacketsEntriesMaxEntriesPerPacket 34217764165204011116 0.430875 microssegundo por pacote 0.089245 microssegundo por entrada. Benchmarked usando um arquivo com tamanho de 2.838.336.532 bytes. No resultado de referência listado acima, o 8220packet8221 refere-se a pacotes UDP da CME. A entrada apenas se refere a MDEntry contido no pacote (não incluindo o corpo MDIncRefresh ou MDSnapshotFullRefresh). Podemos dizer que, nesse dia, há uma média de (0,430,089) 4,83 MDEntries por pacote UDP. No entanto, a maior mensagem contém 116 entradas em um único pacote. Posso melhorar ainda, claro. Posso agora ter otimizado o número inteiro, o PMAP e o gerenciamento de fluxo. O gerenciamento de seqüências de caracteres é parcialmente otimizado. E o dicionário não está otimizado de forma alguma (ainda está usando várias matrizes std :: vector). Eu posso espremer dúzias de nanosegundos extras de cada processamento de entrada8217s. A beleza do protocolo FAST é que, uma vez que a implementação está concluída, é preciso apenas obter um arquivo de modelo de trocas que suporte dados de mercado baseados em FAST (livro Arca, Eures, EBS etc), para decodificar os dados de mercado da troca. Então, sim, minha implementação é universal. Então, o que isso significa: para algumas estratégias, se alguém sempre precisa competir com outras pessoas em certa quantidade de ações, isso pode significar responder vários microssegundos mais rápido que os concorrentes sob certas condições de mercado. We8217ve ouvido sobre reivindicação de performance de FPGAs. Mas Jeff e eu concordamos que está um pouco superestimado. Será difícil para o FPGA combinar o desempenho do descodificador de software puro implementado de forma eficiente, se não impossível. Agora, o maior gargalo é o processador de rede TCPUDP. Pode ser algo que o FPGA pode fazer para melhorar significativamente. Mas, infelizmente, não vi qualquer produto FPGA na direção dessa direção. Possa a melhor vitória implícita e negociação feliz. P. S. Caso você esteja interessado na partida 8220friend entre Jeff e eu, tudo o que posso dizer é que o número original do Jeff8217s é mesmo um pouco melhor do que o meu (ele está usando um Core i7 de 2,99 GHz e um conjunto de dados diferente). Enquanto I8217m ainda aguardava seu resultado atualizado, eu diria que será difícil para todos nós tirar as portas do outro. Atualização: a partir de 8 de fevereiro de 2017, à meia-noite, Jeff me enviou seu resultado de referência atualizado com os mesmos dados em um Core I7 de 2,93 GHz. São 12,5 segundos para processar todo o arquivo. Neste caso, eu vou ser obrigado a melhorar minha implementação. Espero que eu possa fazer isso até amanhã. Deixe o jogo continuar E fique atento QWFIX HFT CME é um conjunto completo de plataforma de negociação de alta freqüência, totalmente certificada, executada em produção para o comércio de CME. As características principais incluem: QWFIX C: mecanismo de execução de algoritmo puro C Sub 5 microssegunda latência de marca-a-troca API de gerenciamento de pedidos simples e flexíveis (OMS) API mecanismo de estratégia API e QA um novo algoritmo dentro de 2 dias configuração baseada em GUI, em tempo real Ferramentas de pesquisa e de monitoramento Ferramentas de pesquisa Simulador on-line realista baseado em C (teste e QA seu código de produção com dados de mercado em tempo real) API simplista baseada em simuladores offline. (Teste seu algoritmo com dados históricos do mercado) API de analisador pós-comercial (analise seu histórico Log de comércio) Analisador histórico de dados de mercado tick-by-tick baseado em GUI O design e implementação do QWFIX se concentra na simplicidade sem sacrificar o desempenho. Desempenho O QWFIX usa as seguintes técnicas para atingir o desempenho do tick-to-trade sub 5 microssegundo. Bloquear o modelo de encadeamento gratuito: Todo o código crítico de desempenho usa apenas bloqueios de rotação Gerenciamento de memória personalizado: todo o código crítico de desempenho usa gerenciamento de memória personalizado e sem bloqueio com pool de memória pré-alocado Arquitetura Avançada: o modelo de Threading, o modelo de IO e o gerenciamento de memória são projetados para colaborar para alcançar Melhor desempenho geral Otimização OSHardware: projetado para funcionar com Linux RT Kernel e placa de rede Solarflare com driver OpenOnLoad API amigável para programadores API QWFIX C é extremamente simples e fácil de usar. Normalmente, leva um dia para implementar um novo algoritmo, teste e QA no próximo dia, e colocá-lo em produção no terceiro dia. Gerenciamento de pedidos API Um gerenciador de pedidos é criado para cada instrumento em cada dia de negociação. A API é fornecida para enviar, cancelar e modificar pedidos. Informações estáticas, como Symbol e SecurityDesc, são inicializadas apenas uma vez quando o gerenciador de pedidos é criado, para melhorar o desempenho. Várias estratégias podem ser executadas simultaneamente. Cada estratégia é identificada por um número exclusivo (número inteiro, geralmente uso um número de data como 20170101). Implementar uma nova estratégia é extremamente fácil. O programador só precisa subclasse um objeto Estratégia e implementa seus próprios manipuladores de eventos. O log de log de alto desempenho é rápido e fácil. É preciso duas linhas de código para adicionar uma entrada ao log do sistema. Demora cerca de 200 nanosegundos e será escrito no disco de forma assíncrona. A entrada registrada pode ser visualizada com GUI ferramenta de gerenciamento em tempo real ou recuperada com API de análise pós-comércio. Gerenciamento de amplificação de configuração O GUI Enterprise Manager é usado para configurar o sistema QWFIX. Possui o seguinte: Customizing FIX schema (dictionary). O CME ocasionalmente pode alterar o requisito de mensagem FIX adicionando ou modificando as tags necessárias na mensagem Personalizando as sessões FIX. Especifique o iniciador e aceitador CompID, endereços IP, agendador e outros parâmetros Personalizando o mecanismo FIX. O QWTradeMonitor é usado para gerenciar o processo de negociação automatizado em tempo real. QWTradeMonitor também pode ser usado como uma ferramenta de depuração durante a implementação do algoritmo. Os logsalerts em tempo real gerados pelo processo remoto podem ser monitorados com a ferramenta GUI. Observe que os mesmos registros também podem ser recuperados através da API pós-comércio por meio de programação. Cada comunicação de mensagem FIX pode ser visualizada com detalhes completos, incluindo 3 timestamps. Por favor, não é tão rápido de antes da criação da mensagem (timstamp1) para as devoluções de chamada de envio () (timestamp3) para a mensagem de logon. Observe que demora um pouco mais para processar a mensagem de Logon. Para mensagens relacionadas a pedidos, leva apenas cerca de 2-3 microssegundos. Dados de mercado remoto em tempo real Os dados do mercado podem ser exibidos juntamente com informações breves de pedidos (pedidos totais e quantidades totais) em cada nível de preço. Ordens em tempo real, Execução, Posição e PampL Cada ordem, cada execução e cada campo na mensagem FIX podem ser monitorados em tempo real, juntamente com a posição em tempo real e PampL. As estratégias de negociação remota podem ser totalmente controladas pelo QWTradeMonitor. O simulador online QWFIX C pode ser usado para testar de forma realista e sistema de negociação automatizado de produção de QA. Simulador off-line off-line Simulador offline pode ser usado para estudar de maneira realista as estratégias de negociação. API de análise de pós-análise pós-negociação API de publicação pós-rede pode ser usada para fazer análise de pós-comércio. Demora cerca de 10 linhas de código para recuperar todos os detalhes do fluxo de pedidos inteiro. Os pedidos podem ser agrupados por diferentes estratégias. Cada ordem ou execução pode ser comparada com os dados de mercado exatos no momento em que foi processado. Toda mudança de status pode ser analisada visualmente com a ferramenta de pesquisa baseada em GUI QWTradeAnalyzer. O QWTradeAnalyzer QWTradeAnalyzer baseado em GUI pode ser usado para analisar os dados históricos do mercado tick-by-tick. Múltiplos instrumentos podem ser sincronizados por timestamps para explorar a oportunidade de negociação spreadcross-asset-class As ordens e execuções podem ser sincronizadas com dados de tick para pesquisa de estratégia de negociação ou análise pós-negociação. FIX Trading Community 18 de março de 2009 2:51 pm o e-mail original foi de Dave Arter - dave. artereds Use o perfil de aplicativos no site FIX para procurar mais vendedores, mas possui um link de fornecedor de todas as plataformas para CTS, Portware. Http: portware flash index. html http: fixprotocol. org detalhes dos produtos 4869 Não consigo encontrar nenhum link de download neste site. Preciso de um software para download com versão de teste. Você deve entrar em contato com o fornecedor diretamente, providenciar uma demonstração do produto e, em seguida, obter um teste ou versão de teste do seu conjunto de produtos. A sua devida diligência será recompensada pela identificação precoce da avaliação do seu fornecedor e do produto além do padrão. Isso funciona perguntas e esclarece os pontos de integração chave que você precisa. Eu forneci um fornecedor como um exemplo, mas você deve usar 3 como mínimo para fornecer prós e contras em comparação. FIX Trading Community 18 de março de 2009 2:59 pm o e-mail original foi de Dave Arter - dave. artereds Use o perfil de Aplicativos no site FIX para procurar mais fornecedores, mas heres um link de vendedor de plataforma para o CTS, Portware. Http: portware flash index. html http: fixprotocol. org detalhes dos produtos 4869 Não consigo encontrar nenhum link de download neste site. Preciso de um software para download com versão de teste. Você deve entrar em contato com o fornecedor diretamente, providenciar uma demonstração do produto e, em seguida, obter um teste ou versão de teste do seu conjunto de produtos. A sua devida diligência será recompensada pela identificação precoce da avaliação do seu fornecedor e do produto além do padrão. Isso funciona perguntas e esclarece os pontos de integração chave que você precisa. Eu forneci um fornecedor como um exemplo, mas você deve usar 3 como mínimo para fornecer prós e contras em comparação. O QWFIX possui versões para download para suas necessidades imediatas de teste. Existe algum software de cliente de correção que eu possa usá-lo para se conectar a um servidor de reparo? Eu preciso de uma versão terial. Obrigado Como tentar o FixClient. Um programa de cliente de correção multi-threading, em tempo real, bidirecional, executado no Linux. Uma API de fila de mensagens simples torna a sua aplicação fácil para o servidor remoto de comunicação. Você lê mensagens FIX de uma fila de mensagens recebidas e solicita pedidos de pedidos para a fila de mensagens de saída. Faça o download de uma versão de teste em http: eptop FIX FixExpress. htm Boa sorte, Changpeng Yu FT Computer Solutions 114 Hazelwood Ave. Edison, NJ 08837 Preciso de uma versão do Windows. Alguns podem apresentar um software de cliente de correção do Windows. Não tenho versão de janela, mas tento dizer que a versão do Linux é mais poderosa. Os comerciantes podem compartilhar a única conexão FIX e negociar ao mesmo tempo. Eu também tenho uma FT OMS simples baseada na web. Se você quiser, todo o pacote pode ser instalado em uma única caixa Linux e oferecer suporte a tantas negociações quanto quiser. É melhor do que uma boa janela, Changpeng Yu FT Computer Solutions 114 Hazelwood Ave. Edison, NJ 08837 Gabriel Morie 19 de março de 2009 7:29 am Para uma tela frontal que você pode baixar, dê uma olhada no Photon, um produto da Marketcetera. Http: marketcetera
No comments:
Post a Comment