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

 
Ihor Herasko:

Mostre-me como você consegue os dois. Até agora, parece que estamos falando da mesma coisa.

Não, os valores são diferentes, eu verifiquei.

Lançamos este roteiro sobre a tabela:

void OnStart()
  {
//---
   int chartHandle=ChartGetInteger(0,CHART_WINDOW_HANDLE);
   int idChart = ChartID(); 
   Alert("CHART_WINDOW_HANDLE = ",chartHandle," idChart=",idChart); 

  }

E nós conseguimos:


 
khorosh:

Não, os valores são diferentes, eu verifiquei.

Agora eu vejo do que estamos falando.

chartHandle é um descritor da janela do gráfico atribuído ao sistema operacional. Você pode usá-lo para abordar a janela a partir de outros fios via WinAPI.

idChart é um identificador gráfico interno atribuído pelo próprio terminal. Ele só pode ser usado para trabalhar a partir de MQL.

 
Ihor Herasko:

Agora está claro do que estamos falando.

ChartHandle é um descritor de janela de gráficos atribuído pelo sistema operacional. Você pode usá-lo para abordar a janela a partir de outros tópicos via WinAPI.

idChart é um identificador gráfico interno atribuído pelo próprio terminal. Ele só pode ser usado para trabalhar a partir do MQL.

Entendi, obrigado!

 
Ihor Herasko:

Agora está claro do que estamos falando.

ChartHandle é um descritor de janela de gráficos atribuído pelo sistema operacional. Você pode usá-lo para abordar a janela a partir de outros tópicos via WinAPI.

idChart é um identificador gráfico interno atribuído pelo próprio terminal. Ele só pode ser usado a partir da MQL.

Então, se você precisar se dirigir à janela de outro terminal aberto, o chartHandle deve ser usado? E como determinar o identificador gráfico do símbolo especificado a partir do indicador localizado no gráfico de outro símbolo? Por exemplo, eu preciso do indicador localizado no gráfico EURJPY para criar um objeto no gráfico USDJPY. Como posso definir um identificador gráfico USDJPY?

 
khorosh:

Isso significa que se você quiser se referir à janela de outro terminal aberto, você deve usar o chartHandle ? E como determinar o ID do gráfico do símbolo especificado a partir do indicador localizado no gráfico de outro símbolo? Por exemplo, eu preciso do indicador localizado no gráfico EURJPY para criar um objeto no gráfico USDJPY. Como posso definir um identificador gráfico USDJPY?

No ChartID() ajuda eu acho que há um exemplo de enumeração de todos os gráficos terminais.
 
Artyom Trishkin:
Acho que o ChartID() ajuda tem um exemplo de enumeração de todos os gráficos terminais.

Não. Está vazio. Há um exemplo na ajuda do ChartNext. Certo, entendi. Não tenho mais perguntas. Obrigado.

 
khorosh:

Então, se você quiser acessar a janela de outro terminal aberto, o chartHandle deve ser usado?

Quando se trabalha somente em MQL, o chartHandle não é necessário. Tal necessidade pode surgir ao conectar uma DLL.

 
Como posso definir índice de janela na funçãoObjectCreate()?

boolObjectCreate(
longchart_id,// identificador gráfico
stringobject_name,// nome do objeto
ENUM_OBJECTobject_type,// object type
intsub_janela,// índice de janela
data/hora1,// hora do primeiro ponto de empate
preço duplo1,// preço do primeiro ponto de ancoragem
...
data/horaN=0,//tempo N-point vinculado
preço N=0// preço N-anchor point
);


 
khorosh:
Como definir índice de janela na funçãoObjectCreate() ?




Não está definido, está definido.

sub_janela

[em] Subjanela número do gráfico. 0 significa a janela principal do gráfico. A subjanela especificada deve existir, caso contrário a função retorna falsa.

 

WindowFind

WindowsTotal

Razão: