TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Integração ao AB

Por:   •  30/3/2015  •  Bibliografia  •  903 Palavras (4 Páginas)  •  561 Visualizações

Página 1 de 4

Terminal Cartezyan - Integração AmiBroker

  1.   Introdução

A Q10 desenvolveu dois plug-ins para integração do terminal Cartezyan com o terminal AmiBroker. O primeiro fornece cotação real-time e base história, e o segundo provê roteamento de ordens para os provedores de OMS. Ambos necessitam que o terminal Cartezyan esteja aberto para funcionar.

No caso do plug-in de roteamento de ordens, é necessário ainda que exista uma conta OMS cadastrada e logada no terminal Cartezyan. Se existir mais de uma conta, o plug-in irá utilizar a conta que estiver marcada como “Conta Principal” em: Editar > Preferencias > Negociação > Contas

Também é necessário que o usuário Cartezyan tenha o serviço “PlugYan” liberado em suas permissões.

  1.   Instalação

Para instalação dos plug-ins é necessário executar o instalador do Terminal Cartezyan. Ao final do processo, o instalador verifica se existe o AmiBroker instalado, caso exista, exibe a opção de instalar os plug-ins.

[pic 1]

Confirme e finalize o processo de instalação.

Caso o AmiBroker possua uma entrada “Default Database path” definido para um diretório diferente do padrão, será exibida a mensagem abaixo, pedindo ao usuário que altere as configurações em seu AmiBroker:

[pic 2]

  1.   Configuração dos plug-ins

Para o correto funcionamento deve-se abrir primeiramente o terminal Cartezyan e depois o AmiBroker.  Ao carregar o AmiBroker pela primeira vez após a instalação dos plug-ins, será exibida uma mensagem informando que existe um novo plug-in instalado.

A configuração do plug-in de cotações e histórico no AmiBroker é feita através do menu:

File > Database Settings

[pic 3]

 

Em Data source escolha “Cartezyan data Plug-in”

Em Number of bars escolha um valor entre 1 e 32.000. Essa é a quantidade de barras históricas que será exportada do Cartezyan para o Amibroker .

Em Base time interval selecione o período desejado. Esse é o período intraday dos candles que será importado para o AmiBroker e que servirá de base para a montagem dos demais períodos.

Exemplo: Em Base time interval  foi selecionado 1min. Na tela de gráfico do AmiBroker foi selecionado um período intraday de 15 min, o AmiBroker irá consolidar 15 candles de 1 min. Para 30 min, o AmiBroker irá consolidar 30 candles de 1min. E assim em diante.

No botão Configure digite o mesmo usuário que estiver utilizando no Cartezyan.

Terminado essa etapa é só reiniciar o AmiBroker e aguardar a carga da base histórica e cotação. O Tempo de carga depende do numero de candles definido em Number of bars

  1.   Roteamento de ordens

O plug-in para roteamento de ordens disponibiliza as seguintes funções para serem utilizadas nas formulas AFL:

Envio de nova Ordem.  Retorna O Id da ordem

PlaceOrder( "Ativo", "Operação", Qtde, "Tipo", Pco, PcoDisp, "Validade", QtdeAparente, True );

Para tipo são aceitos:  Limit, StopLimit, MKT

Exemplo:        

orderid = ibc.PlaceOrder( "BVMF3", "Buy", 100, "LIMIT", 11.12, 0, "Day", 0, True );

Alteração de Ordem. Retorna O Id da ordem

ibc.ModifyOrder( "orderid ", "Ativo", "Operação", Qtde, "Tipo", Pco, PcoDisp, "Validade", QtdeAparente, True );

Exemplo:        

orderid = ibc.ModifyOrder( "12345678", "WINQ13", "Buy", 2, "LIMIT", 45100, 0, "Day", 0, True );

Cancela Ordem. Retorna True ou False. Indica se houve erro no pedido

ibc.CancelOrder( "orderid") ;

Exemplo:        

orderCancel  = ibc.CancelOrder( "12345678");

Consulta Status da Ordem. Retorna status da ordem        

orderstatus = ibc.OrderStatus("orderid") ;

Exemplo:        

orderStatus = ibc.orderStatus( "12345678" );

        

Consulta Quantidade executada da Ordem. Retorna a quantidade         

ibc.OrderQtdExec( "orderid ") ;

Exemplo:        

qtdeExec = ibc.OrderQtdExec( "12345678" );

Consulta Quantidade Cancelada da Ordem. Retorna a quantidade         

ibc.OrderQtdCancel( "orderid ") ;

Exemplo:        

qtdeCancel = ibc.OrderQtdCancel( "12345678" );

Consulta preço medio executado da ordem.  Retorna a quantidade         

ibc.OrderAvgPrice( "orderid ") ;

Exemplo:        

avgPco = ibc.OrderAvgPrice( "12345678" );

  1.   Exemplo de código AFL

A seguir um exemplo de formula AFL.

A formula estancia o plug-in de roteamento de ordens, envia uma ordem e verifica o status da mesma;

ibc = GetTradingInterface("Q10");

if(ibc.IsConnected()){

_TRACE("Cartezyan e OMS Conectados!");

Ativo = "WINZ13";

Operacao = "Buy";

Quantidade = 1;

Tipo = "Limit"

Preco = 50000;

        

   

 _TRACE("Enviando uma ordem de " + Ativo);

 orderid=ibc.PlaceOrder(Ativo,Operacao,Quantidade,Tipo,Preco,0,"Day",0,True );

   

 orderstatus = ibc.OrderStatus(orderid);

...

Baixar como (para membros premium)  txt (5.9 Kb)   pdf (625.2 Kb)   docx (127.3 Kb)  
Continuar por mais 3 páginas »
Disponível apenas no TrabalhosGratuitos.com