mql4语言的特点、微妙之处以及技巧 - 页 7

 
Artyom Trishkin:

那我就完全不懂了。你说"OrderCommission()存储的数据没有四舍五入到美分 " 是什么意思?它们在哪里被绕过?它们又是如何圆润的呢?

在GUI中,报告和OrderPrint到cents。

 
fxsaber:

在GUI中,报告和OrderPrint到仙女。

100.12345被四舍五入为100.12 ?

 
Artyom Trishkin:

100.12345四舍五入为100.12 ?

是的。

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

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

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

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

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

脚本可以有OnInit()和OnDeinit函数

是有用的,如果脚本是循环的。然后我们把准备工作放在OnInit()中,把循环放在OnStart()中,把程序终止放在OnDeinit()中。

 
 
 
 
跨平台的MT5功能
// 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);  
}
 
如果你想让指标不接收计算事件
#property indicator_chart_window
#property indicator_buffers 0

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


该日志将是

indicator on custom buffer is not supported yet


OnCalculate 将不会被调用。

 

关于交易、自动交易系统和交易策略测试的论坛

给我一个顾问来收集蜱虫历史

fxsaber, 2018.03.06 21:48

MT4指标错过了刻度,或者终端本身错过了刻度。

原因: