Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1065

 

Alexey Viktorov:

Leia o manual cuidadosamente. OBJ_CHANNEL não tem nada a ver com o ângulo.

Consegui!

Em seguida, voltando à pergunta anterior:

Existem coordenadas X e Y, como estabelecer uma condição para que o ChartXYToTimePrice conte a partir do canto direito?

 
MakarFX:

Consegui!

Em seguida, voltando à pergunta anterior:

Existem coordenadas X e Y, como posso definir a condição para que o ChartXYToTimePrice conte a partir do canto direito?

ChartXYToTimePreço conta as coordenadas a partir do canto superior esquerdo. E não importa como você calcule a partir do canto direito, você sempre terá que convertê-lo para o canto superior esquerdo. Qual é a finalidade deste pandeiro? Que objeto você quer colocar em relação ao canto direito? Por que você não lê o manual? Há todos os exemplos e explicações.

 
Alexey Viktorov:
Qual é o propósito de uma dança de pandeiro desse tipo?

O canto esquerdo está ocupado(

Alexey Viktorov:

Por que você não lê o manual? Afinal de contas, todos os exemplos e explicações estão lá.

Eu li e encontrei exemplos, e o código é baseado neles,

mas nenhum exemplo de como mudar o ângulo(

 
MakarFX:

O canto esquerdo está ocupado(

Eu li e encontrei exemplos, e o código é baseado neles,

mas não há exemplos de como mudar o ângulo(

Acho que não procurei o suficiente. Aqui estão exemplos e todas as explicações.
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Угол привязки
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Угол привязки
  • www.mql5.com
Существует ряд графических объектов, для которых можно задавать угол графика, относительно которого указываются координаты в пикселях. Это следующие типы объектов (в скобках указаны идентификаторы типа объекта): – объекты имеет ширину и высоту. Если указано "только для чтения", то это означает, что значения ширины и высоты вычисляются только...
 
MakarFX:

O canto esquerdo está ocupado(

Eu li e encontrei exemplos, e o código é baseado neles,

mas não há exemplos de como mudar o ângulo(

Não faz diferença de qual ângulo a coordenada inicial do objeto é contada. Este ângulo é a origem das coordenadas. Onde os objetos estão localizados cabe a você calcular suas coordenadas a partir da origem.

 
Alexey Viktorov:
Devo ter procurado muito. Aqui estão exemplos e todas as explicações.

OBJ_CHANNEL requer tempo e preço e XU só pode ser obtido com ChartXYToTimePrice

Artyom Trishkin:

Não faz diferença a partir de qual canto a coordenada do objeto inicial é contada. Este canto é a origem das coordenadas. E onde os objetos estarão, cabe a você calcular suas coordenadas a partir da origem.

Você pode fazer isso, mas se o tamanho da janela mudar ou a resolução for diferente em outro computador, o objeto é deslocado.

 
MakarFX:

OBJ_CHANNEL requer tempo e preço e XU só pode ser obtido com ChartXYToTimePrice

Isto é possível, mas se o tamanho da janela muda ou a resolução é diferente em outro computador, o objeto é deslocado.

Você está falando em termos abstratos. Tire uma foto da tela - o que você está colocando lá e por que você vê um problema. O que está mudando para onde?

 
MakarFX:

OBJ_CHANNEL requer tempo e preço e XU só pode ser obtido com ChartXYToTimePrice

Isto é possível, mas se o tamanho da janela muda ou a resolução é diferente em outro computador, o objeto é deslocado.

Em seguida, procure na documentação como determinar o DPI e use-o para determinar a largura da janela gráfica.

 
Alexey Viktorov:

Em seguida, procure na documentação como determinar o DPI e use-o para determinar a largura da janela gráfica.

Você me entendeu bem, vou tentar pesquisar. Obrigado.
 
MakarFX:
Você me entendeu bem, vou tentar pesquisar. Obrigado.

Aqui está um exemplo da documentação.

//--- создаём кнопку шириной 1.5 дюйма на экране 
int screen_dpi = TerminalInfoInteger(TERMINAL_SCREEN_DPI); // получим DPI монитора пользователя 
int base_width = 144;                                      // базовая ширина в экранных точках для стандартных мониторов c DPI=96 
int width      = (button_width * screen_dpi) / 96;         // вычислим ширину кнопки для монитора пользователя (с учётом его DPI) 
... 
  
//--- вычисление коэффициента масштабирования в процентах 
int scale_factor=(TerminalInfoInteger(TERMINAL_SCREEN_DPI) * 100) / 96; 
//--- использование коэффициента масштабирования 
width=(base_width * scale_factor) / 100;
Razão: