Excel RTD
O aplicativo Excel RTD permite que você faça duas coisas:
• Coloque dados em tempo real no Excel usando apenas a função RTD() do Excel. Sem macros; sem programação; sem suplementos XLL
• Envie comandos de negociação simples do código VBA no Excel
Você pode executar várias cópias do aplicativo Excel RTD para contas diferentes e, em seguida, combinar os dados dessas contas em uma única planilha.
O aplicativo é fornecido com uma planilha de exemplo que permite inserir até 5 números de conta e, em seguida, exibe automaticamente um painel de patrimônio e saldo etc; preços dos símbolos; e uma lista consolidada de vagas em aberto.
Excel RTD
Executando o aplicativo RTD
Para colocar dados em tempo real no Excel, você precisa executar o aplicativo RTD. As fórmulas do Excel listadas abaixo fornecerão valores em branco se o aplicativo não estiver em execução.
Símbolos disponíveis
Informações sobre os seguintes símbolos estarão disponíveis no aplicativo Excel RTD:
• MT4/5: o aplicativo relatará todos os símbolos incluídos na observação de mercado da MT4/5
• Negociável: o aplicativo relatará todos os símbolos disponíveis na plataforma
• Todas as outras plataformas: você configura quais símbolos o aplicativo relata usando o menu de símbolos do aplicativo.
Fórmula do Excel
Quando o aplicativo RTD estiver em execução, você poderá usar a seguinte fórmula no Excel para inserir um feed em tempo real de dados de conta, bilhete ou preço. Você só precisa preencher o número da conta e a “propriedade” que deseja exibir:
=RTD(“FXBlueLabs.ExcelRTD”, , “ account number“, “ property“)
Por exemplo, se o número da sua conta for 156734 e você deseja exibir o saldo da conta ou o preço do lance de GBPUSD:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “balance”)=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “bidGBPUSD”)
Observe: com algumas configurações de idioma – por exemplo, polonês – o Excel pode querer que as seções da fórmula sejam separadas por ponto e vírgula em vez de vírgulas.
Por exemplo:
=RTD(“FXBlueLabs.ExcelRTD”; ; “ account number“; “ property“)
Nomes de propriedade
O aplicativo RTD fornece dados sobre a conta (por exemplo, patrimônio e saldo), preços de símbolos, “bilhetes”, histórico de barras e valores de indicadores técnicos. A lista de tickets inclui posições abertas e ordens pendentes.
Propriedades dos dados da conta
|
Propriedade |
Significado |
|
currency |
A moeda de depósito da conta |
|
balance |
Saldo da conta |
|
Equity |
Patrimônio da conta |
|
Pl |
Lucro/perda flutuante |
|
usedmargin |
Margem em uso |
|
Freemargin |
Margem livre |
|
tickets |
Número de “tickets”: posições abertas e ordens pendentes |
Propriedades de dados de preço e símbolo
O aplicativo fornece os preços atuais de compra e venda para todos os símbolos configurados no aplicativo. Por exemplo, se o nome do símbolo no qual você está interessado for EURUSD, o nome da propriedade para seu preço de venda será askEURUSD.
Por exemplo:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “askEURUSD”)
|
Propriedade |
Significado |
|
bidSymbol |
Preço de lance do símbolo |
|
askSymbol |
Pergunte o preço do símbolo |
|
highSymbol |
Alta diária do símbolo. Não disponível em todas as plataformas. A definição do início do dia (por exemplo, GMT ou algum outro fuso horário) |
|
lowSymbol |
Baixa diária do símbolo. Não disponível em todas as plataformas. A definição do início do dia (por exemplo, GMT ou algum outro fuso horário) depende da corretora/plataforma. |
O aplicativo também fornece uma contagem e uma lista de todos os símbolos configurados. Por exemplo, as fórmulas a seguir retornam o número de símbolos disponíveis e o nome do 5º símbolo da lista (que pode estar em qualquer ordem):
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “symbols”)
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “s5”)
|
Propriedade |
Significado |
|
symbols |
Número de símbolos |
|
sN |
Nome do enésimo símbolo, por exemplo EURUSD. O valor N é um índice entre 1 e o número total de símbolos |
Propriedades dos dados do ticket
O aplicativo fornece as seguintes informações sobre cada “ticket”, ou seja, cada posição aberta e ordem pendente. O valor N em cada nome de propriedade é um índice entre 1 e o número total de tickets (relatado pela propriedade tickets).
Por exemplo, você pode obter o nome do símbolo e o lucro líquido do 2º ticket (se houver) usando as seguintes fórmulas:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “t2s”)=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “t2npl”)
|
Propriedade |
Significado |
|
tNt |
Número do ticket, ou seja, o ID da posição aberta ou ordem pendente |
|
tNa |
Action: BUY, SELL, BUYLIMIT, SELLLIMIT, BUYSTOP, SELLSTOP |
|
tNs |
Nome do símbolo |
|
tNv |
Volume |
|
tNnpl |
Lucro líquido (lucro bruto + comissão + swap). Não aplicável em pedidos pendentes e reportado como zero. |
|
tNpl |
Lucro bruto. Não aplicável em pedidos pendentes e reportado como zero. |
|
tNswap |
Swap. Não aplicável em pedidos pendentes e reportado como zero. |
|
tNcomm |
Comissão. Não aplicável em pedidos pendentes e reportado como zero. |
|
tNsl |
Preço de stop loss |
|
tNtp |
Preço de Take-profit |
|
tNop |
Preço de abertura/entrada |
|
tNcp |
Preço atual do símbolo |
|
tNcm |
Comentário da ordem |
|
tNmg |
Número mágico do pedido (somente MetaTrader 4) |
|
tNot |
Tempo aberto (como número de segundos desde 01/01/1970) |
Histórico de barras
Você pode usar o aplicativo Excel RTD para solicitar o histórico de preços recente da plataforma. Todos os valores são preços de oferta. (Observe que esse histórico de preços não está disponível na plataforma negociável.)
O nome da propriedade para o histórico de barras é o seguinte: @bh,symbol,timeframe,data,shift. Por exemplo, a fórmula a seguir mostra a alta da barra atual EUR/USD H1:
=RTD(“FXBlueLabs.ExcelRTD”, ,”156734″, “@bh,EURUSD,H1,high,0”)
Valor do período de tempo
O período de tempo da barra pode ser especificado como um número de minutos – por exemplo, 60 para barras horárias – ou você pode usar notações padrão como H1 ou M3. Os prazos disponíveis são os seguintes:
|
Período |
Valor do período de tempo |
|
M1 |
1 |
|
M2 |
2 |
|
M3 |
3 |
|
M4 |
4 |
|
M5 |
5 |
|
M6 |
6 |
|
M10 |
10 |
|
M12 |
12 |
|
M15 |
15 |
|
M30 |
30 |
|
H1 |
60 |
|
H2 |
120 |
|
H3 |
180 |
|
H4 |
240 |
|
H6 |
360 |
|
H8 |
480 |
|
D1 |
1440 |
|
D2 |
2880 |
|
W1 |
7200 |
Dados de preço
Você pode solicitar as seguintes informações sobre cada barra:
|
Dados |
Significado |
|
time |
Hora de início da barra (no formato aaaa/mm/dd hh:mm:ss) |
|
open |
Preço de abertura |
|
high |
Máxima do preço |
|
low |
Mínima do preço |
|
close |
Preço de Fehamento |
|
range |
Variação da máxima para mínima |
|
median |
Média da máxima e da mínima |
|
typical |
“Típico” preço: média da alta, baixa e fechamento |
|
weighted |
Preço “ponderado”: média de alta, baixa, fechamento e fechamento – ou seja, ponderação dupla no valor de fechamento |
|
change |
Mudança na barra: fechamento menos abertura, portanto negativo para barras descendentes e positivo para barras ascendentes |
|
abschange |
Valor de alteração absoluto, ou seja, alteração convertida para um número positivo se negativo |
Mudança de barra
A parte final da fórmula do histórico de preços é a barra “shift”, ou seja, sobre qual barra obter informações. As barras são numeradas com a mais recente em zero e aumentando em ordem de idade. Em outras palavras, a barra 0 é a barra atual em andamento; a barra 1 é a última barra completa etc.
Portanto, o preço de fechamento na barra 0 (para qualquer período de tempo) é o preço de oferta atual. Com efeito, as duas fórmulas a seguir são idênticas:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “bidGBPUSD”)=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@bh,GBPUSD,60,close,0”)
A quantidade de dados disponíveis em cada período de tempo depende da plataforma subjacente, mas normalmente será de cerca de 250 barras.
Indicadores técnicos
O aplicativo Excel RTD possui alguns cálculos de indicadores integrados que você pode solicitar usando fórmulas. Por exemplo, a fórmula a seguir mostrará o Índice de Força Relativa de 14 barras para GBP/USD M5:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@rsi,GBPUSD,M5,14,0”)
Observe que os indicadores técnicos não estão disponíveis na plataforma negociável.
O nome da propriedade de um indicador técnico começa com um nome de indicador como @rsi ou @ema e é seguido por uma lista de parâmetros separados por vírgulas.
Os dois primeiros parâmetros para um indicador são sempre o nome do símbolo e o período de tempo, que pode ser especificado como H2 ou como o número equivalente de minutos, como 120.
O último parâmetro é sempre a barra “shift”. Normalmente, você desejará usar um valor de 0 para o deslocamento, a fim de obter o valor atual do indicador, mas também pode usar um deslocamento de, por exemplo, 1 para obter o valor do indicador no final da barra anterior. (A única exceção são os indicadores de ponto de oscilação, que sempre retornam o último ponto de oscilação e não usam um parâmetro de deslocamento.)
Muitos indicadores podem ser aplicados a diferentes valores de dados de cada barra, por exemplo. o preço alto ou mesmo o intervalo da barra em vez do preço de fechamento.
Lembre-se de que as médias móveis exponenciais e cálculos semelhantes são afetados pela quantidade de barras disponíveis. Por conveniência, todos sempre se referem ao valor N em tais cálculos como “N barras” (por exemplo, “EMA de 21 barras”), mas isso não é o que realmente significa. O N é um fator de ponderação, e um cálculo como um EMA sempre analisa todo o histórico de barras que ele coletou, mas dando maior peso às barras N mais recentes. Dois cálculos de uma EMA podem ser diferentes – embora geralmente apenas em pequenas quantidades – se estiverem usando quantidades diferentes de histórico de barras.
@sma – Simple Moving Average (Média Móvel Simples)
Você pode calcular uma média móvel simples (ou seja, média aritmética) usando o indicador @sma.
Por exemplo, a fórmula a seguir faz uma média dos preços médios das últimas 10 barras em GBP/USD M5:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@sma,GBPUSD,M5,median,10,0”)
Os parâmetros do indicador são os seguintes:
|
Parâmetro |
Significado |
|
symbol |
Nome do símbolo, por exemplo GBPUSD |
|
timeframe |
Tempo da barra, como um número de minutos ou uma notação como H1 ou M3 |
|
data |
Dados a serem usados em cada barra, por exemplo perto ou alto |
|
period |
Número de barras para calcular a média sobre |
|
shift |
Deslocamento da barra, por exemplo zero para obter o valor atual do indicador |
@ema – Exponential Moving Average (Média Móvel Exponencial)
Você pode calcular uma média móvel exponencial usando o indicador @ema. Por exemplo, a fórmula a seguir faz uma média dos intervalos das últimas 21 barras em GBP/USD D1:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@ema,GBPUSD,1440,range,21,0”)
Os parâmetros do indicador são os seguintes:
|
Parâmetro |
Significado |
|
symbol |
Nome do símbolo, por exemplo GBPUSD |
|
timeframe |
Tempo da barra, como um número de minutos ou uma notação como H1 ou M3 |
|
data |
Dados a serem usados em cada barra, por exemplo perto ou alto |
|
period |
Número de barras para calcular a média sobre |
|
shift |
Deslocamento da barra, por exemplo zero para obter o valor atual do indicador |
@lwma – Linear-Weighted Moving Average (Média Móvel Ponderada Linear)
Você pode calcular uma média móvel ponderada linear usando o indicador @lwma. Por exemplo, a fórmula a seguir faz uma média dos intervalos das últimas 21 barras em GBP/USD D1:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@lwma,GBPUSD,1440,range,21,0”)
Os parâmetros do indicador são os seguintes:
|
Parâmetro |
Significado |
|
symbol |
Nome do símbolo, por exemplo GBPUSD |
|
timeframe |
Tempo da barra, como um número de minutos ou uma notação como H1 ou M3 |
|
data |
Dados a serem usados em cada barra, por exemplo fechamento ou máxima |
|
period |
Número de barras para calcular a média sobre |
|
shift |
Deslocamento da barra, por exemplo zero para obter o valor atual do indicador |
@macd e @macdsig – MACD
Você pode calcular o MACD (a diferença entre uma EMA “rápida” e uma EMA “lenta”) usando o indicador @macd. Você também pode usar @macdsig para obter o valor de “sinal” suavizado do indicador MACD.
Por exemplo, a fórmula a seguir calcula o MACD para GBP/USD M30, usando a EMA rápida padrão de 12 barras e uma EMA lenta de 26 barras e aplicando o cálculo ao preço alto de cada barra:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@macd,GBPUSD,30,high,12,26,9,0”)
Os parâmetros do indicador são os seguintes:
|
Parâmetro |
Significado |
|
symbol |
Nome do símbolo, por exemplo GBPUSD |
|
timeframe |
Tempo da barra, como um número de minutos ou uma notação como H1 ou M3 |
|
data |
Dados a serem usados em cada barra, por exemplo fechamento ou máxima |
|
fast |
Número de barras para o EMA rápido |
|
slow |
Número de barras para a EMA lenta |
|
slowing |
Período de suavização para o valor do sinal |
|
shift |
Deslocamento da barra, por exemplo zero para obter o valor atual do indicador |
Average True Range
Você pode calcular o intervalo real médio usando o indicador @atr. Por exemplo, a fórmula a seguir calcula o intervalo real médio das últimas 21 barras em GBP/USD D1:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@atr,GBPUSD,D1,21,0”)
Os parâmetros do indicador são os seguintes:
|
Parâmetro |
Significado |
|
symbol |
Nome do símbolo, por exemplo GBPUSD |
|
timeframe |
Tempo da barra, como um número de minutos ou uma notação como H1 ou M3 |
|
period |
Número de barras para calcular a média sobre |
|
shift |
Deslocamento da barra, por exemplo zero para obter o valor atual do indicadorr |
@rsi – Relative Strength Index
Você pode calcular o Índice de Força Relativa usando o indicador @rsi. Por exemplo, a fórmula a seguir calcula o RSI de 14 barras em USD/JPY M3:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@atr,USDJPY,3,14,0”)
Os parâmetros do indicador são os seguintes:
|
Parâmetro |
Significado |
|
symbol |
Nome do símbolo, por exemplo GBPUSD |
|
timeframe |
Tempo da barra, como um número de minutos ou uma notação como H1 ou M3 |
|
period |
Número de barras para calcular a média sobre |
|
shift |
Deslocamento da barra, por exemplo zero para obter o valor atual do indicador |
@stoch e @stochslow – Stochastic Oscillator
Você pode calcular o oscilador estocástico usando o indicador @stoch. Você também pode calcular o valor do “sinal” lento para o indicador usando @stochslow.
Por exemplo, a fórmula a seguir calcula o oscilador em barras GBP/USD H2, usando parâmetros padrão de (5,3,3) – ou seja, período K de 5, período D de 5, valor de desaceleração de 3.
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@stoch,GBPUSD,120,5,3,3,0”)
Os parâmetros do indicador são os seguintes:
|
Parâmetro |
Significado |
|
symbol |
Nome do símbolo, por exemplo GBPUSD |
|
timeframe |
Tempo da barra, como um número de minutos ou uma notação como H1 ou M3 |
|
k |
Período K para o cálculo |
|
d |
D período para o cálculo |
|
slowing |
Período de desaceleração (média móvel dos valores D) |
|
shift |
Deslocamento da barra, por exemplo zero para obter o valor atual do indicador |
@bbupper e @bblower – Bandas de Bollinger
Você pode calcular as bandas “Bollinger” – uma média móvel simples mais/menos um número de desvios padrão – usando os indicadores @bbupper e @bblower.
Por exemplo, a fórmula a seguir calcula a banda superior em GBP/USD M10, usando uma média dos preços de fechamento nas últimas 30 barras e 2 desvios padrão:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@bbupper,GBPUSD,10,close,30,2,0”)
Os parâmetros do indicador são os seguintes:
|
Parâmetro |
Significado |
|
symbol |
Nome do símbolo, por exemplo GBPUSD |
|
timeframe |
Tempo da barra, como um número de minutos ou uma notação como H1 ou M3 |
|
data |
Dados a serem usados em cada barra, por exemplo fechamento ou máxima |
|
period |
Número de barras para calcular a média |
|
deviations |
Número de desvios padrão a serem calculados (por exemplo, 2) |
|
shift |
Deslocamento da barra, por exemplo zero para obter o valor atual do indicador |
@vol – Volatilidade (desvio padrão)
Você pode calcular a volatilidade – ou seja, 1 desvio padrão – usando o indicador @vol.
Por exemplo, a fórmula a seguir calcula a volatilidade dos últimos 21 intervalos de barras em GBP/USD M10:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@vol,GBPUSD,10,range,21,0”)
Os parâmetros do indicador são os seguintes:
|
Parâmetro |
Significado |
|
symbol |
Nome do símbolo, por exemplo GBPUSD |
|
timeframe |
Tempo da barra, como um número de minutos ou uma notação como H1 ou M3 |
|
data |
Dados a serem usados em cada barra, por exemplo fechamento ou máxima |
|
period |
Número de barras para calcular a média |
|
shift |
Deslocamento da barra, por exemplo zero para obter o valor atual do indicador |
@cci – Índice de canal de commodities
Você pode calcular o Índice de Canal de Commodities usando o @cci indicator.
Por exemplo, a fórmula a seguir calcula o CCI usando o preço de barra típico para as últimas 14 barras em EUR/USD H1:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@cci,EURUSD,60,typical,14,0”)
Os parâmetros do indicador são os seguintes:
|
Parâmetro |
Significado |
|
symbol |
Nome do símbolo, por exemplo GBPUSD |
|
timeframe |
Tempo da barra, como um número de minutos ou uma notação como H1 ou M3 |
|
data |
Dados a serem usados em cada barra, por exemplo fechamento ou máxima |
|
period |
Número de barras para calcular a média |
|
shift |
Deslocamento da barra, por exemplo zero para obter o valor atual do indicador |
@high – Maior valor de barra
Você pode calcular o mais alto valor de uma série de valores de barra usando o indicador @high. Por exemplo, a fórmula a seguir calcula a máxima mais alta durante as últimas 20 barras GBP/USD D1:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@high,GBPUSD,D1,high,20,0”)
O indicador pode ser aplicado a qualquer dado de barra. Por exemplo, você pode encontrar a maior baixa e a maior alta. Você também pode usá-lo para encontrar a barra com o maior intervalo ou alteração.
Os parâmetros do indicador são os seguintes:
|
Parâmetro |
Significado |
|
symbol |
Nome do símbolo, por exemplo GBPUSD |
|
timeframe |
Tempo de barra, como um número de minutos ou uma notação como H1 ou M3 |
|
data |
Dados a serem usados em cada barra, por exemplo fechamento ou máxima |
|
period |
Número de barras para calcular a média |
|
shift |
Deslocamento da barra, por exemplo zero para obter o valor atual do indicador |
@low – Valor de barra mais baixo
Você pode calcular o menor valor de uma série de valores de barra usando o indicador @low. O indicador pode ser aplicado a qualquer dado de barra. Por exemplo, você pode encontrar a máxima mais baixa, bem como a mínima mais baixa. Você também pode usá-lo para encontrar a barra com o menor intervalo ou alteração.
A fórmula a seguir calcula o menor intervalo de barras D1 durante as últimas 20 barras GBP/USD D1:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@low,GBPUSD,D1,range,20,0”)
Os parâmetros do indicador são os seguintes:
|
Parâmetro |
Significado |
|
symbol |
Nome do símbolo, por exemplo GBPUSD |
|
timeframe |
Tempo da barra, como um número de minutos ou uma notação como H1 ou M3 |
|
data |
Dados a serem usados em cada barra, por exemplo fechamento ou máxima |
|
period |
Número de barras para calcular a média |
|
shift |
Deslocamento da barra, por exemplo zero para obter o valor atual do indicador |
@swingh e @swingl – Pontos de oscilação (“fractais”)
Você pode calcular os pontos de oscilação mais recentes usando os indicadores @swingh e @swingl. Um ponto de oscilação é definido como uma barra com máximos mais baixos em ambos os lados (ou mínimos mais altos, para @swingl). Esses pontos de oscilação são semelhantes ao indicador MT4 “Fractals”.
Por exemplo, as fórmulas a seguir encontram os preços mais recentes de swing-high e swing-low no GBP/USD M5, usando uma oscilação de 5 barras (2 barras de cada lado do ponto de oscilação) e não permitindo uma oscilação “não confirmada” envolvendo o valor atual bar:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@swingh,GBPUSD,M5,high,2,0”)=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@swingl,GBPUSD,M5,low,2,0”)
Os parâmetros do indicador são os seguintes. Observe que @swingh e @swingl não possuem um parâmetro de “shift” de barra; eles retornam apenas o preço de oscilação mais recente.
|
Parâmetro |
Significado |
|
symbol |
Nome do símbolo, por exemplo GBPUSD |
|
timeframe |
Tempo da barra, como um número de minutos ou uma notação como H1 ou M3 |
|
data |
Dados a serem usados em cada barra. Você normalmente usa “high” com @swingh e “low” com @swingl. No entanto, você pode usar qualquer valor; por exemplo, você pode usar “high” com @swingl para encontrar uma barra que tenha uma máxima mais baixa do que as barras ao seu redor. |
|
swingbars |
Número de barras superiores/inferiores necessárias em ambos os lados da barra oscilante. O valor usual é 2, para um swing de cinco barras que consiste em dois altos/baixos mais baixos de cada lado da barra de swing, mas você pode usar qualquer valor de 1 (ou seja, swing de três barras) para cima |
|
unconfirmed |
Ou 0 ou 1. Zero ignora a barra atual e só permite oscilações “confirmadas”. 1 inclui a barra atual e permite oscilações “não confirmadas” que podem mudar dependendo dos movimentos de preços durante a barra atual. |
@keltupper e @keltlower – Canais Keltner
Você pode calcular os canais Keltner usando os indicadores @kelternupper e @keltnerlower. Um canal Keltner é uma média móvel exponencial mais/menos o alcance verdadeiro médio.
Por exemplo, a fórmula a seguir calcula o canal Keltner mais baixo em GBP/USD H1, usando uma EMA de 20 barras menos metade de ATR de 10 barras:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@keltlower,GBPUSD,60,close,20,10,0.5,0”)
Como os canais Keltner são simplesmente uma combinação de EMA e ATR, a fórmula acima é equivalente ao seguinte:
=RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@ema,GBPUSD,60,close,20,0”) –(RTD(“FXBlueLabs.ExcelRTD”, , “156734”, “@atr,GBPUSD,60,10,0”) * 0.5)
Os parâmetros do indicador são os seguintes:
|
Parâmetro |
Significado |
|
symbol |
Nome do símbolo, por exemplo GBPUSD |
|
timeframe |
Tempo da barra, como um número de minutos ou uma notação como H1 ou M3 |
|
data |
Dados a serem usados em cada barra, por exemplo próximo ou alto, para calcular o EMA |
|
emaPeriod |
Número de barras a serem usadas para o EMA |
|
atrPeriod |
Número de barras a serem usadas para o ATR |
|
atrMultiple |
Múltiplos de ATR para adicionar/subtrair da EMA |
|
shift |
Deslocamento da barra, por exemplo zero para obter o valor atual do indicador |
Outras propriedades
Outros itens de dados variados fornecidos pelo aplicativo Excel RTD são os seguintes:
|
Propriedade |
Significado |
|
LastUpdateTime |
Hora da última atualização do aplicativo RTD. Irá relatar 01/01/2000 se o aplicativo RTD não estiver em execução para a conta. |
Nomes de símbolos e padronização
Por padrão, o aplicativo RTD usa nomes de símbolos padronizados. Eles podem ser diferentes dos nomes dos símbolos que seu corretor usa em sua plataforma de negociação. Por exemplo, os nomes dos símbolos do seu corretor podem ter um sufixo como cx ou mn, por exemplo EURUSDcx ou EURUSDmn.
Por padrão, todos os símbolos forex são convertidos para o formato AAABBB. Por exemplo, um nome como EURUSDnm ou EUR/USD será convertido por padrão em EURUSD. Você pode desativar essa padronização desmarcando a opção “Usar nomes de símbolos padronizados” no aplicativo.
Essa configuração destina-se a planilhas em que você está coletando dados de várias contas em diferentes corretores/plataformas (executando várias cópias do aplicativo RTD) e os corretores/plataformas usam nomes de símbolos diferentes.
Por exemplo, você pode ter algo como a planilha a seguir, onde há números de contas nas colunas B em diante e nomes de símbolos nas linhas 2 em diante. Você pode então ter uma fórmula que usa os nomes dos símbolos na coluna A sem ter que ajustar para um conta usando EUR/USD e a outra usando EURUSDfx etc.
|
A |
B |
C |
|
|
1 |
Símbolo/Conta |
12376522 |
265823654 |
|
2 |
EURUSD |
[Veja abaixo] |
|
|
3 |
GBPUSD |
Na célula B2: =RTD(“FXBlueLabs.ExcelRTD”, , B$1, CONCATENATE(“bid”, $A2))
Você poderia então preencher a fórmula da célula B2 para B3, C2 etc e as referências da célula se ajustariam automaticamente.
(A função CONCATENATE do excel simplesmente une duas peças. No exemplo acima está juntando o texto “bid” com o nome do símbolo na coluna A, para produzir o nome da propriedade bidEURUSD ou bidGBPUSD.)
Volumes dos Tickets
O aplicativo RTD informa os volumes nos tickets como volume nominal, não como tamanho de lote. Por exemplo, um tamanho de 0,20 lotes será relatado como um volume de 20.000.
(A menos que você esteja usando algo como uma mini conta MT4 com um tamanho de lote de 10K em vez de 100K, caso em que 0,20 lotes seriam 2.000 em vez de 20.000.)
EXCEL RTD
O aplicativo RTD também pode ser usado para enviar comandos de negociação simples do código VBA no Excel.
Você também pode ler programaticamente os mesmos dados que estão disponíveis através da função RTD.
Os recursos a seguir podem ser usados de qualquer linguagem de programação que suporte COM, não apenas do VBA no Excel.
Lendo dados no código VBA
Você pode ler dados programaticamente usando o objeto FXBlueLabs.ExcelReader.
Por exemplo:
Definir leitor = CreateObject(“FXBlueLabs.ExcelReader”)
reader.Connect (“156734”)
MsgBox reader.Read(“balance”)
Em outras palavras: você cria uma instância do objeto XBlueLabs.ExcelReader; você usa a função Connect() para vinculá-la a um número de conta específica; e então você pode usar a função Read() para obter dados sobre a conta.
Os nomes das propriedades para a função Read() são os mesmos que os nomes das propriedades para uso com a função RTD do Excel.
Verificando se um leitor está conectado com sucesso
Você pode criar com êxito o objeto ExcelReader e chamar a função Connect() mesmo se nenhum aplicativo RTD estiver em execução para essa conta.
Para verificar se os dados estão realmente disponíveis, você pode usar Read() para certificar-se de que propriedades como balance não estejam em branco, ou você pode ler a propriedade LastUpdateTime e verificar se a hora é posterior a 1/1/2000.
Consistência de dados em várias leituras
Se você estiver consultando vários dados, principalmente vários dados de ticket, precisará ter cuidado com as atualizações e a consistência dos dados. Por exemplo, considere o seguinte código que percorre a lista de tickets:
Para i = 1 To reader.Read(“tickets”)
strSymbol = reader.Read(“t” & i & “s”)
vVolume = reader.Read(“t” & i & “v”)
Próximo
É possível que aconteça o seguinte:
•No início há 2 tickets abertos
• Entre os dois usos de Read(), ou seja, entre a execução das linhas 2 e 3, um dos tickets é fechado.
• Portanto, o que costumava ser o ticket 2 se torna o ticket 1
• Como resultado, no final do primeiro loop, strSymbol terá o símbolo do bilhete que agora está fechado, e vVolume reterá o volume do bilhete que ainda está aberto.
Para garantir a consistência ao ler vários dados, use Reader.ReaderLock(). Isso suspenderá quaisquer alterações nos dados até que você use o Reader.
ReaderUnlock(). Por exemplo:
Reader.ReaderLock()
For i = 1 To reader.Read(“tickets”)
strSymbol = reader.Read(“t” & i & “s”)
vVolume = reader.Read(“t” & i & “v”)
Next
Reader.ReaderUnlock()
Não esqueça de ligar ReaderUnlock() depois de usar ReaderLock()
Enviando comandos de negociação do Excel
Como medida de segurança, os comandos são desativados por padrão. Você deve ativar a configuração “Aceitar comandos” no aplicativo RTD para enviar comandos com sucesso. Se esta opção estiver desativada, todos os comandos retornarão “ERR:Commands not allowed”.
Você pode enviar comandos simples do Excel usando o objeto FXBlueLabs.ExcelCommand.
Por exemplo:
Set cmd = CreateObject(“FXBlueLabs.ExcelCommand”)
strResult = cmd.SendCommand(“156734”, “BUY”, “s=EURUSD|v=10000”, 5)
A função SendCommand() tem quatro parâmetros:
• O número da conta (por exemplo, 156734)
• O comando, por ex. BUY
• Parâmetros para o comando, por ex. símbolo e volume para comprar
• O número de segundos para esperar por uma resposta
SendCommand() é síncrono. Ele retorna quando o aplicativo RTD conclui o comando ou quando o período de tempo limite expira. (O tempo limite não significa que a solicitação, como uma ordem de mercado, foi retirada/cancelada. Significa apenas que a corretora/plataforma não respondeu dentro do tempo aceitável.)
O valor de retorno de SendCommand() é uma string, começando com ERR: para indicar que ocorreu um erro, ou com OKAY:. A única exceção a isso é o comando TEST, que retorna o texto HELLO.
Diferenças entre plataformas de negociação
Existem algumas pequenas diferenças nos recursos de negociação que atualmente são suportados em diferentes plataformas:
• Os “números mágicos” são válidos apenas para MT4 e MT5, e esses parâmetros serão ignorados em outras plataformas.
• Os comentários de ordens estão disponíveis apenas em algumas plataformas.
• Stop-losses e take-profits não são atualmente suportados em negociáveis.
Comandos e parâmetros
Os parâmetros de um comando são enviados como uma string delimitada por barra vertical, consistindo em várias configurações no formato nome=valor. Os parâmetros podem ser listados em qualquer ordem e alguns parâmetros são opcionais.
cmd.SendCommand(“156734”, “BUY”, “s=EURUSD|v=10000”, 5)
Os volumes de negociação são sempre especificados como quantias em dinheiro, não como tamanhos de lote. O formato dos nomes dos símbolos depende se a opção “Usar nomes de símbolos padronizados” está ativada no aplicativo RTD.
TEST command
Simplesmente retorna o texto HELLO se for bem-sucedido
Comandos BUY e SELL
Envia ordens de mercado de compra ou venda. Se for bem-sucedido, ele retornará o ID do novo ticket no formato OKAY:ticket-number
| Parâmetro | Opcional | Significado |
| s | Obrigatório | Nome do símbolo para a ordem de compra |
| v | Obrigatório | Volume de trading |
| sl | Opcional | Stop-loss preço da nova posição |
| tp | Opcional | Preço Take-profit da nova posição |
| comment | Opcional | Comentário para a nova posição |
| magic | Opcional | Número mágico para a nova posição |
Comandos BUYLIMIT, SELLLIMIT, BUYSTOP, e SELLSTOP
Envia uma nova ordem pendente. Se for bem-sucedido, ele retornará o ID do novo ticket no formato OKAY:ticket-number
| Parâmetro | Opcional | Significado |
| s | Obrigatório | Nome do símbolo para a ordem de compra |
| v | Obrigatório | Volume de Trading |
| price | Obrigatório | Preço de entrada para a ordem stop/limit pendente |
| Sl | Opcional | Preço Stop-loss da nova posição |
| tp | Opcional | Preço Take-profit da nova posição |
| comment | Opcional | Comentário para a nova posição |
| magic | Opcional | Número mágico para a nova posição |
Comando de Fechamento
Fecha uma posição aberta ou exclui uma ordem pendente. Retorna OK: OK se for bem-sucedido.
| Parâmetro | Opcional | Significado |
| t | Obrigatório | ID da posição a ser fechada ou a ordem pendente a ser excluída |
Comando Fechamento Parcial
Faz um fechamento parcial de uma posição aberta. Retorna OK: OK se for bem-sucedido. Volumes maiores que o tamanho da posição são simplesmente tratados como um fechamento completo (não como um fechamento mais um reverso para o valor restante). Não pode ser usado em pedidos pendentes.
| Parâmetro | Opcional | Significado |
| t | Obrigatório | ID da posição a ser parcialmente. fechada. |
| v | Obrigatório | Volume a ser fechado, e. 20000 |
Comando INVERSO
Você pode inverter uma posição aberta (por exemplo, inverter uma ordem de venda aberta para comprar após o fechamento).
| Parâmetro | Opcional | Significado |
| t | Obrigatório | ID da posição a ser revertida |
| v | Obrigatório | Volume de Trading |
| sl | Opcional | Preço Stop-loss para nova posição |
| tp | Opcional | Preço Take-profit para a nova posição |
| comment | Opcional | Comentário para a nova posição |
| magic | Opcional | Número mágico para a nova posição |
Comando CLOSESYMBOL
Fecha todas as posições abertas e ordens pendentes para um símbolo específico. Retorna OK: OK se for bem-sucedido.
| Parâmetro | Opcional | Significado |
| s | Obrigatório | Nome do símbolo para a ordem de compra |
Comando FECHAR Tudo
Fecha todas as posições abertas e ordens pendentes para todos os símbolos. Retorna OK: OK se for bem-sucedido. Observe que fechar tudo pode exigir um tempo limite substancial.
Por exemplo:
cmd.SendCommand(“156734”, “CLOSEALL”, “”, 20) ‘ 20-second timeout
Comando Ordem Stop-Loss
Altera o stop-loss em uma negociação aberta ou ordem pendente. Retorna OK: OK se for bem-sucedido.
| Parâmetro | Opcional | Significado |
| t | Compulsory | ID of the trade or pending order to be modified |
| tp | Obrigatório | Novo preço de take-profit ou 0 para remover qualquer take-profit existente |
Comando Modificar Ordem
Altera tanto o stop-loss quanto o take-profit em uma negociação aberta ou ordem pendente. Para pedidos pendentes, você também pode alterar o preço de entrada.
| Parâmetro | Opcional | Significado |
| t | Obrigatório | ID da negociação ou ordem pendente a ser modificada |
| p | Obrigatório para pedidos pendentes | Para pedidos pendentes, o novo preço de entrada do pedido. Ignorado e não obrigatório em negociações abertas |
| sl | Obrigatório | Novo preço de stop-loss ou 0 para remover qualquer stop-loss existente |
| tp | Obrigatório | Novo preço de take-profit ou 0 para remover qualquer take-profit existente |
Mensagens de erro padrão
| Propriedade | Significado |
| ERR:Need account | O valor da conta para SendCommand() está em branco |
| ERR:Need command | O valor do comando para SendCommand() está em branco |
| ERR:No listening app | Não é possível encontrar uma instância em execução do aplicativo RTD para a conta especificada |
| ERR:No response within timeout | Nenhuma resposta do broker/plataforma dentro do número de segundos especificado |
| ERR:Commands not allowed | A opção “Permitir comandos” não está ativada no aplicativo RTD |
| ERR:Unrecognised command | O valor do comando para SendCommand() não é compreendido pelo aplicativo RTD |
| ERR:Missing parameters | O comando estava faltando um ou mais parâmetros obrigatórios |
Comandos assíncronos
Também é possível enviar comandos de forma assíncrona em vez de bloquear a execução do código VBA até que o comando seja concluído ou expire. Isso funciona da seguinte forma:
• Você usa SendCommandAsync() em vez de SendCommand().
• Você verifica periodicamente o resultado da ação assíncrona usando CheckAsyncResult().
• Quando terminar (ou quando você decidir desistir), você libera a memória de comando usando FreeAsyncCommand().
Por exemplo:
Set cmd = CreateObject(“FXBlueLabs.ExcelCommand”)
lCommandId = cmd.SendCommandAsync(“10915”, “BUY”, “s=EURUSD|v=10000”,
60)
strResult = “”
While strResult = “”
strResult = cmd.CheckAsyncResult(lCommandId)
If strResult = “” Then MsgBox “Still waiting…”
Wend
cmd.FreeAsyncCommand (lCommandId)
SendCommandAsync usa os mesmos quatro parâmetros que SendCommand(), mas retorna um “ID de comando” para uso subsequente com CheckAsyncResult() e FreeAsyncCommand(), em vez de retornar o resultado do comando. Observe que SendCommandAsync() ainda tem um valor de tempo limite.
Você deve eventualmente chamar FreeAsyncCommand() após SendCommandAsync(), ou então seu código vazará memória, embora em pequenas quantidades.
CheckAsyncResult() retorna uma string em branco se o comando ainda estiver em execução e não atingiu o tempo limite especificado ou, se completo, retorna a mesma resposta de string que SendCommand().
Abra uma conta de trading na Zero Markets hoje e junte-se a mais de um milhão de pessoas negociando globalmente em mais de 2.000 mercados em uma plataforma fácil de usar. Opere comprado ou vendido com spreads competitivos em Índices, Ações, Forex, Metais, Commodities, Criptomoedas e muito mais. Além disso, especule nas principais ações dos EUA, com ferramentas com tecnologia de inteligência artificial e suporte ao cliente 24 horas por dia, 5 dias por semana. Saiba mais sobre como negociar produtos CFDs na ZERO Markets.
Licenciada e Regulamentada
Pesquisa e Educação
Ferramentas de Análise Técnica
Preços transparentes
Conexão direta
Suporte ao Cliente 24/5
Webinários de Forex
Negocie de qualquer lugar
Abertura de Conta no mesmo dia
Nossa equipe altamente dedicada de suporte ao cliente está à disposição 24 horas por dia, 5 dias por semana, oferecendo um suporte multilíngue de excelência. Contate-Nos.
Visite nosso abrangente FAQ, onde você pode encontrar informações sobre os serviços que oferecemos e respostas para as perguntas mais frequentes. Central de Suporte