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()

Name:  untitled.png
Views: 92
Size:  169.4 KB
Name:  untitled (2).png
Views: 94
Size:  126.6 KB
Name:  untitled (3).png
Views: 97
Size:  53.1 KB

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

ENUM_CHART_PROPERTY_DOUBLE

Name:  untitled (4).png
Views: 122
Size:  44.1 KB

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

ENUM_CHART_PROPERTY_STRING

Name:  untitled (5).png
Views: 103
Size:  15.5 KB

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);
}
}