Erros, bugs, perguntas - página 2962

 
Roman:

Para o tornar quente, então use o Mapa de Ficheiros com o calendário de eventos.

Dica - em MQL puro, pense... Aconteceu-me por acaso

 
A100:

Dica - em MQL puro, pense... Aconteceu-me por acaso

Envolver a variável numa classe e obter o descritor de objectos.
Qualquer forma de passar o descritor ao Expert Advisor, obtê-lo directamente do objecto. )
Não sei, ainda não experimentei, a ideia também me veio à cabeça. Mas eu não sou fã de aulas, eu usaria o mapeamento.
Tudo está disponível em WinApi standard.

Документация по MQL5: Основы языка / Типы данных / Указатели объектов
Документация по MQL5: Основы языка / Типы данных / Указатели объектов
  • www.mql5.com
Указатели объектов - Типы данных - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Roman:

Cria uma variável int no indicador, inicializa-a e armazena o número lá.
No indicador definir uma função personalizada que devolve esta variável.
Definir a função com a palavra-chave de exportação.
Importar esta função no Expert Advisor de name_indicator.ex4
Chamar a função quando necessário.
Não medi a velocidade.

Este esquema não parece funcionar. Mostrar um exemplo elementar, por favor.

 
Nikolai Semko:

Se a utilização do user32.dll não for crítica, aqui está outra opção. Não me lembro de nada sobre medidas, mas escrevi lá em baixo, que parece funcionar rapidamente. Também aí perguntou - porque preciso de velocidade :))
solução é universal (também a posso utilizar entre terminais), não é conduzida por eventos. Terá de trabalhar com temporizador. No entanto, o tempo mínimo entre eventos noOnChartEvent também não pode ser inferior a 1/64 segundo.

Obrigado, mas não funciona, porque a seguinte situação é possível.

Expert1 e Expert2 lêem os dados do Indicador1, Expert3 lê os dados do Indicador2.


O modelo orientado para o evento não é necessário. Isto é, o Conselheiro Especialista tem de ser capaz de ler o número apenas quando é necessário. Não precisa de apanhar o momento em que o indicador muda o número. Portanto, o problema é muito simples na sua essência.


Na linguagem das variáveis globais, a solução é a seguinte

Indicador:

GlobalVariableSet(IndividualName, Number);


Consultor especializado:

Number = (int)GlobalVariableGet(IndividualName);


Com esta implementação, a leitura é terrivelmente lenta. Algumas horas de observação da variante sobre Recursos mostra que é cerca de 100 vezes mais rápida.

 
A100:

Dica - em MQL puro, pense... Aconteceu-me por acaso.

Vou esperar por uma solução.

 
fxsaber:

Obrigado, mas não encaixa, uma vez que esta é uma situação possível.

Expert1 e Expert2 lêem dados do Indicador1, Expert3 lê dados do Indicador2.

Pode-se colocar um pequeno conjunto int na corda, e depois "dividir e conquistar".

 
Nikolai Semko:

Pode-se colocar um pequeno conjunto int na corda, e depois "dividir e conquistar".

O Indicador1 e o Indicador2 devem então ser sincronizados de alguma forma para se poder escrever ambos os números numa cadeia comum.

Esta é uma solução muito complexa.

 
fxsaber:

O Indicador1 e o Indicador2 devem então ser sincronizados de alguma forma para se poder escrever ambos os números na mesma linha comum.

Esta é uma solução muito complexa.

Dois indicadores e uma EA num único gráfico?

 
fxsaber:

O Indicador1 e o Indicador2 devem então ser sincronizados de alguma forma para que ambos os números possam ser escritos na mesma linha comum.

Esta é uma solução muito complexa.

A função GlobalVariableSetOnCondition foi inventada há muito tempo para a sincronização
Документация по MQL5: Глобальные переменные терминала / GlobalVariableSetOnCondition
Документация по MQL5: Глобальные переменные терминала / GlobalVariableSetOnCondition
  • www.mql5.com
GlobalVariableSetOnCondition - Глобальные переменные терминала - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Slava:
A função GlobalVariableSetOnCondition foi inventada há muito tempo para sincronizar

Estou ciente disso, sei como utilizá-lo. A tentar afastar-se dos globais, porque são terrivelmente lentos.