Erros, bugs, perguntas - página 1562

 

Corro o testador através de dois caracteres ao mesmo tempo no modo "carrapatos reais". A sincronização é precisa ao milissegundo. Por isso, por vezes parece haver uma descoordenação de sequências de carraças. Pode haver várias carraças em 1ms em dois caracteres ao mesmo tempo. Diga-me, qual é o algoritmo para alimentar carraças em tais situações?

E como, sem o IndicatorRelease, conseguir apanhar de forma óptima cada tick no testador (o temporizador em 1 ms salta ticks), quando há uma passagem em vários símbolos ao mesmo tempo?

 
Anton Zverev:

Corro o testador através de dois caracteres ao mesmo tempo no modo "carrapatos reais". A sincronização é precisa ao milissegundo. Por isso, por vezes parece haver uma descoordenação de sequências de carraças. Pode haver várias carraças em 1ms em dois caracteres ao mesmo tempo. Diga-me, qual é o algoritmo para alimentar carraças em tais situações?

E como é óptimo apanhar todos os ticks no testador sem o IndicatorRelease (o temporizador falha ticks em 1 ms), quando há vários símbolos a passar ao mesmo tempo?

No testador, o tempo quântico mínimo é de 1 segundo. Por conseguinte, é inútil correr o temporizador a 1ms.

Pode haver várias carraças num mesmo segundo. E de diferentes ferramentas. O algoritmo de alimentação de carraças é tal, que no momento do tempo de carraça para o instrumento em teste, todas as carraças de outros instrumentos para o mesmo segundo já são submetidas.

 
Slawa:

No testador, o tempo quântico mínimo é de 1 segundo. Por conseguinte, é inútil iniciar o temporizador a 1ms.

Pode haver várias carraças no mesmo segundo. E de diferentes instrumentos. O algoritmo de alimentação de carraças é tal, que no momento do tempo de carraça para o instrumento em teste, todas as carraças de outros instrumentos para o mesmo segundo já são submetidas.

Consideraria a solução normal de chamar a EA em cada tic no testador?
 
Anton Zverev:
Consideraria a solução normal de chamar a EA em cada tic no testador?
No testador, a EA é chamada em cada tic-tac do instrumento em teste
 
Slawa:
No testador, o Conselheiro Especialista é chamado a cada tique do símbolo testado

Sabem exactamente o que estou a pedir. Corro dois símbolos, não consigo apanhar carraças do segundo. As pessoas há muito que sugerem a única solução - através do IndicatorRelease. Mas parece mutilado por si só.

Vi vários testadores de multisímbolos. Enfrentei um problema destes apenas em cinco. Como é que ainda não o previu é um mistério.

Por favor, pense em como melhorar o MQL para que este elo mais fraco seja removido e o produto esteja realmente completo. Propus a minha própria variante, mas a sua é 100% mais razoável.

 
Anton Zverev:

Sabem exactamente o que estou a pedir. Corro dois símbolos, não consigo apanhar carraças do segundo. As pessoas há muito que sugerem a única solução - através do IndicatorRelease. Mas parece mutilado por si só.

Vi vários testadores de multisímbolos. Enfrentei um problema destes apenas em cinco. Como é que ainda não o previu é um mistério.

Por favor, pense em como melhorar o MQL para que este elo mais fraco seja removido e o produto esteja realmente completo. Propus a minha própria variante, mas a sua é 100% mais razoável.

Esta é outra questão.

O que é "apanhar o segundo tique"?

Como é que se apanha os carrapatos da segunda ferramenta quando se executa normalmente a EA?

 
Slawa:

Essa é outra questão.

O que é "apanhar as carraças do segundo"?

Para que a EA seja chamada a cada toque do segundo símbolo.

Como se apanham os carrapatos do segundo símbolo quando a EA é normalmente lançada?

Coloco o indicador através do IndicatorRelease no segundo símbolo. A cada toque do seu símbolo, cria o evento ChartEvent. O Conselheiro Especialista, respectivamente, apanha este evento.

Esta má solução foi sugerida há muitos anos atrás, de acordo com os resultados da pesquisa. Ainda não encontrei outra solução de trabalho. Se o teste deve ser conduzido em 10 símbolos, então são lançados 9 indicadores.

Suponhamos que temos um consultor especializado que aumenta o contador em cada tic tac.

Estou a correr com um símbolo no testador, onde está 1 milhão de carraças. O contador mostra 1 milhão.

Cheguei também a outro símbolo e ele mostra 1 milhão.

Coloquei-o através de dois símbolos ao mesmo tempo. Não mostra 2 milhões.

Está claro agora?

 
Anton Zverev:

Por favor, pense em como melhorar o MQL para que este elo fraco desapareça e o produto se torne realmente completo. Eu sugeri a minha própria variante, mas a sua é 100% mais ponderada.

De facto, a mudança que precisa de ser implementada é bastante simples - o evento OnBookEvent deve ser chamado não só aquando da mudança do put, mas também quando um novo tick aparece no instrumento a ser assinado. Devido a este evento já é possível apanhar a chegada de novos carrapatos de outros símbolos em FORTS (onde existe o mercado).

Se estivermos em FOREX e não houver nenhum tick, OnBookEvent é chamado à chegada de um novo tick. Se estivermos na bolsa - OnBookEvent é chamado quando a taxa de mercado muda. E é tudo.

 

Seria muito mais conveniente se, para cada símbolo, o terminal guardasse um contador de carrapatos (desde o momento da ligação). E cada Conselheiro Especialista, quando chamado, obteria o número do tick, sobre o qual era chamado.

Isto permitiria estimar os carrapatos perdidos.

Neste momento, cada EA tem de ser accionada num gráfico. BookEvent é a primeira andorinha, dizendo que não são necessários gráficos para a realização de EAs.

 
Anton Zverev:

Quero que a EA seja chamada em cada tic do segundo símbolo.

Estou a utilizar o IndicatorRelease no segundo símbolo. Cria o evento ChartEvent em cada tick do seu símbolo. O Conselheiro Especialista, respectivamente, apanha este evento.

Esta má solução foi sugerida há muitos anos atrás, de acordo com os resultados da pesquisa. Ainda não encontrei outra solução de trabalho. Se o teste deve ser conduzido em 10 símbolos, então são lançados 9 indicadores.

Suponhamos que temos um consultor especializado que aumenta o contador em cada tic tac.

Estou a correr com um símbolo no testador, onde está 1 milhão de carraças. O contador mostra 1 milhão.

Cheguei também a outro símbolo e ele mostra 1 milhão.

Coloquei-o através de dois símbolos ao mesmo tempo. Não mostra 2 milhões.

Está claro agora?

O Conselheiro Especialista só será chamado em cada tick do segundo símbolo se esta EA for anexada ao gráfico do segundo símbolo.

Não precisa de se preocupar com nenhum evento de cartas. Tudo já foi feito antes de si, só tem de olhar à sua volta.

1. Por exemplo, faz-se um temporizador de 1 segundo.

2. Organiza um loop de zero a 100 no OnTimer com Sleep(10) e controla-o para não correr mais de 1 segundo.

3. Analise as ferramentas que desejar utilizando as consultas SymbolInfoTick.

Esta construção também funcionará no testador.

PS é melhor fazer o temporizador por um período mais longo, por exemplo por 3600 segundos.

E o laço deve ser organizado não por um segundo, mas por menos de uma hora. Com verificação obrigatória IsStopped()

O sono, a propósito, é obrigatório. Caso contrário, pendurará o testador. Bem, os recursos do sistema serão consumidos durante o trabalho habitual do Conselheiro Especialista.