Erros, bugs, perguntas - página 2965

 
fxsaber:

Aguardando por este.

Sim, interessante também, se não são os ficheiros, claro, se sim, o mapeamento acima sugerido é melhor

 
fxsaber:

Envio carraças do indicador através disto: sparam contém MqlTick, lparam - número de carraça.

O Conselheiro Especialista apanha estes carrapatos no OnChartEvent. E precisa de compreender se o tick actual é o mais real ou não? Isto é, há uma fila de carraças ou está vazia?

Para isso, lê o número (a tarefa é ler este número) do último tick enviado pelo indicador. Se a carraça tiver o mesmo número - a fila está vazia, e é possível começar a trabalhar com carraças.


E durante o funcionamento da OnTick, após OrderSend é necessário verificar se o indicador enviou mais carraças. Para isso, precisamos novamente de ler o número do indicador. E pode haver mais de uma centena de tais verificações durante um OnTick. É por isso que precisamos de o ler rapidamente.

Só faço a verificação se não passarem menos de milissegundos do anterior. Esta abordagem é razoável e reduz ainda mais a carga.

 

Pode dizer-me.

É possível tirar o valor do lote do painel terminal padrão? Que se encontra no canto superior esquerdo do terminal.

Posso programar o menu de um indicador ou de um Expert Advisor? Por exemplo, utilizando o botão.

 
fxsaber:

Só faço a verificação se tiver decorrido pelo menos um milissegundo desde o anterior. Esta abordagem acabou por se revelar razoável e reduziu ainda mais a carga.

Talvez eu tenha entendido mal, pode ligar a identificação do evento a um símbolo e não passar outros parâmetros

 
Fast235:

Talvez tenha entendido mal, pode ligar a identificação do evento a um símbolo e não passar os outros parâmetros de forma alguma

Muito provavelmente.

 
fxsaber:

Aguardando por este.

Pense - o cérebro tem de funcionar. Desculpas - Não sou um programador, etc. - não são aceites. Eu próprio sou músico. Dominei C++ sozinho com a ajuda do livro para principiantes em 2012.

Penso que é ainda mais fácil para os não programadores, porque não existem dogmas e estereótipos. Por exemplo, este"pequeno monstro" era 2 vezes mais curto enquanto que este supostamente"código bom mas incompreensível" era 3 vezes mais curto.

Entretanto, posso dar-lhe uma solução para o seu problema anterior:

Fórum sobre comércio, sistemas de comércio automatizados e testes estratégicos

Erros, Erros, Perguntas

A100, 2020.10.05 20:50

Tão rápido? Nem todos os peritos aderiram ainda... esperar uma semana.

Dica: isto também funciona (mas a solução é ligeiramente diferente)

#define  MACRO(  x, y, z )       enum nn##z { y = x };
#define  MACRO2( x, y )          MACRO( x, y, __LINE__ )
 

Erro durante a execução:

void OnStart()
{
    Print( StringToTime( "ABCDEF" ));
}

Resultado: 2021.02.19 01:00:00

Previsto: Data e hora erradas

 
A100:

Erro durante a execução:

Resultado: 2021.02.19 01:00:00

Esperado: data/hora errada

Discutido.

 
A100:

Pense - o cérebro tem de funcionar.

A opção via SHORTNAME do indicador é possível.
 
A100:

este"pequeno monstro" saiu duas vezes mais curto.

Não me parece.

Razão: