Erros, bugs, perguntas - página 3035

 
Ivan Titov:

Um erro apareceu hoje nas páginas de trabalhos freelance:

Navegador cromado. O que é que isto tem a ver com isto?

Obrigado pela sua mensagem. Correcção

 
Slava:

Não pode verificá-lo você mesmo?

Pode verificá-lo, mas o que há para verificar quando não há entendimento )
E não é possível simular o momento em que os dados ainda não estão prontos.

Quero compreender a teoria, como trabalhar correctamente com a OnCalculate neste exemplo.
Se os dados não estiverem prontos na iteração actual do laço, deve o contador limite+1 ser devolvido ou o quê?

 
Roman:

É possível verificá-lo, mas o que há para verificar quando não há entendimento)
E não é possível simular o momento em que os dados ainda não estão prontos.

Quero compreender a teoria de como lidar correctamente com a OnCalculate neste exemplo.
Se os dados não estiverem prontos na actual iteração do laço, deve o limite do contador+1 ser devolvido ou o quê?

O zero deve ser devolvido.

 
Slava:

4. Todas as séries temporais são processadas em ordem, desde a mais baixa até à mais alta. Primeiro a aplicação do tick, depois o cálculo de todos os indicadores criados nessa série temporal. Se estiver a pedir dados para o mesmo símbolo H1 a partir de um indicador, trabalhando em M1, nunca obterá dados com um tick aplicado. Os dados serão sempre um tique de volta, independentemente dos truques que aplicar. Porque um fio por símbolo com processamento consecutivo de prazos.

A afirmação é um pouco ambígua. Deixem-me esclarecê-lo por via das dúvidas. Sim, ao processar uma carraça, todas as séries cronológicas são processadas em ordem, desde o mais novo ao mais velho. Cada marca é adicionada aos dados de cada série temporal, depois são calculados indicadores para cada série temporal, por ordem. Por outras palavras, para o indicador em OnCalculate(), os dados das séries cronológicas (todos eles) são certamente actualizados, mas os dados dos indicadores dos períodos de tempo mais antigos ainda não foram recalculados.

 
Slava :

No primeiro pedido, o indicador pode não receber dados do seu símbolo, mas outro período de tempo apenas por uma razão - as séries cronológicas requeridas ainda não foram construídas ou já foram destruídas após algum tempo, quando não houve pedidos.

Após um pedido sem sucesso, basta enviar um comando para o seu gráfico para o actualizar e terminar o OnCalculate imediatamente. É garantido que a OnCalculate será chamada e é garantido que as séries de tempos necessárias estarão preparadas até essa altura.

Isto é como usar um martelo para apanhar uma mosca.

Como sabe, este comando actualiza todos os indicadores em todos os gráficos do símbolo em questão. Se tiver vários indicadores em vários gráficos do mesmo símbolo, pode facilmente obter uma espécie de ciclo, porque cada indicador enviará o seu próprio comando ChartSetSymbolPeriod ().

Poderia acrescentar um comando para actualizar apenas o indicador REMOTE?

 
Alain Verleyen:

Isto é semelhante à utilização de um martelo para apanhar uma mosca.

Como sabe, este comando actualiza todos os indicadores em todos os gráficos do símbolo em questão. Se tiver vários indicadores em vários gráficos do mesmo símbolo, pode facilmente obter uma espécie de laço, pois cada indicador enviará o seu próprio comando ChartSetSymbolPeriod ().

Poderia acrescentar um comando para actualizar apenas o indicador REMOTE?

Pode obter qualquer coisa se houver erros lógicos no código.

 
mktr8591:

Na realidade, OnTick não está sincronizado com OnCalculate pelo mesmo símbolo. Teoricamente, OnTick pode estar atrasado e pelo seu início todas as indicações em todas as TFs serão calculadas?

Até agora, vejo a situação oposta - os indicadores não são calculados com um novo tick chegando no momento da abertura do bar.

 
Anton:

A afirmação é um pouco ambígua. Deixem-me esclarecê-lo por via das dúvidas. Sim, ao processar uma carraça, todas as séries cronológicas são processadas em ordem, desde o mais novo ao mais velho. Cada marca é adicionada aos dados de cada série temporal, depois são calculados indicadores para cada série temporal, por ordem. Isto significa que para o indicador em OnCalculate(), os dados das séries cronológicas (todas as séries cronológicas) são certamente actualizados, mas os dados dos indicadores de prazos mais elevados ainda não foram recalculados.

O que significa"cálculo de indicadores em cada período de tempo, por ordem", ou seja, dependendodo "períodoENUM_TIMEFRAMES"?

intiCustom(
símbolo de corda,// nome do símbolo
períodoENUM_TIMEFRAMES,// período
nome da cadeia// pasta/ nome_do_utilizador
...// lista de parâmetros de entrada de indicadores
);

E se existem dois indicadores com o mesmoperíodo ENUM_TIMEFRAMESe um é calculado a partir dos dados de outro, como assegurar a correcção dos cálculos consecutivos?

Compreendi correctamente que se o indicador for calculado(períodoENUM_TIMEFRAMES) no M1, então ao solicitar a informação OHLC receberá a informação actual sobre o último tick para qualquer TF superior?

 
O que é o resultado de

iSpread ?


Vejo que é mais ou menos semelhante ao valor de spread se consultar as barras em Symbols/Bars no terminal.

É claro que estes valores não correspondem aos valores reais dados por SYMBOL_SPREAD.

Porquê uma tal diferença? E o que é uma propagação tão irreal mostrada usandoiSpread?

 
Aleksey Vyazmikin:

O que quer dizer com"cálculo de indicadores em cada série temporal, em ordem", ou seja, dependendo do"períodoENUM_TIMEFRAMES"?

intiCustom(
símbolo de corda,// nome do símbolo
períodoENUM_TIMEFRAMES,// período
nome da cadeia// pasta/ nome_do_utilizador
...// lista de parâmetros de entrada de indicadores
);

E se existem dois indicadores com o mesmoperíodo ENUM_TIMEFRAMES, e um deles é calculado com base nos dados de outro, como assegurar a correcção de um cálculo consecutivo?

Isto é fornecido pelo terminal.

Compreendi correctamente que se o indicador for calculado(períodoENUM_TIMEFRAMES) no M1, então ao solicitar a informação OHLC receberá a informação real sobre o último tick para qualquer TF superior em qualquer caso?

Sim, exactamente assim.