Propriedades de Gráfico

Identificadores de enumeradores ENUM_CHART_PROPERTY são usados como parâmetros de funções para trabalhar com gráficos. A abreviatura de r/o na coluna "Tipo de Propriedade" significa que esta propriedade é somente de leitura e não pode ser alterada. A abreviatura w/o na coluna "Tipo de Propriedade" significa que esta propriedade é somente leitura e não pode ser recebida. Ao acessar certas propriedades, é necessário especificar um parâmetro adicional, que serve para indicar o número da sub-janela do gráfico. 0 significa a janela principal.

As funções que definem as propriedades do gráfico são realmente utilizadas para enviar comandos de alteração no gráfico. Se essas funções forem executadas com êxito, o comando será incluído na fila comum dos eventos do gráfico. As alterações são implementadas para o gráfico ao manipular a fila dos eventos gráficos.

Assim, não espere uma atualização visual imediata do gráfico após chamar essas funções. Geralmente, o gráfico é atualizado automaticamente pelo terminal após os eventos de alteração - uma nova chegada de cotação, redimensionando a janela do gráfico, etc. Use a função ChartRedraw() Para forçar a atualizar do gráfico.

Para funções ChartSetInteger() e ChartGetInteger()

ENUM_CHART_PROPERTY_INTEGER

ID

Descrição

Tipo de Propriedade

CHART_SHOW

Plotagem do gráfico de preços. Se estiver definido o valor false, será desativada a plotagem de quaisquer atributos do gráfico de preços e serão excluídos todos os recuos das bordas do gráfico, isto é: escalas de tempo e preço, barra de navegação rápida, eventos de Calendário, rótulos de transações, dicas de indicadores e barras, sub-janela de indicadores, histogramas de volumes, etc.

A desativação da plotagem é uma solução ideal para criar uma interface personalizada de programa com utilização de recursos gráficos.

Os objetos gráficos são plotados sempre independentemente do valor definido da propriedade CHART_SHOW.

bool

CHART_IS_OBJECT

Identificado objeto de "Gráfico" (OBJ_CHART) - retorna true para um objeto gráfico. Retorna false para um gráfico real

bool   r/o

CHART_BRING_TO_TOP

Exibe o gráfico no topo de outros gráficos

bool   w/o

CHART_CONTEXT_MENU

Habilitar/desabilitar o acesso ao menu de contexto pressionando o botão direito do mouse.

O valor CHART_CONTEXT_MENU=false desativa apenas o menu de contexto do gráfico, ao acontecer isto, o menu de contexto, para objetos no gráfico, fica disponível.

bool  (valor por padrão true)

CHART_CROSSHAIR_TOOL

Habilitar/desabilitar o acesso ao instrumento "Cruz" pressionando o botão do meio do mouse.

bool  (valor por padrão true)

CHART_MOUSE_SCROLL

Rolagem do gráfico horizontalmente usando o botão esquerdo do mouse. Rolagem vertical também está disponível se for definido como true o valor de todas as seguintes propriedades: CHART_SCALEFIX, CHART_SCALEFIX_11 ou CHART_SCALE_PT_PER_BAR

Se CHART_MOUSE_SCROLL=false, a rolagem do gráfico através da roda do mouse estará indisponível.

bool

CHART_EVENT_MOUSE_WHEEL

Envio de todos os programas mql5 para o gráfico de notificações sobre eventos da roda do mouse (CHARTEVENT_MOUSE_WHEEL)

bool  (valor por padrão true)

CHART_EVENT_MOUSE_MOVE

Eventos CHARTEVENT_MOUSE_MOVE) envia notificações de movimento de mouse e clique de mouse a todos os programas MQL5 num gráfico

bool

CHART_EVENT_OBJECT_CREATE

Envia uma notificação de um evento de criação de novo objeto (CHARTEVENT_OBJECT_CREATE) para todos os programas MQL5 em um gráfico

bool

CHART_EVENT_OBJECT_DELETE

Envia uma notificação de um evento de exclusão de objeto (CHARTEVENT_OBJECT_DELETE) para todos os programas MQL5 em um gráfico

bool

CHART_MODE

Tipo de gráfico (candles, barras ou linha)

enum     ENUM_CHART_MODE

CHART_FOREGROUND

Gráfico de preços no primeiro plano

bool

CHART_SHIFT

Modo de encaixe do gráfico de preço a partir da borda direita

bool

CHART_AUTOSCROLL

Modo de movimentação automática para a borda direita do gráfico

bool

CHART_KEYBOARD_CONTROL

Autorização para controlar o gráfico usando as teclas ("Home", "End", "PageUp", "+", "-", "Seta para cima",  etc.). Após definir CHART_KEYBOARD_CONTROL=false, é possível desativar o enrolamento e o ajuste de escala do gráfico, no entanto, ao fazer isto, mantem-se a possibilidade de receber eventos, ao clicar essas teclas, em OnChartEvent().

bool

CHART_QUICK_NAVIGATION

Permite ao gráfico interceptar as teclas Space e Enter para ativar a barra de navegação. A barra de navegação rápida é exibida automaticamente abaixo do gráfico, ao clicar duas vezes ou pressionar as teclas Space/Enter. Desse modo, é possível alterar rapidamente o símbolo, timeframe e data da primeira barra visível.

bool

CHART_SCALE

Escala

int        de 0 a 5

CHART_SCALEFIX

Modo de escala fixo

bool

CHART_SCALEFIX_11

Modo de escala 1:1

bool

CHART_SCALE_PT_PER_BAR

Escala para ser especificada em pontos por barra

bool

CHART_SHOW_OHLC

Exibe valores OHLC no canto superior esquerdo

bool

CHART_SHOW_BID_LINE

Exibe valores de preço de venda como uma linha horizontal em um gráfico

bool

CHART_SHOW_ASK_LINE

Exibe valores de preço de compra como uma linha horizontal em um gráfico

bool

CHART_SHOW_LAST_LINE

Exibe valores de último preço como uma linha horizontal em um gráfico

bool

CHART_SHOW_PERIOD_SEP

Exibe separadores verticais entre períodos adjacentes

bool

CHART_SHOW_GRID

Exibe grade no gráfico

bool

CHART_SHOW_VOLUMES

Exibe volume no gráfico

enum     ENUM_CHART_VOLUME_MODE

CHART_SHOW_OBJECT_DESCR

Descrições pop-up de objetos gráficos

bool

CHART_VISIBLE_BARS

O número de barras no gráfico que podem ser exibidas

int r/o

CHART_WINDOWS_TOTAL

O número total de janelas de gráficos, incluindo sub-janelas de indicadores

int r/o

CHART_WINDOW_IS_VISIBLE

Visibilidade de sub-janelas

bool r/o   modificador - número de sub-janela

CHART_WINDOW_HANDLE

Manuseio da janela do gráfico (HWND)

int r/o

CHART_WINDOW_YDISTANCE

A distância entre a moldura superior da sub-janela do indicador e a moldura superior da janela do gráfico principal, ao longo do eixo Y vertical, in pixels. No caso de um evento de mouse, as coordenadas do cursor são passadas em termos das coordenadas da janela do gráfico principal, enquanto que as coordenadas de objetos gráficos em uma sub-janela do indicador são definidas em relação ao canto superior esquerdo da sub-janela.

O valor é requerido para converter as coordenadas absolutas do gráfico principal em coordenadas locais da sub-janela para correto trabalho com os objetos gráficos, cujas coordenadas são definidas em relação ao canto superior esquerdo da moldura da sub-janela.

int r/o     modificador - número de sub-janela

CHART_FIRST_VISIBLE_BAR

Número das primeiras barras visíveis no gráfico. A indexação de barras é a mesma para séries de tempo.

int r/o

CHART_WIDTH_IN_BARS

Largura de gráfico em barras

int r/o

CHART_WIDTH_IN_PIXELS

Largura de gráfico em pixels

int r/o

CHART_HEIGHT_IN_PIXELS

Altura de gráfico em pixels

int      modificador - número de sub-janela

CHART_COLOR_BACKGROUND

Cor de fundo do gráfico

color

CHART_COLOR_FOREGROUND

Cor dos eixos, escalas e linha OHLC

color

CHART_COLOR_GRID

Cor da grade

color

CHART_COLOR_VOLUME

Cor dos volumes e níveis de abertura de posição

color

CHART_COLOR_CHART_UP

Cor para a barra de alta, sombras e bordas de candles de alta

color

CHART_COLOR_CHART_DOWN

Cor para a barra de baixa, sombras e bordas de candles de baixa

color

CHART_COLOR_CHART_LINE

Cor de gráfico de linha e cor de candles "Doji" japoneses

color

CHART_COLOR_CANDLE_BULL

Cor de corpo de um candle de alta

color

CHART_COLOR_CANDLE_BEAR

Cor de corpo de um candle de baixa

color

CHART_COLOR_BID

Cor de nível de preço de venda

color

CHART_COLOR_ASK

Cor de nível de preço de compra

color

CHART_COLOR_LAST

Cor de linha do último preço de operação executada

color

CHART_COLOR_STOP_LEVEL

Cor de níveis de ordem de stop (Stop Loss e Take Profit)

color

CHART_SHOW_TRADE_LEVELS

Exibição de níveis de negociação no gráfico (níveis de abertura de posição, Stop Loss, Take Profit e ordens pendentes

bool

CHART_DRAG_TRADE_LEVELS

Permissão para arrastar os níveis de negociação num gráfico com um mouse. O modo de arrastar é ativado pelo padrão (valor true)

bool

CHART_SHOW_DATE_SCALE

Exibição da escala de tempo em um gráfico

bool

CHART_SHOW_PRICE_SCALE

Exibição da escala de preço em um gráfico

bool

CHART_SHOW_ONE_CLICK

Showing the "One click trading" panel on a chart

bool

CHART_IS_MAXIMIZED

Janela de gráfico maximizada

bool

CHART_IS_MINIMIZED

Janela de gráfico minimizada

bool

CHART_IS_DOCKED

A janela do gráfico é fixa. Se for definido o valor false, o gráfico pode ser arrastado para fora do terminal

bool

CHART_FLOAT_LEFT

Coordenada esquerda do gráfico desacoplado em relação à tela virtual

int

CHART_FLOAT_TOP

Coordenada superior do gráfico desacoplado em relação à tela virtual

int

CHART_FLOAT_RIGHT

Coordenada direita do gráfico desacoplado em relação à tela virtual

int

CHART_FLOAT_BOTTOM

Coordenada inferior do gráfico desacoplado em relação à tela virtual

int

Para funções ChartSetDouble() e ChartGetDouble()

ENUM_CHART_PROPERTY_DOUBLE

ID

Descrição

Tipo de Propriedade

CHART_SHIFT_SIZE

O tamanho da barra zero encaixada a partir da borda direita em porcentagens

double  (de 10 to 50 porcento)

CHART_FIXED_POSITION

Posição fixa do gráfico a partir da borda esquerda em valor percentual. A posição fixa do gráfico é marcada por um pequeno triângulo cinza no eixo do tempo horizontal. Ele é exibido somente se a rolagem automática do gráfico para a direita na chegada de um tick (preço novo) estiver desabilitada (veja a propriedade CHART_AUTOSCROLL). A barra em uma posição fixa permanece no mesmo lugar ao se ampliar e reduzir o gráfico.

double

CHART_FIXED_MAX

Máximo fixo do gráfico

double

CHART_FIXED_MIN

Mínimo fixo do gráfico

double

CHART_POINTS_PER_BAR

Escala em pontos por barra

double

CHART_PRICE_MIN

Mínimo do gráfico

double r/o   modificador - número de sub-janela

CHART_PRICE_MAX

Máximo do gráfico

double r/o   modificador - número de sub-janela

Para funções ChartSetString() e ChartGetString()

ENUM_CHART_PROPERTY_STRING

ID

Descrição

Tipo de Propriedade

CHART_COMMENT

Texto de um comentário em um gráfico

string

CHART_EXPERT_NAME

Nome do conselheiro executado no gráfico com chart_id especificado

string

CHART_SCRIPT_NAME

Nome do script executado no gráfico com chart_id especificado

string

Exemplo:

   int chartMode=ChartGetInteger(0,CHART_MODE);
   switch(chartMode)
     {
      case(CHART_BARS):    Print("CHART_BARS");   break;
      case(CHART_CANDLES): Print("CHART_CANDLES");break;
      default:Print("CHART_LINE");
     }
   bool shifted=ChartGetInteger(0,CHART_SHIFT);
   if(shifted) Print("CHART_SHIFT = true");
   else Print("CHART_SHIFT = false");
   bool autoscroll=ChartGetInteger(0,CHART_AUTOSCROLL);
   if(autoscroll) Print("CHART_AUTOSCROLL = true");
   else Print("CHART_AUTOSCROLL = false");
   int chartHandle=ChartGetInteger(0,CHART_WINDOW_HANDLE);
   Print("CHART_WINDOW_HANDLE = ",chartHandle);
   int windows=ChartGetInteger(0,CHART_WINDOWS_TOTAL);
   Print("CHART_WINDOWS_TOTAL = ",windows);
   if(windows>1)
     {
      for(int i=0;i<windows;i++)
        {
         int height=ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS,i);
         double priceMin=ChartGetDouble(0,CHART_PRICE_MIN,i);
         double priceMax=ChartGetDouble(0,CHART_PRICE_MAX,i);
         Print(i+": CHART_HEIGHT_IN_PIXELS = ",height," pixels");
         Print(i+": CHART_PRICE_MIN = ",priceMin);
         Print(i+": CHART_PRICE_MAX = ",priceMax);
        }
     }

Veja Também

Exemplos de como trabalhar com um gráfico