Discussão do artigo "Expert Advisor Universal: Integração com os Módulos de Sinais Padrão do MetaTrader (parte 7)" - página 2

 
Vasiliy Sokolov:
Nesse caso, as majics são exigências do CExpert, do qual o próprio sinal é herdado. O sinal não precisa disso, pelo menos no CStrategy, porque ele não coloca ordens pendentes. No entanto, alguma mágica é especificada por precaução.

Ou seja, a mágica usada é aquela que é passada ao inicializar uma instância do CStrategy? Afinal, a classe CTrade também precisa de um mageq válido para funcionar.

P.S. Outra pergunta: "Nas imagens, você mostra sinais indicadores (setas) ou barras destacadas de onde veio o sinal. É assim que as classes de sinal incorporadas funcionam (com desenho)? Ou é um desenho manual?" Por que pergunto? - Em minhas bibliotecas (para MT4), os sinais são desenhados, e há também uma configuração "para quantas barras seguidas o sinal é verificado".

 
Гога:

Ou seja, a mágica usada é aquela que é passada durante a inicialização da instância do CStrategy? Afinal de contas, para que a classe CTrade funcione, também é necessária uma mágica válida.

P.S. Outra pergunta: "Nas imagens, você mostra sinais indicadores (setas) ou barras destacadas de onde veio o sinal. É assim que as classes de sinal incorporadas funcionam (com desenho)? Ou é um desenho manual?" Por que pergunto? - Em minhas bibliotecas (para MT4), os sinais são desenhados, e há também uma configuração "para quantas barras seguidas o sinal é verificado".

Não, essas setas não são sinais, mas setas do testador de estratégia. É assim que ele mostra a abertura ou o fechamento de posições. Se você se refere às setas da Figura 3, trata-se apenas de um desenho.
 
Vasiliy Sokolov:
Nesse caso, as majics são exigências do CExpert, do qual o próprio sinal é herdado. O sinal não precisa disso, pelo menos no CStrategy, porque ele não coloca ordens pendentes. No entanto, algum tipo de mágica é especificado por precaução.

Repito minha pergunta: "Então, é usada a mágica que é passada ao inicializar uma instância do CStrategy? Afinal de contas, a classe CTrade também precisa de uma mágica válida para funcionar."

P.S. Verifique seu e-mail.

 
Гога:

Repito a pergunta: "Então, é usada a mágica que é passada ao inicializar uma instância de CStrategy? Afinal de contas, a classe CTrade também precisa de uma mágica válida para funcionar."

P.S. Verifique seu e-mail.

Sim, a magia que é passada para o CStrategy é usada. Outros interditos não são usados, embora sejam usados para preencher o sinal.
 

É possível combinar padrões. Por exemplo, para usar o padrão nº 3 junto com o padrão nº 2, você precisa criar um campo de bits, cujos quarto e terceiro dígitos seriam iguais a um: 1010.

Há um erro de digitação aqui ou não?

 
newnek:

É possível combinar padrões. Por exemplo, para usar o padrão nº 3 junto com o padrão nº 2, você precisa criar um campo de bits, cujos quarto e terceiro dígitos seriam iguais a um: 1010.

Há um erro de digitação aqui ou não?

Sim, de fato, há um erro de digitação. Corrigido para:

Por exemplo, para usar o padrão nº 3 em conjunto com o padrão nº 2, você precisaria compor um campo de bits cujos quarto e terceiro dígitos seriam iguais a um: 1100. O mesmo valor no formato decimal seria o número 12.

 

Agradeço a Vasiliy por sua contribuição. Aprendi muito. Baixei todo o código, mas há um erro de compilação no arquivo Panel.mqh:

'At' - ponteiro de objeto esperado Panel.mqh 210 39

'At' - object pointer expected Panel.mqh 228 37

Você pode verificar isso?

 

Não é possível compilá-lo....

'CSeries' - identifier already used     Series.mqh      18      7
see previous declaration of 'CSeries    Series.mqh      11      7
'm_symbol' - struct member already defined      Series.mqh      25      22
'CSeries' - member function already defined     Series.mqh      32      22
'~CSeries' - member function already defined    Series.mqh      33      22
'~CSeries' - member function not defined        Series.mqh      72      11


 

Nice work! Your tutorials are great.

But I'm having trouble to compile StrategySignals.mq5. Follows the log of errors:

cannot cast 'DoubleValue' to 'ULongValue'    Dictionary.mqh    226    14

cannot cast 'DoubleValue' to 'ULongValue'    Dictionary.mqh    226    14

 
igorsds:

Nice work! Your tutorials are great.

But I'm having trouble to compile StrategySignals.mq5. Follows the log of errors:

cannot cast 'DoubleValue' to 'ULongValue'    Dictionary.mqh    226    14

cannot cast 'DoubleValue' to 'ULongValue'    Dictionary.mqh    226    14

In line 226 of Dictionary.mqh, I replaced:

lValue=(ULongValue)dValue;

for

lValue.value=(ulong)dValue.value;

I guess it's OK now.