{"id":8075,"date":"2024-08-28T17:20:14","date_gmt":"2024-08-28T17:20:14","guid":{"rendered":"https:\/\/bjftradinggroup.com\/?page_id=8075"},"modified":"2026-09-25T15:46:18","modified_gmt":"2026-09-25T15:46:18","slug":"developers","status":"publish","type":"page","link":"https:\/\/bjftradinggroup.com\/pt\/developers\/","title":{"rendered":"Para desenvolvedores"},"content":{"rendered":"<p><\/p>\n<div class=\"dev-page\">\n<p><!-- ============================================================ --><br \/>\n<!-- HERO                                                         --><br \/>\n<!-- ============================================================ --><\/p>\n<div class=\"dev-hero\">\n<span class=\"dev-eyebrow\">Para desenvolvedores &middot; Plataforma SharpTrader<\/span><\/p>\n<h1>Desenvolva sobre o SharpTrader: <span class=\"dev-gold\">API de bots em C#, conectividade EasyFIX e a biblioteca de gr\u00e1ficos BjfChart<\/span><\/h1>\n<p>O SharpTrader \u00e9 uma plataforma de trading feita para traders, n\u00e3o para brokers, e est\u00e1 aberta a quem escreve c\u00f3digo para eles. Escreva suas pr\u00f3prias estrat\u00e9gias em C# dentro da plataforma, conecte seu software externo ao motor de execu\u00e7\u00e3o por meio da EasyFIX API ou integre nossa biblioteca de gr\u00e1ficos de candles acelerada por GPU ao seu pr\u00f3prio terminal .NET.<\/p>\n<div class=\"dev-chips\">\n<span class=\"dev-chip\">Estrat\u00e9gias em C# com ticks em tempo real e sess\u00f5es com v\u00e1rios brokers<\/span><br \/>\n<span class=\"dev-chip\">EasyFIX API: mais de 50 conectores FIX, exchanges de cripto<\/span><br \/>\n<span class=\"dev-chip\">DLL BjfChart: 22 indicadores, ferramentas de desenho, boleta de ordens<\/span><br \/>\n<span class=\"dev-chip\">.NET Framework 4.8 e .NET 8<\/span>\n<\/div>\n<p style=\"margin-top:18px !important\"><a class=\"dev-btn\" href=\"#charting\">Assista \u00e0 demonstra\u00e7\u00e3o dos gr\u00e1ficos<\/a> <a class=\"dev-btn-ghost\" href=\"#contact\">Contatos para desenvolvedores<\/a><\/p>\n<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- KEY NUMBERS                                                  --><br \/>\n<!-- ============================================================ --><\/p>\n<table class=\"dev-stats\">\n<tbody>\n<tr>\n<td><strong>C#<\/strong><span>linguagem nativa de estrat\u00e9gias, compilada dentro do SharpTrader<\/span><\/td>\n<td><strong>50+<\/strong><span>conectores FIX API para brokers, al\u00e9m das principais exchanges de cripto<\/span><\/td>\n<td><strong>22<\/strong><span>indicadores no BjfChart, verificados contra c\u00e1lculos de refer\u00eancia<\/span><\/td>\n<td><strong>2<\/strong><span>alvos em uma \u00fanica DLL: net48 para aplica\u00e7\u00f5es legadas, net8.0-windows para as novas<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><!-- ============================================================ --><br \/>\n<!-- THREE WAYS                                                   --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"ways\">Tr\u00eas formas de desenvolver com a BJF<\/h2>\n<p>Cada op\u00e7\u00e3o resolve um problema diferente. Escolha a que corresponde a onde seu c\u00f3digo est\u00e1.<\/p>\n<table class=\"dev-threecol\">\n<tbody>\n<tr>\n<td class=\"dev-col\">\n<span class=\"dev-tag\">Dentro da plataforma<\/span><\/p>\n<h3>M\u00f3dulo de programa\u00e7\u00e3o: API de bots em C#<\/h3>\n<p>Escreva uma estrat\u00e9gia como uma classe C#, compile-a dentro do SharpTrader e execute-a em qualquer broker ou exchange conectado. Ticks, posi\u00e7\u00f5es, ordens e indicadores est\u00e3o todos a uma chamada de dist\u00e2ncia.<\/p>\n<p><a href=\"#bot-api\">Saiba mais sobre a API de bots<\/a><\/p>\n<\/td>\n<td class=\"dev-col\">\n<span class=\"dev-tag\">Fora da plataforma<\/span><\/p>\n<h3>EasyFIX API<\/h3>\n<p>Mantenha seu pr\u00f3prio motor, em qualquer linguagem, e deixe o SharpTrader ser o gateway: ele transmite cota\u00e7\u00f5es para voc\u00ea e roteia suas ordens pelos conectores de brokers e exchanges.<\/p>\n<p><a href=\"#easyfix\">Saiba mais sobre a EasyFIX<\/a><\/p>\n<\/td>\n<td class=\"dev-col\">\n<span class=\"dev-tag\">No seu pr\u00f3prio terminal<\/span><\/p>\n<h3>Biblioteca de gr\u00e1ficos BjfChart<\/h3>\n<p>Uma \u00fanica DLL que oferece \u00e0 sua aplica\u00e7\u00e3o .NET gr\u00e1ficos de candles profissionais, indicadores, ferramentas de desenho, um painel de trading e um livro de ofertas, com feed de ticks em tempo real.<\/p>\n<p><a href=\"#charting\">Conhe\u00e7a a biblioteca de gr\u00e1ficos<\/a><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><!-- ============================================================ --><br \/>\n<!-- BOT API                                                      --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"bot-api\">M\u00f3dulo de programa\u00e7\u00e3o: escreva estrat\u00e9gias em C#<\/h2>\n<p>O m\u00f3dulo de programa\u00e7\u00e3o transforma o SharpTrader em um ambiente de desenvolvimento para estrat\u00e9gias automatizadas. Um bot \u00e9 uma classe C# que herda da classe base <code>Bot<\/code> da plataforma e reage a eventos: inicializa\u00e7\u00e3o, cada tick recebido, posi\u00e7\u00e3o aberta, posi\u00e7\u00e3o fechada e atualiza\u00e7\u00f5es de status de ordens. A plataforma o compila, mostra seus par\u00e2metros de entrada na interface e o executa em contas reais ou demo, lado a lado com as estrat\u00e9gias integradas de arbitragem, not\u00edcias e impulso.<\/p>\n<h3>O que a API oferece<\/h3>\n<table class=\"dev-tbl\">\n<thead>\n<tr>\n<th>\u00c1rea<\/th>\n<th>O que voc\u00ea pode fazer<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Dados de mercado<\/td>\n<td>Bid, ask, spread e valor do ponto por s\u00edmbolo e por sess\u00e3o, por meio do objeto <code>ticker<\/code>. Uma sess\u00e3o \u00e9 uma conta conectada em um broker ou exchange, ent\u00e3o um \u00fanico bot pode acompanhar e operar v\u00e1rias contrapartes ao mesmo tempo pelo \u00edndice da sess\u00e3o.<\/td>\n<\/tr>\n<tr>\n<td>Ordens e posi\u00e7\u00f5es<\/td>\n<td><code>sendOrder<\/code> para execu\u00e7\u00e3o a mercado, <code>modifyPositionByID<\/code> para stop-loss e take-profit, <code>closePositionByID<\/code>, buscas por ID ou por coment\u00e1rio e listas em tempo real de ordens abertas, fechadas e pendentes.<\/td>\n<\/tr>\n<tr>\n<td>Detalhes da posi\u00e7\u00e3o<\/td>\n<td>Cada posi\u00e7\u00e3o cont\u00e9m pre\u00e7os e hor\u00e1rios de abertura e fechamento, volume, lado, sess\u00e3o, lucro, coment\u00e1rio, stop-loss, take-profit e o slippage e o tempo de execu\u00e7\u00e3o medidos para as duas pontas. \u00c9 essa \u00faltima parte que permite a um bot se adaptar \u00e0 forma como um broker realmente executa suas ordens.<\/td>\n<\/tr>\n<tr>\n<td>Indicadores<\/td>\n<td>Fun\u00e7\u00f5es de indicadores integradas, como EMA e MACD, em qualquer timeframe, continuamente ampliadas com as atualiza\u00e7\u00f5es da plataforma.<\/td>\n<\/tr>\n<tr>\n<td>Par\u00e2metros de entrada e logs<\/td>\n<td>Propriedades p\u00fablicas marcadas com <code>[PropertyInfo]<\/code> aparecem como par\u00e2metros edit\u00e1veis na interface; <code>writeLog<\/code> grava no log da plataforma; <code>stopBot<\/code> interrompe a estrat\u00e9gia pelo c\u00f3digo.<\/td>\n<\/tr>\n<tr>\n<td>Estado da conta<\/td>\n<td>Saldo e patrim\u00f4nio l\u00edquido por sess\u00e3o para regras de risco e dimensionamento de posi\u00e7\u00f5es.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Um esqueleto m\u00ednimo de estrat\u00e9gia<\/h3>\n<pre class=\"dev-code\"><span class=\"c\">\/\/ Illustrative skeleton. Names follow the SharpTrader coding library reference.<\/span>\nusing SharpTraderBot;\n\npublic class SpreadGuardBot : Bot\n{\n    [PropertyInfo(0.10, \"Lot size\")]\n    public double Lots { get; set; }\n\n    [PropertyInfo(20, \"Max spread, points\")]\n    public int MaxSpreadPoints { get; set; }\n\n    string _inFlight;                            <span class=\"c\">\/\/ one order in flight per tick<\/span>\n\n    public virtual void OnInit() { writeLog(\"SpreadGuardBot started\"); }\n\n    public virtual void OnTick(NewTickEventArgs args)\n    {\n        int session = 0;                         <span class=\"c\">\/\/ session index = broker account<\/span>\n        string symbol = args.tick.symbol;\n\n        double point  = ticker.getPointValue(session, symbol);\n        double spread = (ticker.getAsk(session, symbol) - ticker.getBid(session, symbol)) \/ point;\n\n        if (spread &gt; MaxSpreadPoints || _inFlight != null) return;\n\n        _inFlight = sendOrder(session, symbol, Lots, OrderSide.BUY, OrderType.MARKET, 0, \"spread-guard\");\n    }\n}<\/pre>\n<div class=\"dev-note\"><strong>Bom saber antes de escrever a primeira linha.<\/strong> O sandbox compila com um conjunto fixo de assemblies: System, System.Collections, System.Runtime, System.Console e a biblioteca de bots do SharpTrader. O LINQ n\u00e3o est\u00e1 entre eles, ent\u00e3o escreva loops <code>foreach<\/code> simples em vez de <code>Where<\/code>, <code>Select<\/code> ou <code>Any<\/code>. Os pre\u00e7os da API est\u00e3o em pontos do broker; multiplique pelo valor do ponto antes de comparar com seus pr\u00f3prios limites. E mantenha uma \u00fanica ordem em andamento por tick, controlada pelo ID de ordem do cliente retornado, a menos que voc\u00ea goste de depurar execu\u00e7\u00f5es duplicadas.<\/div>\n<p>Refer\u00eancia completa de classes, m\u00e9todos e eventos: <a href=\"https:\/\/sharptrader.arbitragesoftware.net\/bot\/\">documenta\u00e7\u00e3o da biblioteca de programa\u00e7\u00e3o do SharpTrader<\/a>. O m\u00f3dulo de programa\u00e7\u00e3o \u00e9 um complemento do SharpTrader Pro; consulte a <a href=\"https:\/\/bjftradinggroup.com\/product\/sharptrader-forex-crypto-arbitrage\/\">p\u00e1gina do SharpTrader Pro<\/a> para o pacote atual.<\/p>\n<p><!-- ============================================================ --><br \/>\n<!-- EASYFIX                                                      --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"easyfix\">EasyFIX API: conecte seu pr\u00f3prio software ao SharpTrader<\/h2>\n<p>Nem tudo pertence ao interior da plataforma. Se voc\u00ea j\u00e1 executa um motor de sinais, um gerenciador de risco, um front-end personalizado ou um pipeline de pesquisa, a EasyFIX permite que ele se comunique com o SharpTrader por meio de um protocolo FIX simplificado. O SharpTrader se torna seu gateway de execu\u00e7\u00e3o: ele mant\u00e9m as conex\u00f5es com brokers e exchanges, e voc\u00ea envia ordens e recebe cota\u00e7\u00f5es e execu\u00e7\u00f5es a partir do seu pr\u00f3prio c\u00f3digo, na linguagem que preferir.<\/p>\n<table class=\"dev-twocol\">\n<tbody>\n<tr>\n<td class=\"dev-col\">\n<h3>O que a EasyFIX transporta<\/h3>\n<ul>\n<li>Dados de mercado: cota\u00e7\u00f5es dos s\u00edmbolos que voc\u00ea assina, de qualquer sess\u00e3o que o SharpTrader tenha aberta.<\/li>\n<li>Fluxo de ordens: novas ordens, modifica\u00e7\u00f5es e fechamentos roteados para a sess\u00e3o escolhida.<\/li>\n<li>Relat\u00f3rios de execu\u00e7\u00e3o: execu\u00e7\u00f5es, rejei\u00e7\u00f5es, status de posi\u00e7\u00f5es e ordens de volta para sua aplica\u00e7\u00e3o.<\/li>\n<li>Acesso aos mesmos mais de 50 conectores FIX API de brokers e \u00e0s conex\u00f5es com as principais exchanges de cripto que o SharpTrader usa para suas pr\u00f3prias estrat\u00e9gias.<\/li>\n<\/ul>\n<\/td>\n<td class=\"dev-col\">\n<h3>Integra\u00e7\u00f5es t\u00edpicas<\/h3>\n<ul>\n<li>Uma estrat\u00e9gia externa escrita em Python, Java, C++ ou qualquer linguagem com um socket e um gerador de mensagens FIX.<\/li>\n<li>Uma camada de risco corporativa que supervisiona v\u00e1rias inst\u00e2ncias do SharpTrader.<\/li>\n<li>Uma interface gr\u00e1fica de trading ou painel personalizado sobre a execu\u00e7\u00e3o do SharpTrader.<\/li>\n<li>Grava\u00e7\u00e3o de cota\u00e7\u00f5es e execu\u00e7\u00f5es para pesquisa, backtesting e auditorias de execu\u00e7\u00e3o de brokers.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>A EasyFIX \u00e9 um dialeto FIX modificado: mant\u00e9m o modelo de mensagens que os desenvolvedores j\u00e1 conhecem, dispensando as formalidades de que uma conex\u00e3o entre varejo e gateway n\u00e3o precisa. A especifica\u00e7\u00e3o, sess\u00f5es de exemplo e uma conex\u00e3o de teste est\u00e3o dispon\u00edveis mediante solicita\u00e7\u00e3o para usu\u00e1rios do SharpTrader Pro e Lite. Escreva para <a href=\"mailto:support@bjftradinggroup.com\">support@bjftradinggroup.com<\/a> com uma breve descri\u00e7\u00e3o do que voc\u00ea pretende conectar.<\/p>\n<p><!-- ============================================================ --><br \/>\n<!-- CHARTING LIBRARY                                             --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"charting\">BjfChart: a biblioteca de gr\u00e1ficos por tr\u00e1s dos novos gr\u00e1ficos do SharpTrader<\/h2>\n<p>Em 2026 reconstru\u00edmos do zero os gr\u00e1ficos do SharpTrader, e o motor por tr\u00e1s deles est\u00e1 dispon\u00edvel para desenvolvedores como uma biblioteca independente. O BjfChart \u00e9 um controle de gr\u00e1ficos de candles acelerado por GPU para WinForms, constru\u00eddo sobre SkiaSharp. Ele renderiza dezenas de milhares de barras a 60 quadros por segundo e \u00e9 distribu\u00eddo como uma \u00fanica <code>BjfChart.dll<\/code> compat\u00edvel com <code>net48<\/code> e <code>net8.0-windows<\/code>, podendo ser integrado tanto a terminais legados em .NET Framework quanto a novas aplica\u00e7\u00f5es .NET 8.<\/p>\n<div class=\"dev-video\">\n<p class=\"dev-video-title\">V\u00eddeo: SharpTrader Charting, nova biblioteca de gr\u00e1ficos e demonstra\u00e7\u00e3o do trading manual<\/p>\n<div class=\"dev-video-embed\">\n<iframe src=\"https:\/\/www.youtube-nocookie.com\/embed\/QBjWnSRnrxs\" title=\"SharpTrader Charting: nova biblioteca de gr\u00e1ficos e demonstra\u00e7\u00e3o do trading manual\" loading=\"lazy\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n<\/div>\n<p class=\"dev-video-caption\">Oito timeframes, indicadores, ferramentas de Fibonacci e de tend\u00eancia, uma boleta de ordens com linhas de stop-loss e take-profit arrast\u00e1veis e gr\u00e1ficos com v\u00e1rios brokers, mostrados ao vivo dentro do SharpTrader. <a href=\"https:\/\/youtu.be\/QBjWnSRnrxs\">Abrir no YouTube<\/a><\/p>\n<\/div>\n<h3>O que a biblioteca inclui<\/h3>\n<table class=\"dev-twocol\">\n<tbody>\n<tr>\n<td class=\"dev-col\">\n<h3>Motor de gr\u00e1ficos<\/h3>\n<ul>\n<li>Renderiza\u00e7\u00e3o de candles com subpainel de volume, cursor em cruz, etiqueta de pre\u00e7o em tempo real e legenda OHLC flutuante.<\/li>\n<li>Zoom com a roda do mouse que mant\u00e9m fixa a barra sob o cursor, deslocamento clicando e arrastando.<\/li>\n<li>Feed em tempo real: <code>PushTick<\/code> incorpora um tick \u00e0 \u00faltima barra, <code>FeedTick<\/code> agrupa ticks automaticamente em candles de qualquer intervalo.<\/li>\n<li>Sobreposi\u00e7\u00f5es de v\u00e1rios s\u00edmbolos para compara\u00e7\u00e3o, com escala independente ou compartilhada.<\/li>\n<li>Persist\u00eancia do layout em JSON: indicadores, desenhos, sobreposi\u00e7\u00f5es e \u00e1rea de visualiza\u00e7\u00e3o s\u00e3o salvos e restaurados.<\/li>\n<li>Temas escuro (azul-marinho e dourado BJF) e claro, altern\u00e1veis em tempo de execu\u00e7\u00e3o, com todas as cores edit\u00e1veis.<\/li>\n<li>Marca d&#8217;\u00e1gua a partir de um arquivo de logo, URL ou texto atr\u00e1s dos candles.<\/li>\n<\/ul>\n<\/td>\n<td class=\"dev-col\">\n<h3>Camada de trading<\/h3>\n<ul>\n<li><code>TradingPanel<\/code>: uma boleta de ordens (compra e venda a mercado, limit ou stop, quantidade, pre\u00e7o, stop-loss, take-profit) com exibi\u00e7\u00e3o da posi\u00e7\u00e3o e do P\/L em tempo real.<\/li>\n<li>Linhas de entrada, stop-loss, take-profit e ordens pendentes desenhadas automaticamente no gr\u00e1fico; stop-loss e take-profit s\u00e3o arrast\u00e1veis e disparam eventos ao serem soltos.<\/li>\n<li>O painel n\u00e3o executa nada por si s\u00f3. Ele dispara eventos para sua camada de execu\u00e7\u00e3o, seja ela uma sess\u00e3o FIX API, uma ponte com o broker ou o SharpTrader via EasyFIX.<\/li>\n<li><code>OrderBookPanel<\/code>: uma escada de profundidade de mercado com tamanho por n\u00edvel e barras de profundidade proporcionais; clique em um n\u00edvel para preencher previamente um pre\u00e7o limite.<\/li>\n<li>Linhas de pre\u00e7o arbitr\u00e1rias por ID para ordens do broker, com arraste opcional.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Indicadores e ferramentas de desenho<\/h3>\n<table class=\"dev-tbl\">\n<thead>\n<tr>\n<th>Grupo<\/th>\n<th>Inclu\u00eddo<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Indicadores sobrepostos<\/td>\n<td>SMA, EMA, WMA, VWAP, Bandas de Bollinger, Canais de Keltner, Canais de Donchian, Envelope, Parabolic SAR.<\/td>\n<\/tr>\n<tr>\n<td>Indicadores em subpainel<\/td>\n<td>RSI, MACD com histograma, Estoc\u00e1stico, ATR, CCI, ADX \/ DMI, Momentum, Rate of Change, Williams %R, Awesome Oscillator, Desvio Padr\u00e3o, On-Balance Volume, Money Flow Index.<\/td>\n<\/tr>\n<tr>\n<td>Precis\u00e3o<\/td>\n<td>Os c\u00e1lculos dos indicadores s\u00e3o verificados contra implementa\u00e7\u00f5es de refer\u00eancia independentes: SMA, EMA, Bollinger, RSI, ATR, Estoc\u00e1stico e CCI coincidem at\u00e9 1e-9; MACD, ADX, DI, Williams %R, MFI e OBV s\u00e3o validados quanto \u00e0 corre\u00e7\u00e3o e ao intervalo de valores.<\/td>\n<\/tr>\n<tr>\n<td>Ferramentas de desenho<\/td>\n<td>Linha de tend\u00eancia, raio, linha estendida, linha e raio horizontais, linha vertical, seta, canal paralelo, ret\u00e2ngulo, elipse, retra\u00e7\u00e3o de Fibonacci, extens\u00e3o de Fibonacci e uma ferramenta de medi\u00e7\u00e3o que mostra a varia\u00e7\u00e3o de pre\u00e7o, a varia\u00e7\u00e3o percentual e o n\u00famero de barras. Todas ancoradas no espa\u00e7o dos dados, permanecendo fixas durante o zoom e o deslocamento.<\/td>\n<\/tr>\n<tr>\n<td>Extensibilidade<\/td>\n<td>Implemente <code>IIndicator<\/code> (ou crie uma subclasse de <code>IndicatorBase<\/code>), retorne uma ou mais s\u00e9ries alinhadas \u00e0 lista de candles, escolha sobreposi\u00e7\u00e3o ou subpainel, linha, histograma ou pontos, e registre-o para que apare\u00e7a no menu do bot\u00e3o direito e nos layouts salvos.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Dez linhas para um gr\u00e1fico funcionando<\/h3>\n<pre class=\"dev-code\">using BjfChart;\nusing BjfChart.Indicators;\nusing BjfChart.Models;\n\nvar chart = new ChartControl { Dock = DockStyle.Fill };\nform.Controls.Add(chart);\n\nchart.SetData(myCandles);                          <span class=\"c\">\/\/ IEnumerable&lt;Candle&gt;<\/span>\nchart.AddIndicator(\"ema\");\nchart.AddIndicator(\"bb\");\nchart.AddIndicator(\"macd\");                        <span class=\"c\">\/\/ draws in its own sub-panel<\/span>\nchart.AddIndicator(new RsiIndicator(21));          <span class=\"c\">\/\/ or by type, with custom parameters<\/span>\n\nchart.CandleInterval = TimeSpan.FromMinutes(15);   <span class=\"c\">\/\/ enables auto-bucketing<\/span>\nchart.FeedTick(DateTime.UtcNow, price, volume);    <span class=\"c\">\/\/ rolls a new candle at each boundary<\/span>\n\nchart.StartDrawing(DrawingKind.FibRetracement);    <span class=\"c\">\/\/ next drag draws a fib retracement<\/span>\nchart.SaveLayout(@\"C:\\layouts\\eurusd.json\");\n\n<span class=\"g\">\/\/ Trading panel wired to your execution layer<\/span>\nvar panel = new TradingPanel { Dock = DockStyle.Right, Symbol = \"EURUSD\" };\npanel.AttachChart(chart);                          <span class=\"c\">\/\/ draws entry \/ SL \/ TP lines on the chart<\/span>\npanel.OrderSubmitted += (s, req) =&gt; myExecutionEngine.Send(req);\npanel.PositionModified += (s, pos) =&gt; broker.Modify(pos);   <span class=\"c\">\/\/ after a drag of SL or TP<\/span><\/pre>\n<p>Tudo o que est\u00e1 no c\u00f3digo tamb\u00e9m pode ser acessado pelo menu do bot\u00e3o direito no gr\u00e1fico: adicionar ou remover indicadores, escolher uma ferramenta de desenho, gerenciar sobreposi\u00e7\u00f5es, trocar o tema, salvar ou carregar um layout. Para compilar, a biblioteca exige Windows e o .NET SDK 8.0 ou superior; o NuGet restaura o SkiaSharp automaticamente. Est\u00e1 inclu\u00edda uma aplica\u00e7\u00e3o de demonstra\u00e7\u00e3o execut\u00e1vel com ticks em tempo real simulados.<\/p>\n<div class=\"dev-note\"><strong>Usando o BjfChart no seu produto.<\/strong> A biblioteca \u00e9 licenciada para desenvolvedores do SharpTrader, parceiros white-label e fornecedores de terminais de terceiros. Para d\u00favidas de uso, termos de licenciamento, uma vers\u00e3o de demonstra\u00e7\u00e3o ou ajuda para integr\u00e1-la ao seu feed de dados, entre em contato diretamente pelos dados abaixo. Informe qual alvo .NET voc\u00ea usa e como \u00e9 sua fonte de dados, e responderemos em at\u00e9 um dia \u00fatil.<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- CONTACT                                                      --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"contact\">Contatos para desenvolvedores<\/h2>\n<p>Todas as d\u00favidas de desenvolvedores v\u00e3o para a mesma equipe que constr\u00f3i a plataforma. Para d\u00favidas sobre a API de bots e a EasyFIX, informe sua vers\u00e3o do SharpTrader e o tipo de conta; para o BjfChart, informe seu alvo .NET e o feed de dados.<\/p>\n<table class=\"dev-contact\">\n<tbody>\n<tr>\n<td><span class=\"k\">E-mail<\/span><span class=\"v\"><a href=\"mailto:support@bjftradinggroup.com\">support@bjftradinggroup.com<\/a><\/span><span class=\"s\">Ideal para exemplos de c\u00f3digo, especifica\u00e7\u00f5es e licenciamento<\/span><\/td>\n<td><span class=\"k\">Telefone<\/span><span class=\"v\"><a href=\"tel:+19055995507\">+1 (905) 599-5507<\/a><\/span><span class=\"s\">Segunda a sexta, das 9:00 \u00e0s 18:00, hor\u00e1rio do Leste (Toronto)<\/span><\/td>\n<td><span class=\"k\">Telegram<\/span><span class=\"v\"><a href=\"https:\/\/t.me\/bjftradinggroup\">t.me\/bjftradinggroup<\/a><\/span><span class=\"s\">Perguntas r\u00e1pidas e acompanhamentos<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>BJF Trading Group Inc., 3397 Mistwell Crescent, Oakville, ON, L6L 0A2, Canad\u00e1. Contatos gerais: <a href=\"https:\/\/bjftradinggroup.com\/contacts\/\">p\u00e1gina de contato<\/a>.<\/p>\n<p><!-- ============================================================ --><br \/>\n<!-- FAQ                                                          --><br \/>\n<!-- ============================================================ --><\/p>\n<h2 id=\"faq\">Perguntas frequentes<\/h2>\n<div class=\"dev-faq\">\n<details>\n<summary>Qual linguagem os bots do SharpTrader usam?<\/summary>\n<div class=\"a\">C#. Um bot \u00e9 uma classe que herda a classe base Bot da plataforma e implementa manipuladores de eventos para inicializa\u00e7\u00e3o, ticks, mudan\u00e7as de posi\u00e7\u00e3o e atualiza\u00e7\u00f5es de status de ordens. Ele \u00e9 compilado dentro do SharpTrader e executado junto com as estrat\u00e9gias integradas.<\/div>\n<\/details>\n<details>\n<summary>Um bot pode operar v\u00e1rios brokers ou exchanges ao mesmo tempo?<\/summary>\n<div class=\"a\">Sim. Toda chamada de dados de mercado e de ordens recebe um \u00edndice de sess\u00e3o, e uma sess\u00e3o \u00e9 uma conta conectada em um broker ou exchange. Um bot pode ler cota\u00e7\u00f5es de uma sess\u00e3o e enviar ordens para outra, e \u00e9 assim que se escreve l\u00f3gica com v\u00e1rios brokers e entre exchanges.<\/div>\n<\/details>\n<details>\n<summary>O que \u00e9 a EasyFIX API e para quem ela \u00e9?<\/summary>\n<div class=\"a\">A EasyFIX \u00e9 um protocolo FIX simplificado que permite a softwares externos se conectarem ao SharpTrader como gateway de execu\u00e7\u00e3o. Ela \u00e9 para desenvolvedores que mant\u00eam seu pr\u00f3prio motor fora da plataforma e querem receber cota\u00e7\u00f5es e enviar ordens pelos conectores de brokers e exchanges do SharpTrader. A especifica\u00e7\u00e3o e uma conex\u00e3o de teste s\u00e3o fornecidas mediante solicita\u00e7\u00e3o.<\/div>\n<\/details>\n<details>\n<summary>O BjfChart est\u00e1 dispon\u00edvel separadamente do SharpTrader?<\/summary>\n<div class=\"a\">Sim. O BjfChart \u00e9 uma biblioteca .NET independente, uma \u00fanica DLL para net48 e net8.0-windows, constru\u00edda sobre SkiaSharp. Ela \u00e9 licenciada para desenvolvedores do SharpTrader, parceiros white-label e fornecedores de terminais. Entre em contato com support@bjftradinggroup.com para termos e uma vers\u00e3o de demonstra\u00e7\u00e3o.<\/div>\n<\/details>\n<details>\n<summary>O painel de trading do BjfChart executa ordens?<\/summary>\n<div class=\"a\">N\u00e3o. O painel dispara eventos (ordem enviada, fechamento de posi\u00e7\u00e3o solicitado, posi\u00e7\u00e3o modificada ap\u00f3s arrastar o stop-loss ou o take-profit) e a aplica\u00e7\u00e3o host os encaminha para sua pr\u00f3pria camada de execu\u00e7\u00e3o, como uma sess\u00e3o FIX API, uma ponte com o broker ou o SharpTrader via EasyFIX.<\/div>\n<\/details>\n<details>\n<summary>Posso adicionar meus pr\u00f3prios indicadores ao BjfChart?<\/summary>\n<div class=\"a\">Sim. Implemente a interface IIndicator ou crie uma subclasse de IndicatorBase, retorne uma ou mais s\u00e9ries alinhadas \u00e0 lista de candles, escolha a renderiza\u00e7\u00e3o em sobreposi\u00e7\u00e3o ou em subpainel e registre o indicador para que ele apare\u00e7a no menu do bot\u00e3o direito e seja salvo nos layouts.<\/div>\n<\/details>\n<details>\n<summary>O c\u00f3digo-fonte do SharpTrader ou do BjfChart est\u00e1 \u00e0 venda?<\/summary>\n<div class=\"a\">N\u00e3o. A BJF Trading Group licencia vers\u00f5es compiladas e fornece acesso \u00e0 API, documenta\u00e7\u00e3o e suporte. O c\u00f3digo-fonte n\u00e3o \u00e9 vendido nem divulgado em nenhum programa.<\/div>\n<\/details>\n<\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- Newsletter signup                                            --><br \/>\n<!-- ============================================================ --><\/p>\n<div class=\"dev-signup\">\n<h3>Assine as pesquisas de trading da BJF<\/h3>\n<p>Novos artigos, estudos e lan\u00e7amentos de produtos, entregues assim que os publicamos.<\/p>\n<div class='_form_31'><\/div><script type='text\/javascript' src='https:\/\/bjftradinggroup.activehosted.com\/f\/embed.php?static=0&id=31&6AC497C5DB2C0&nostyles=0&preview=0'><\/script><\/div>\n<p><!-- ============================================================ --><br \/>\n<!-- FINAL CTA                                                    --><br \/>\n<!-- ============================================================ --><\/p>\n<div class=\"dev-cta\">\n<h2>Conte-nos o que voc\u00ea est\u00e1 construindo<\/h2>\n<p>Um bot para uma peculiaridade espec\u00edfica de um broker, um motor externo que precisa de um gateway de execu\u00e7\u00e3o ou um terminal que precisa de gr\u00e1ficos at\u00e9 sexta-feira. Um e-mail com os detalhes, uma resposta com o pr\u00f3ximo passo.<\/p>\n<p><a class=\"dev-btn\" href=\"mailto:support@bjftradinggroup.com\">Enviar e-mail \u00e0 equipe de desenvolvimento<\/a> <a class=\"dev-btn-ghost\" href=\"https:\/\/t.me\/bjftradinggroup\">Fale conosco no Telegram<\/a><\/p>\n<\/div>\n<p class=\"dev-disc\">A BJF Trading Group Inc. desenvolve ferramentas de software para traders e desenvolvedores experientes. N\u00e3o somos uma corretora, institui\u00e7\u00e3o financeira ou consultora de investimentos, e n\u00e3o executamos opera\u00e7\u00f5es nem administramos fundos. Os exemplos de c\u00f3digo desta p\u00e1gina s\u00e3o ilustrativos e podem diferir da refer\u00eancia atual da biblioteca; consulte sempre a documenta\u00e7\u00e3o da sua vers\u00e3o da plataforma. Operar forex, CFDs e criptomoedas envolve alto risco de perda e n\u00e3o \u00e9 adequado para todos os investidores. Nada nesta p\u00e1gina constitui aconselhamento financeiro ou promessa de lucro.<\/p>\n<\/div>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\"@type\":\"Question\",\"name\":\"Which language do SharpTrader bots use?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"C#. A bot is a class that inherits the platform's base Bot class and implements event handlers for initialization, ticks, position changes and order status updates. It is compiled inside SharpTrader and runs alongside the built-in strategies.\"}},\n    {\"@type\":\"Question\",\"name\":\"Can one SharpTrader bot trade several brokers or exchanges at the same time?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Every market data and order call takes a session index, and a session is one connected broker or exchange account. A bot can read quotes from one session and send orders to another.\"}},\n    {\"@type\":\"Question\",\"name\":\"What is the EasyFIX API and who is it for?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"EasyFIX is a simplified FIX protocol that lets external software connect to SharpTrader as an execution gateway, receiving quotes and sending orders through SharpTrader's broker and exchange connectors. The specification and a test connection are provided on request.\"}},\n    {\"@type\":\"Question\",\"name\":\"Is BjfChart available separately from SharpTrader?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. BjfChart is a standalone .NET charting library, a single DLL targeting net48 and net8.0-windows, built on SkiaSharp. It is licensed to SharpTrader developers, white-label partners and terminal vendors; contact support@bjftradinggroup.com for terms and a demo build.\"}},\n    {\"@type\":\"Question\",\"name\":\"Does the BjfChart trading panel execute orders?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. The panel raises events for order submission, position close and position modification, and the host application routes them to its own execution layer such as a FIX API session, a broker bridge or SharpTrader through EasyFIX.\"}},\n    {\"@type\":\"Question\",\"name\":\"Can I add my own indicators to BjfChart?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Implement the IIndicator interface or subclass IndicatorBase, return series aligned to the candle list, choose overlay or sub-panel rendering, and register the indicator so it appears in the menu and in saved layouts.\"}},\n    {\"@type\":\"Question\",\"name\":\"Is the source code of SharpTrader or BjfChart for sale?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. BJF Trading Group licenses compiled builds and provides API access, documentation and support. Source code is not sold or disclosed under any program.\"}}\n  ],\n  \"speakable\": {\"@type\":\"SpeakableSpecification\",\"cssSelector\":[\".dev-hero h1\",\".dev-tbl\"]}\n}\n<\/script><br \/>\n<\/p>","protected":false},"excerpt":{"rendered":"<p>Para desenvolvedores &middot; Plataforma SharpTrader Desenvolva sobre o SharpTrader: API de bots em C#, conectividade EasyFIX e a biblioteca de gr\u00e1ficos BjfChart O SharpTrader \u00e9 uma plataforma de trading feita para traders, n\u00e3o para brokers, e est\u00e1 aberta a quem escreve c\u00f3digo para eles. Escreva suas pr\u00f3prias estrat\u00e9gias em C# dentro da plataforma, conecte seu software externo ao motor de execu\u00e7\u00e3o por meio da EasyFIX API ou integre nossa biblioteca de gr\u00e1ficos de candles acelerada&hellip;<\/p>\n","protected":false},"author":1,"featured_media":8077,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-ai-custom.php","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-8075","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.6 (Yoast SEO v28.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Para desenvolvedores<\/title>\n<meta name=\"description\" content=\"Crie bots de trading em C# no SharpTrader, conecte seu software pela EasyFIX API e integre a biblioteca de gr\u00e1ficos BjfChart ao seu terminal .NET.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bjftradinggroup.com\/pt\/developers\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Para desenvolvedores\" \/>\n<meta property=\"og:description\" content=\"Crie bots de trading em C# no SharpTrader, conecte seu software pela EasyFIX API e integre a biblioteca de gr\u00e1ficos BjfChart ao seu terminal .NET.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bjftradinggroup.com\/pt\/developers\/\" \/>\n<meta property=\"og:site_name\" content=\"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-25T15:46:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2024\/08\/developer.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/\",\"name\":\"Para desenvolvedores\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/developer.jpg\",\"datePublished\":\"2024-08-28T17:20:14+00:00\",\"dateModified\":\"2026-09-25T15:46:18+00:00\",\"description\":\"Crie bots de trading em C# no SharpTrader, conecte seu software pela EasyFIX API e integre a biblioteca de gr\u00e1ficos BjfChart ao seu terminal .NET.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/developer.jpg\",\"contentUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/developer.jpg\",\"width\":1024,\"height\":1024,\"caption\":\"for developers\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/developers\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bjftradinggroup.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"For Developers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#website\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/\",\"name\":\"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.\",\"description\":\"FX Software pioneer since 2000\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bjftradinggroup.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#organization\",\"name\":\"BJF Trading Group Inc.\",\"legalName\":\"BJF Trading Group Inc.\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/logo.png\",\"width\":512,\"height\":512},\"foundingDate\":\"2000\",\"founder\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/about-boris-fesenko\\\/#person\"},\"address\":{\"@type\":\"PostalAddress\",\"addressRegion\":\"Ontario\",\"addressCountry\":\"CA\"},\"contactPoint\":[{\"@type\":\"ContactPoint\",\"contactType\":\"customer support\",\"email\":\"support@bjftradinggroup.com\",\"availableLanguage\":[\"English\",\"German\",\"Japanese\",\"Korean\",\"Spanish\",\"Portuguese\",\"Arabic\",\"Indonesian\",\"Vietnamese\"]}],\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/bjftradinggroup\",\"https:\\\/\\\/twitter.com\\\/BjfGroup\",\"https:\\\/\\\/www.youtube.com\\\/@bjftradinggroup\",\"https:\\\/\\\/t.me\\\/bjftradinggroup\",\"https:\\\/\\\/instagram.com\\\/bjftradinggroup\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/bjf-trading-group\\\/\"],\"knowsAbout\":[\"Forex arbitrage\",\"Cryptocurrency arbitrage\",\"Latency arbitrage\",\"News trading\",\"FIX API trading\",\"High-frequency trading\",\"Lock arbitrage\",\"Hedge arbitrage\",\"Pair trading\",\"Algorithmic trading software\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Para desenvolvedores","description":"Crie bots de trading em C# no SharpTrader, conecte seu software pela EasyFIX API e integre a biblioteca de gr\u00e1ficos BjfChart ao seu terminal .NET.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bjftradinggroup.com\/pt\/developers\/","og_locale":"pt_PT","og_type":"article","og_title":"Para desenvolvedores","og_description":"Crie bots de trading em C# no SharpTrader, conecte seu software pela EasyFIX API e integre a biblioteca de gr\u00e1ficos BjfChart ao seu terminal .NET.","og_url":"https:\/\/bjftradinggroup.com\/pt\/developers\/","og_site_name":"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.","article_modified_time":"2026-09-25T15:46:18+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2024\/08\/developer.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Tempo estimado de leitura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/bjftradinggroup.com\/developers\/","url":"https:\/\/bjftradinggroup.com\/developers\/","name":"Para desenvolvedores","isPartOf":{"@id":"https:\/\/bjftradinggroup.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bjftradinggroup.com\/developers\/#primaryimage"},"image":{"@id":"https:\/\/bjftradinggroup.com\/developers\/#primaryimage"},"thumbnailUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2024\/08\/developer.jpg","datePublished":"2024-08-28T17:20:14+00:00","dateModified":"2026-09-25T15:46:18+00:00","description":"Crie bots de trading em C# no SharpTrader, conecte seu software pela EasyFIX API e integre a biblioteca de gr\u00e1ficos BjfChart ao seu terminal .NET.","breadcrumb":{"@id":"https:\/\/bjftradinggroup.com\/developers\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bjftradinggroup.com\/developers\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/bjftradinggroup.com\/developers\/#primaryimage","url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2024\/08\/developer.jpg","contentUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2024\/08\/developer.jpg","width":1024,"height":1024,"caption":"for developers"},{"@type":"BreadcrumbList","@id":"https:\/\/bjftradinggroup.com\/developers\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bjftradinggroup.com\/"},{"@type":"ListItem","position":2,"name":"For Developers"}]},{"@type":"WebSite","@id":"https:\/\/bjftradinggroup.com\/#website","url":"https:\/\/bjftradinggroup.com\/","name":"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.","description":"FX Software pioneer since 2000","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bjftradinggroup.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/bjftradinggroup.com\/#organization","name":"BJF Trading Group Inc.","legalName":"BJF Trading Group Inc.","url":"https:\/\/bjftradinggroup.com\/","logo":{"@type":"ImageObject","url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/logo.png","width":512,"height":512},"foundingDate":"2000","founder":{"@id":"https:\/\/bjftradinggroup.com\/about-boris-fesenko\/#person"},"address":{"@type":"PostalAddress","addressRegion":"Ontario","addressCountry":"CA"},"contactPoint":[{"@type":"ContactPoint","contactType":"customer support","email":"support@bjftradinggroup.com","availableLanguage":["English","German","Japanese","Korean","Spanish","Portuguese","Arabic","Indonesian","Vietnamese"]}],"sameAs":["https:\/\/www.facebook.com\/bjftradinggroup","https:\/\/twitter.com\/BjfGroup","https:\/\/www.youtube.com\/@bjftradinggroup","https:\/\/t.me\/bjftradinggroup","https:\/\/instagram.com\/bjftradinggroup","https:\/\/www.linkedin.com\/company\/bjf-trading-group\/"],"knowsAbout":["Forex arbitrage","Cryptocurrency arbitrage","Latency arbitrage","News trading","FIX API trading","High-frequency trading","Lock arbitrage","Hedge arbitrage","Pair trading","Algorithmic trading software"]}]}},"_links":{"self":[{"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/pages\/8075","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/comments?post=8075"}],"version-history":[{"count":8,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/pages\/8075\/revisions"}],"predecessor-version":[{"id":13910,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/pages\/8075\/revisions\/13910"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/media\/8077"}],"wp:attachment":[{"href":"https:\/\/bjftradinggroup.com\/pt\/wp-json\/wp\/v2\/media?parent=8075"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}