Erros, bugs, perguntas - página 503

 
snookeredman:

Boa tarde!

Por favor ajude-me a compreender ....

void OnStart()
  {
    int h;
    int    m_integer  = 23;
    string m_string   = "EURUSD";
    double m_double   = 1.2345678;    
    
    h=FileOpen("TEST_CSV_FILE.CSV",FILE_CSV|FILE_WRITE,";");
    FileWrite(h,  
              m_integer, 
              m_string, 
              DoubleToString(NormalizeDouble(m_double,5),5));
    FileWrite(h,  
              m_integer, 
              m_string, 
              DoubleToString(NormalizeDouble(m_double,5),5));
    FileClose(h);
  }

Apropriadamente, o tamanho do ficheiro é 2 vezes o tamanho pretendido.

Experimente assim :

void OnStart()
  {
    int h;
    int    m_integer  = 23;
    string m_string   = "EURUSD";
    double m_double   = 1.2345678;    
    
    h=FileOpen("TEST_CSV_FILE.CSV",FILE_CSV|FILE_WRITE|FILE_ANSI,";");                     // Добавлен флаг FILE_ANSI
    FileWrite(h, m_integer, m_string, DoubleToString(NormalizeDouble(m_double,5),5));
    FileWrite(h, m_integer, m_string, DoubleToString(NormalizeDouble(m_double,5),5));
    FileClose(h);
  }
Penso que isto é exactamente o que procurava.
 
O que está a acontecer? Durante quanto tempo estes servidores se desligarão e as falhas continuarão? Agora o site está de novo online após três dias de inactividade, mas os servidores estão novamente desligados e o terminal não está ligado
 
Bene_Nota:

O que está a acontecer? Durante quanto tempo estes servidores se desligarão e as falhas continuarão? Agora o site está de novo online após três dias de inactividade, mas os servidores estão novamente desligados e o terminal não está ligado
O meu terminal está ligado desde ontem à noite. Ponto de Acesso : EUA, Europa, Hong Kong
 

Graças a TheXpert, MetaDriver pela ajuda.

A bandeira FILE_ANSI ajudou, e tentar jogar com páginas de código sem esta bandeira foi infrutífero.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов - Документация по MQL5
 

Cavalheiros, como sabem o número total de elementos de um formulário em C++?

 

Boa tarde, gostaria de contactar os programadores, mas primeiro um pequenohistorial...

Uma vez que agora é impossível ocupar várias posições, vejo que a saída mais sensata para mim próprio é estabelecer ordens pendentes. Mas há um problema com a definição das encomendas uma a uma. Temos de definir três ordens (uma de execução imediata e duas ordens pendentes em vez de TP e SL). E se eu fizer uma encomenda e não puder fazer duas? E se a minha empresa de corretagem for almoçar? O meu depósito pode não gostar. Pretende abrir várias encomendas (tudo ou nada)?

 
220Volt:

Pretende tornar possível o estabelecimento de múltiplas encomendas (tudo ou nada)?

Infelizmente, não.

Isto é praticamente impossível, especialmente dentro de portões de troca, onde tais encomendas complexas não são, em princípio, apoiadas.

 

Estou a tentar pedir a data de início da história e recebo zeros.

O teste está em modo de visualização, todas as carraças estão em H1.

Verificação do código de teste

int DS[];
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   int total=SymbolsTotal(false);
   ArrayResize(DS,total);
   for(int i=0;i<total;i++)
   {
    DS[i]=0;
    string symbol=SymbolName(i,false);
    
    while(!SymbolIsSynchronized(symbol)) 
    {
     DS[i]=(int)SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE);
     Sleep(30);
    }
    DS[i]=(int)SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE);
    Print("История по символу ",symbol," Синхронизирована. дата начала истории ",TimeToString(DS[i])," = ",DS[i]);
   }
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+

O anexo é um diário de bordo.

 

O optimizador de código tem limitações quanto ao tamanho da árvore de objectos?

Recebo um "erro de optimização da árvore" na fase de compilação quando aumento o número de objectos.

P.S. No modo de depuração, a compilação é feita.

 
sergey1294:

Estou a tentar solicitar a data de início da história e recebo zeros.

O teste está em modo de visualização, todas as carraças estão em H1.

Verificação do código de teste

O anexo é um diário de bordo.

Primeiro, qual é o sentido de descarregar forçosamente a história no testador? O próprio testador descarregará do servidor o histórico necessário e disponível, se houver pedidos no código ou operações comerciais com os símbolos necessários. Como o seu código está vazio, o testador não precisa de simular carraças para outros símbolos, excepto para o símbolo, no qual o teste é realizado. E foi isso que o testador descarregou a sua história. E como não há uma história (no testador), acabamos por ficar com 0.

Em segundo lugar, mesmo que se aumente o código chamando todo o histórico para todos os símbolos, é improvável que o descarregamento de todo o histórico disponível para todos os símbolos seja bem sucedido, e uma falha ocorrerá algures. Uma vez que o testador utiliza a base de citações terminais, necessita de descarregar o histórico necessário.