Erros, bugs, perguntas - página 155

 

   if(PositionSelect(_Symbol))
     {
      if(HistorySelectByPosition(PositionGetInteger(POSITION_IDENTIFIER)))
        {
         total=HistoryDealsTotal();
         //total=HistoryOrdersTotal();
         Print("total = "+IntegerToString(total));
         for(i=0; i<total; i++)
           {
           
            ticket=HistoryDealGetTicket(i);
            //ticket=HistoryOrderGetTicket(i);
            if(ticket > 0)
              {
               if(1906 == HistoryDealGetInteger(ticket, DEAL_MAGIC))
               //if(1906 == HistoryOrderGetInteger(ticket, ORDER_MAGIC))
                 {
                  nCount++;
                 }
              }
           }
        }
     }
  

   Print( "Количество сделок по символу "+_Symbol+" "+IntegerToString(nCount));

Se o Expert Advisor estiver a correr numa demonstração ou apenas a correr o guião, ele devolverá o número de negócios,

Mas se o Expert Advisor for testado no testador, ele devolve sempre uma troca neste código.

O código mostra que tentei puxar ambas as ordens e acordos, mas no modo normal tudo é devolvido normalmente, mas no testador apenas um acordo é devolvido.

 
AlexSTAL:

É totalmente irrazoável executar a versão de 32 bits do terminal num sistema operativo de 64 bits, pedir muita memória, e depois ficar surpreendido com a falta de memória.

Utilizar a versão de 64 bits do terminal.

 
Renat:

É totalmente irrazoável executar a versão de 32 bits do terminal num sistema operativo de 64 bits, pedir muita memória, e depois ficar surpreendido com a falta de memória.

Utilizar a versão de 64 bits do terminal.

Obrigado! O problema aqui é que nem todos os que conheço têm 64 bits e tanta memória....

O problema em 32 bits foi resolvido trivialmente - coloquei um limite no número de barras na janela nos cenários globais.

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Доступ к таймсериям и индикаторам / Bars - Документация по MQL5
 
Konstantin83:

Se o Expert Advisor estiver a correr numa demonstração ou apenas a correr o guião, ele devolverá o número de negócios,

Mas se o Expert Advisor for testado no testador, ele devolve sempre uma troca neste código.

O código mostra que tentei puxar ambas as ordens e acordos, mas no modo normal tudo é devolvido normalmente, mas no testador apenas um acordo é devolvido.

Por favor envie-nos o código completo do Consultor Especialista.
 
Graff:
MT5 não funciona através de procurações (http,meias 4,5) Build 328. No entanto, o MT4 funciona bem através destes procuradores.

Como faço para que o MT5 funcione através de um proxy?

 

Aqui vai uma pergunta:

Estou a determinar o número de casas decimais:

int digit=SymbolInfoInteger(symbol, SYMBOL_DIGITS);

Recebo um aviso ao compilar:

possível perda de dados devido à conversão de tipo para dígito variável

Não é claro porquê, uma vez que o tipo de dados é inteiro.

Se eu tentar mudar o tipo de dados para longo, ulong ou qualquer outro, surge um aviso semelhante noutra linha e também para o dígito variável:

SL=NormalizeDouble(SL, digit);

O que é que estou a fazer mal?

 
Tente desta forma:
int digit= (int)SymbolInfoInteger(symbol, SYMBOL_DIGITS);

 
AsAn:

Aqui vai uma pergunta:

Estou a determinar o número de casas decimais:

Recebo um aviso ao compilar:

possível perda de dados devido à conversão de tipo para dígito variável

Não é claro porquê, visto que o tipo de dados a obter é inteiro.

Se eu tentar mudar o tipo de dados para longo, ulong ou qualquer outro, surge um aviso semelhante noutra linha e também para o dígito variável:

O que é que estou a fazer mal?

É fixado desta forma

int digit= (int)SymbolInfoInteger(symbol,SYMBOL_DIGITS);
 
Obrigado. A cura funciona :))
 

Tenho uma pequena sugestão a fazer.

Porque não fazer relatórios no mht(arquivo web), parece mais conveniente para os utilizadores.

1 relatório - 1 ficheiro, não 2 como agora (html e png)