Características da linguagem mql5, subtilezas e técnicas - página 34

 
Alexey Kozitsyn:
De que outra forma posso obter dados a partir do símbolo/TF correcto? O CopyBuffer funciona apenas com alças.

É assim que funciona no MT4:

//+------------------------------------------------------------------+
double GetDataAO(string symbol_name, int timeframe, int shift) {
   return(iAO(symbol_name,timeframe,shift));
}
//+------------------------------------------------------------------+

Os dados que você envia para a função é o que você recebe. Imediatamente, sem criar 21 pegas do mesmo indicador.


 
Artyom Trishkin:

É assim que funciona no MT4:

Os dados que você envia para a função é o que você recebe. Imediatamente, sem criar 21 pegas do mesmo indicador com antecedência.

Eu sei como receber dados do MT4. Você pode resistir como fazer isso no MT5, mas não vai mudar.
 
Alexey Kozitsyn:
Eu sei como receber dados do MT4. Você pode resistir como fazer isso no MT5, mas não vai mudar.

Não estou a resistir, nem estou a tentar mudar. Quero alcançar o mesmo resultado no MT5 que no vídeo, que mostra a obtenção de dados de qualquer traf no MT4, sem atrasos visíveis.

Como?

Ao correr o indicador, recolho todos os dados sobre todos os preços em arrays e depois leio a partir deles de acordo com o índice? Mas a memória não é emborrachada.

Solicitar a dada altura os dados de uma barra do factor necessário - mas diz que não há dados e o que devo fazer para os obter?

Compreende? Não estou criticando o MT5, eu quero entender e obter o resultado tão bom quanto o MT4.

 
Artyom Trishkin:

Não estou a resistir, nem estou a tentar mudar. Quero alcançar o mesmo resultado no MT5 que no vídeo, que mostra a obtenção de dados de qualquer traf no MT4, sem atrasos visíveis.

Como?

Ao correr o indicador, recolho todos os dados sobre todas as correntes em arrays e depois leio a partir delas de acordo com o índice? Mas a memória não é emborrachada.

Solicitar em um momento os dados em uma barra do preço exigido - mas o indicador diz que não há dados, e o que fazer para a sua disponibilidade?

Compreende? Não estou criticando o MT5, eu quero entender e obter o resultado tão bom quanto o MT4.

Se você quiser sem atrasos - iniciar o temporizador a cada 60-90s para o símbolo/TF necessário para manter os dados atualizados. Embora... Não tenho certeza se este método irá funcionar para dados indicadores de símbolo estrangeiro/TF. Tenho de o experimentar.
 

28 caracteres por 6 TF = 168 pegas (MA). Começa em 8 segundos, actualizações a cada 4 segundos sem qualquer problema

Mas no testador, infelizmente, um cano...

 
Alexey Kozitsyn:
Não quer atrasos - temporizador para iniciar a cada 60-90s para que o símbolo/TF desejado mantenha os dados actualizados.
O que fazer no primeiro lançamento? No vídeo não há atrasos na execução do indicador. No MT5 tudo fica pendurado sem qualquer sinal de vida quando o indicador começa. Se o usuário esperar, ele verá os dados sendo desenhados. Mas eles podem decidir que o indicador não está a funcionar. Mensagem para o gráfico com um grande ecrã - "Espera, estou a descarregar dados no 21º período de tempo"? Mäe.
 
Alexander Puzanov:

28 caracteres por 6 TF = 168 pegas (MA). Começa em 8 segundos, actualizações a cada 4 segundos sem qualquer problema

Mas no testador, infelizmente, um cano.

Execute-o em um símbolo que nunca foi usado e para o qual você simplesmente não tem nenhum dado.

E, sim, é bom que tenhas um resultado - é isso que eu quero alcançar. A recolher as minhas opiniões sobre como melhorar as coisas.

 
Artyom Trishkin:
O que fazer no primeiro lançamento? Não há atraso no lançamento do indicador em vídeo. Tudo depende do MT5 sem nenhum sinal de vida no início do indicador. Se o usuário esperar, ele verá os dados sendo desenhados. Mas eles podem decidir que o indicador não está a funcionar. Mensagem para o gráfico com um grande ecrã - "Espera, estou a descarregar dados no 21º período de tempo"? Mäe.

Se o usuário é tão impaciente, deixe-o comprar um ferro mais rápido, mas para o resto de nós, o comportamento normal e razoável é:

1. Defina um número adequado de barras na janela e no histórico;

2. Para cálculos sérios informar ao usuário que está tudo bem, eles só precisam esperar. Você pode criar um indicador de adição de histórico.

 
Alexey Kozitsyn:

Se o usuário é tão impaciente, deixe-o comprar um ferro mais rápido, mas para o resto de nós, o comportamento normal e razoável é:

1. Defina um número adequado de barras na janela e no histórico;

2. Para cálculos sérios informar ao usuário que está tudo bem, eles só precisam esperar. Para o bem da beleza, você pode criar um indicador de subtração do histórico.

Estabeleci 5000 barras de história tanto no MT4 como no MT5. Quando uso o MT4, tenho um arranque instantâneo, enquanto o MT5 tem de esperar cerca de 20 a 30 segundos. E isso assumindo que repetidamente o símbolo EURUSD é usado para testes - há um histórico em ambos os terminais.

Não há necessidade de informar de todas as maneiras um usuário "impaciente" que ele deve esperar. Você quer evitar atrasos injustificados no lançamento e na mudança do cronograma atual.

É por isso que estou interessado em possíveis formas de resolver este problema. Por enquanto. Depois vou fazer experiências com eles - o que realmente vai funcionar.

 
Artyom Trishkin:

Eu defini 5000 barras de história tanto em MT4 como em MT5. O meu MT4 mostra arranque instantâneo, enquanto o MT5 mostra um período de espera de 20 a 30 segundos. E isso assumindo que repetidamente o símbolo EURUSD é usado para testes - há um histórico em ambos os terminais.

Não é necessário dizer a um usuário "impaciente" para esperar. É necessário evitar atrasos injustificados no lançamento e na mudança do cronograma.

É por isso que estou interessado em possíveis formas de resolver este problema. Por enquanto. Vou experimentar com eles mais tarde - o que realmente acontece.

20-30 segundos!? .... Omg... Acho que fizeste algo de errado... Eu tenho indicadores de carrapatos contando muitas vezes mais rápido. Uns poucos de cada vez num gráfico.