Características da linguagem mql4, sutilezas e técnicas - página 7

 
Artyom Trishkin:

Então eu não entendo nada disso. O que você quer dizer com "OrderCommission() armazena dados não arredondados a centavos"? Onde eles são arredondados? E como eles são arredondados?

Na GUI, relatórios e OrderPrint a centavos.

 
fxsaber:

Na GUI, relatórios e OrderPrint para os centavos.

100,12345 é arredondado para 100,12 ?

 
Artyom Trishkin:

100,12345 arredondado para 100,12 ?

Sim.

 
//+----------------------------------------------------------+
//|В скрипте могут присутствовать функции OnInit() и OnDeinit|
//+----------------------------------------------------------+
#property   strict

void OnInit()
{
  Alert("1. Инициализация скрипта");
}

void OnStart()
{
  Alert("2. Расчет");
}

void OnDeinit(const int Причина)
{
  string Прич[3]={"Эксперт прекратил свою работу, вызвав функцию ExpertRemove()",
                  "Программа удалена с графика",
                  "Программа перекомпилирована"};

  Alert(3,". ",Прич[Причина]);
}

O script pode ter funções OnInit() e OnDeinit

é útil se o roteiro estiver em loop. Depois colocamos operações preparatórias no OnInit(), um loop no OnStart() e o término do programa no OnDeinit()

 
Comentários não relacionados a este tópico foram movidos para"Qualquer pergunta de novatos sobre MQL4, ajuda e discussão sobre algoritmos e códigos".
 
Comentários não relacionados a este tópico foram movidos para"Qualquer pergunta de novatos sobre MQL4, ajuda e discussão sobre algoritmos e códigos".
 
Comentários não relacionados a este tópico foram movidos para"Qualquer pergunta de novatos sobre MQL4, ajuda e discussão sobre algoritmos e códigos".
 
Características do MT5 para cross-platform
// https://www.mql5.com/ru/docs/files/fileload
template <typename T>
long FileLoad( const string FileName, T &Buffer[], const int CommonFlag = 0 )
{
  long Res = -1;
  const int handle = FileOpen(FileName, FILE_READ | FILE_BIN | CommonFlag);
  
  if (handle != INVALID_HANDLE)
  {
    if (!(Res = FileReadArray(handle, Buffer)))
      Res = -1;
    
    FileClose(handle);
  }
  
  return(Res);  
}
// https://www.mql5.com/ru/docs/files/filesave
template <typename T>
bool FileSave( const string FileName, const T &Buffer[], const int CommonFlag = 0 )
{
  const int handle = FileOpen(FileName, FILE_WRITE | FILE_BIN | CommonFlag);
 
  const bool Res = (handle != INVALID_HANDLE) && FileWriteArray(handle, Buffer);
  
  if (handle != INVALID_HANDLE)
    FileClose(handle);
  
  return(Res);  
}
 
Se você quiser que o indicador não receba Calcular eventos
#property indicator_chart_window
#property indicator_buffers 0

// Фейковый (MT4) OnCalculate
int OnCalculate( const int, const int, const int, const double& [] ) { return(0); }


O tronco será

indicator on custom buffer is not supported yet


e OnCalculate não será chamada.

Razão: