Erros, bugs, perguntas - página 451

 

Suspeito que o testador não regista uma ordem na história que fecha uma posição devido ao fim dos testes.

Como resultado, ao desinicializar o Expert Advisor, não é possível obter dados de lucro da última transacção. A posição é fechada mas não há ordem do tipo OUT.

Como resolver o problema?

 
Obrigado, iremos verificar a contabilidade da última transacção.
 
MoneyJinn:

Suspeito que o testador não regista uma ordem na história que fecha uma posição devido ao fim dos testes.

Como resultado, ao desinicializar o Expert Advisor, não é possível obter dados de lucro da última transacção. A posição é fechada mas não há ordem do tipo OUT.

Como é que resolvo o problema?

As encomendas e ofertas no final do teste são escritas na história com o comentário "fim do teste", pode vê-las no separador "História". Só é possível obter os dados sobre eles na história analisando as encomendas ou tratando do comentário. Porque é que é assim? Aparentemente, são considerados como executados após o fim do intervalo de teste e não são negócios no sentido pleno.

P.S. Desculpe, no separador 'Resultados' do testador de estratégia.

 

Aos criadores de

Por favor faça uma lista das funções da EA / biblioteca a ser formada ao abrir ficheiros *.mq5 e *.mqh.

Gostaria também de ter uma lista separada de classes de objectos, para poder navegar até à declaração de classe.

PS

E, em geral, a formação de uma lista de funções não deve estar ligada à compilação, prima Alt + M e obtenha uma lista de funções (o ficheiro pode estar em qualquer lugar).

 

Por favor, diga-me porque é que o guião dá o erro "array out of range

int aray[];
aray[0]=1;

 
Valmars:

Tanto as ordens como os negócios no final do teste são registados no histórico com o comentário "fim do teste", pode vê-los no separador "Histórico". Os seus dados só podem ser recuperados na desjunção analisando o "Comentário" de ordens ou negócios. Porque é que é assim? Aparentemente, são considerados como executados após o fim do intervalo de teste e não são negócios no sentido pleno.

P.S. Desculpe, no separador 'Resultados' do testador de estratégia.

Infelizmente, o problema é que o terminal apenas publica a ordem de fecho de uma posição com um comentário no separador "Resultados".

A ordem correspondente não é adicionada à lista HistoryDealsTotal().

Na lista geral de encomendas HistoryOrdersTotal(), também falta a encomenda, mesmo que seleccionemos um período com alguma reserva.

 
220Volt:

Por favor, diga-me porque é que o erro "array out of range" é exibido no guião

int aray[];
aray[0]=1;

Esqueceu-se de atribuir/alocar espaço na matriz.

Deve usar o ArrayResize para arrays dinâmicos

 
220Volt:

Por favor, diga-me porque é que o guião dá um erro "array out of range".

int aray[];
aray[0]=1;

Onde é que se diz "matriz fora de alcance"?

Precisa de algo como isto

int ArrDemo[];
int Index = 1;

ArrayResize(ArrDemo,Index);
ArrDemo[Index-1]=1;
Документация по MQL5: Операции с массивами / ArrayRange
Документация по MQL5: Операции с массивами / ArrayRange
  • www.mql5.com
Операции с массивами / ArrayRange - Документация по MQL5
 
220Volt:

Por favor, diga-me porque é que o guião dá o erro "array out of range

int aray[];
aray[0]=1;

Porque é demasiado preguiçoso para ler a documentação.
 
MetaDriver:
Porque é demasiado preguiçoso para ler a documentação.
A resposta mais correcta :)