Qual é o valor de um pixel?
Qual é o valor de um pixel no eixo Y do gráfico atual? Agradecemos antecipadamente.
O valor ?
Um píxel não tem um "valor".
O que você quer dizer com isso ?
Qual é o valor de um pixel no eixo Y do gráfico atual? Agradecemos antecipadamente.
O valor ? Um pixel não tem um "valor".
O que você quer dizer com isso ?
min_price = ChartGetDouble(0,CHART_PRICE_MIN);
long chart_height = ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS);
printf("1 pixel = %f",(max_price-min_price)/chart_height);
min_price = ChartGetDouble(0,CHART_PRICE_MIN);
long chart_height = ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS);
printf("1 pixel = %f",(max_price-min_price)/chart_height);
Se um pixel não tem um valor, como então é possível traçar uma linha usando os eixos x e y (claro que essas variáveis tomam valores em pixels) ou criar botões etc. que usam as coordenadas?
Por favor, veja: https://www.mql5.com/en/docs/chart_operations/chartxytotimeprice
- www.mql5.com
Se um pixel não tem um valor, como então é possível traçar uma linha usando os eixos x e y (claro que estas variáveis tomam valores em pixels) ou criar botões etc. que usam as coordenadas?
Provavelmente vale a pena mencionar que existem 2 maneiras diferentes de desenhar objetos.
- Usando tempo / preço... como OBJ_TREND e OBJ_TEXT
- Estes objetos se moverão ao longo da tela enquanto você percorre o gráfico para a esquerda/direita/cima/baixo.
- Usando X/Y pixels... tais como OBJ_BUTTON e OBJ_LABEL
- Estes objetos não se moverão na tela, mesmo que o gráfico se desloque.
Às vezes é necessário misturá-los, por exemplo, você quer desenhar um objeto em relação ao tempo no eixo X, e pixels no eixo Y.
Sob estas circunstâncias, você vai querer usar ChartXYToTimePrice() ou ChartTimePriceToXY() como Marco sugeriu.
long chart_id, // Chart ID
int sub_window, // The number of the subwindow
datetime time, // Time on the chart
double price, // Price on the chart
int& x, // The X coordinate for the time on the chart
int& y // The Y coordinates for the price on the chart
);
Poderia haver uma barra muito grande na extrema esquerda da tela, quando essa barra se move para fora da área visível, então quaisquer valores calculados se alterariam novamente à medida que o gráfico se ajustasse à faixa total.
E quando você tiver as janelas do terminal e/ou do testador de estratégia abertas?
Não haveria nada de uniforme ao usar pixels
Uau! Acho que este aqui deve ser muito útil. Muito obrigado. Vou combiná-lo com a seguinte função reversa:
long chart_id, // Chart ID
int sub_window, // The number of the subwindow
datetime time, // Time on the chart
double price, // Price on the chart
int& x, // The X coordinate for the time on the chart
int& y // The Y coordinates for the price on the chart
);
Eu preciso deste valor para que eu possa calcular o valor de 600 pixels.
Isto porque eu quero 600 pixels com nível de lucro, e não 600 pontos ou 600 pips.
Eu quero um nível de lucro uniforme em todos os gráficos, independentemente de seus valores de Pontos ou Pip.
É hora de negociar em termos de píxeis. Agradecemos antecipadamente a alguém.