Início Indicador técnico Postagem

Informações da Conta: Indicador Essencial para MetaTrader 4

Anexo
11015.zip (5.3 KB, Baixar 0 vezes)

Os indicadores adicionam informações da conta ao gráfico, como Lucro, Saldo, Patrimônio, Margem Livre, Margem e Nível de Margem %.

  1. Indicador 1: Informações da Conta Vertical 4.01 exibe as informações da conta no gráfico em sequência vertical.
  2. Indicador 2: Informações da Conta Horizontal 4.01 exibe as informações da conta no gráfico em sequência horizontal.
  • Ocultar informações da conta: Clique em qualquer lugar do texto das informações da conta.
  • Mostrar informações da conta: Clique no texto 'Informações da Conta'.
  • Mostrar apenas o Lucro: Selecione 'true' no valor de Entrada.

A distância entre os cabeçalhos das informações da conta nos eixos horizontal e vertical é automaticamente igual, evitando sobreposição de fontes — veja as Recomendações abaixo.

A resposta de ocultar/mostrar depende dos ticks recebidos ou da atualização do gráfico. Em mercados com poucos ticks ou fechados, o clique de ocultar/mostrar pode parecer não funcionar enquanto aguarda um tick ou atualização do gráfico. Um indicador de temporizador de autoatualização está incluído no download. É necessário anexar o temporizador de autoatualização a um gráfico, pois isso atualiza todas as instâncias das informações da conta vertical e horizontal em todos os gráficos.

Aumentar a frequência de atualização automática terá um impacto mínimo na carga da CPU em equipamentos atualizados. Um programa como Core Temp (grátis) do http://www.alcpu.com/CoreTemp/ pode ser configurado para mostrar na barra de tarefas a Carga da CPU, Temperatura da CPU e % de RAM utilizada, permitindo monitorar o impacto do programa na carga da CPU.

Informações da Conta: Clique para ocultar

Informações da Conta: Clique para mostrar

Informações da Conta: Clique para ocultar

Informações da Conta: Clique para mostrar

Recomendações

Distância automática igual entre os cabeçalhos das informações da conta

As seguintes exigências devem ser atendidas:
  1. A distância entre os cabeçalhos da conta deve ser igual.
  2. Aumentos ou diminuições no tamanho da fonte não devem resultar em sobreposição vertical ou horizontal de fontes.

Espaçamento vertical igual entre os cabeçalhos das informações da conta *

* Para evitar repetições desnecessárias, qualquer referência a 'espaçamento igual' implica 'espaçamento igual entre os cabeçalhos da conta'.

Para cabeçalhos de conta em sequência vertical, a distância vertical igual é dependente de uma fórmula do parâmetro OBJPROP_YDISTANCE.

A distância vertical igual é mantida incluindo na fórmula o seguinte:
  1. As fórmulas OBJPROP_YDISTANCE dos cabeçalhos sucessivos mantêm o espaçamento vertical igual multiplicando o tamanho da fonte de acordo com termos alocados sucessivos em sequência par 2, 4, 6, 8, 10, 12.
  2. A sobreposição vertical de fontes é evitada porque cada espaço igual aumenta ou diminui proporcionalmente à mudança no tamanho da fonte.
  3. A mudança do eixo vertical OBJPROP_YDISTANCE é mantida incluindo como adição o valor do parâmetro de entrada correspondente OBJPROP_YDISTANCE.

O código abaixo account_info_vertical ilustra a solução.

input int Up_Down=10; // Cima <-> Baixo 
..........
int OnInit()
 { 
   ..........
   {
    Up_Down_ML=Up_Down+Font_Size*10;
    Up_Down_M =Up_Down+Font_Size*8;
    Up_Down_FM=Up_Down+Font_Size*6;
    Up_Down_E =Up_Down+Font_Size*4;
    Up_Down_B =Up_Down+Font_Size*2;
    Up_Down_P =Up_Down;
   }
   ...........
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],..........)
 {
  ..........
  // Cabeçalho de Saldo YDISTANCE
  ObjectSet("Acc_B_v",OBJPROP_YDISTANCE,Up_Down_B);
  ...........
  // Cabeçalho de Lucro YDISTANCE
  ObjectSet("Acc_P_v",OBJPROP_YDISTANCE,Up_Down_P);
  ...........


Espaçamento horizontal igual entre os cabeçalhos das informações da conta

Para cabeçalhos de conta em sequência horizontal, a distância horizontal igual é dependente de uma fórmula do parâmetro OBJPROP_XDISTANCE.

A fórmula OBJPROP_YDISTANCE para espaçamento vertical igual é relativamente simples, pois todos os elementos das fórmulas dos cabeçalhos sucessivos, o valor de entrada correspondente OBJPROP_YDISTANCE e os múltiplos de sequência par e tamanho da fonte, permanecem constantes na fórmula.

As fórmulas OBJPROP_XDISTANCE dos cabeçalhos sucessivos para espaçamento horizontal igual devem acomodar uma variável de atualização em tempo real na forma de múltiplos comprimentos de cabeçalho de conta que aumentam ou diminuem de acordo com mudanças na margem da conta, lucro ou perda, saldo, etc.

A distância horizontal igual é mantida incluindo na fórmula o seguinte:

  1. As fórmulas OBJPROP_XDISTANCE dos cabeçalhos sucessivos mantêm o espaçamento horizontal igual obtendo uma contagem total de todos os comprimentos das strings nos cabeçalhos precedentes e multiplicando por um multiplicador relacionado ao tamanho da fonte.
  2. A sobreposição horizontal de fontes é evitada porque cada espaço igual aumenta ou diminui proporcionalmente à mudança no tamanho da fonte.
  3. A mudança do eixo horizontal OBJPROP_XDISTANCE é mantida incluindo como adição o valor do parâmetro de entrada correspondente OBJPROP_XDISTANCE.
O código abaixo account_info_horizontal ilustra a solução.
input int Left_Right_P=15; // Esquerda <-> Direita 

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],.........)
 {
  double Spacer_Mult=Font_Size*Spacing*0.1;
  ..........
  ..........
  // Comprimento da String do Cabeçalho de Lucro
  int StLenP=StringLen(Acc_P_Header+Acc_Curr+Acc_gap_P+Acc_P_hs);
  ..........
  // Comprimento da String do Cabeçalho de Saldo
  int StLenB = StringLen(Acc_B_Header+Acc_B_hs);
  ..........
  ..........
  // XDISTANCE do Cabeçalho de Patrimônio
  ObjectSet("Acc_E_h",OBJPROP_XDISTANCE,(StLenP+StLenB)*Spacer_Mult+Left_Right_P);
  ..........
  // XDISTANCE do Cabeçalho de Saldo
  ObjectSet("Acc_B_h",OBJPROP_XDISTANCE,StLenP*Spacer_Mult+Left_Right_P);
  ..........
  // XDISTANCE do Cabeçalho de Lucro
  ObjectSet("Acc_P_h",OBJPROP_XDISTANCE,Left_Right_P);
  

Publicações relacionadas

Comentário (0)