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

 
fxsaber:
在这种情况下,即使没有额外的括号,它也能发挥作用。
支架是为我自己准备的。这样我可以看得更清楚。
 
当在感兴趣的属性下选择正确的功能很累的时候
double TerminalInfo( const ENUM_TERMINAL_INFO_DOUBLE Property )
{
  return(TerminalInfoDouble(Property));
}

long TerminalInfo( const ENUM_TERMINAL_INFO_INTEGER Property )
{
  return(TerminalInfoInteger(Property));
}

string TerminalInfo( const ENUM_TERMINAL_INFO_STRING Property )
{
  return(TerminalInfoString(Property));
}

void OnStart()
{
  Print(TerminalInfo(TERMINAL_COMMUNITY_BALANCE));
  Print(TerminalInfo(TERMINAL_LANGUAGE));
  Print(TerminalInfo(TERMINAL_BUILD));
}
 

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

图书馆:TypeToBytes

fxsaber, 2017.06.13 16:01

string GetDirectory( const string FileName )
{
  int Pos = StringFind(FileName, "\\");
  int LastPos = Pos;
  
  while (Pos >= 0)
  {
    LastPos = Pos;
    
    Pos = StringFind(FileName, "\\", Pos + 1);
  }

  return((LastPos >= 0) ? StringSubstr(FileName, 0, LastPos + 1) : "");
}

// Возвращает список всех файлов по фильтру
int GetFileNames( string &FileNames[], int Pos = 0, string Filter = "*", const int Common_Flag = 0 )
{
  string FileName;
  const long handle = FileFindFirst(Filter, FileName, Common_Flag);

  if (handle != INVALID_HANDLE)
  {    
    const string Directory = GetDirectory(Filter);    
    Filter = StringSubstr(Filter, StringLen(Directory));
    
    do
    {
      const string TmpFileName = Directory + FileName;
      
      ArrayResize(FileNames, Pos + 1);      
      FileNames[Pos] = TmpFileName;      
      Pos++;
        
      if (!FileIsExist(TmpFileName, Common_Flag))
        Pos = GetFileNames(FileNames, Pos, TmpFileName + Filter, Common_Flag);
    }
    while (FileFindNext(handle, FileName));  
    
    FileFindClose(handle);
  }
  
  return(Pos);
}
 
请告诉我HistoryDealSelect函数的 目的是什么,当在HistoryDealGetInteger, HistoryDealGetDouble。
HistoryDealGetString函数,什么时候应该再指定ticket_number?
 
. ...里克-D. ....:
你能告诉我函数HistoryDealSelect 的目的是什么,当在函数HistoryDealGetInteger, HistoryDealGetDouble。
HistoryDealGetString函数,当有必要再次指定ticket_number时?

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

mql5语言的特殊性、微妙性和技巧性

fxsaber, 2017.06.07 22:20

目前有两个历史表,其数据可通过历史功能获得 - 订单表和交易表。

它们的内容只能通过HistorySelect函数来影响。而它发生的情况如下

  • HistorySelect和HistorySelectByPosition - 同时影响两个表。
  • HistoryDealSelect只影响交易表(对当前的订单-历史表没有影响)。
  • HistoryOrderSelect只影响Orders表(不影响当前的Deals-历史表)。

交易表成为一个单一的元素。
 
在一个图表上可以放置的图形对象的数量是否有限制? ) 这不是一个像素图表,而是图形元素--趋势线、矩形等。
 
康斯坦丁
对可以放置在图表上的图形对象的数量是否有限制? 我不是指像素图形,而是图形元素--趋势线、矩形等。
尝试了2000多个 - 它的作用
 
维塔利-穆齐琴科
尝试了超过2000个 - 它工作了

以及如果你必须在每次打勾 时进行修改,那么在资源方面的成本如何降低。

1. 使用2000个图形对象

2.使用类Canvas并在每个tick上创建一个图画,其中包含相同的2000个图形对象的图画

 
康斯坦丁

以及如果你必须在每次打勾 时进行修改,那么在资源方面的成本如何降低。

1. 使用2000个图形对象

2.使用Canvas类,在每个勾上创建一个具有相同的2000个图形对象的图画

帆布会有几倍的生产力,我试过。
 
维塔利-穆齐琴科
帆布会有几倍的生产力,我已经试过了。

我需要在图表上画一个数组的水平线,你能给我一个代码例子吗?

Oops )) 事实证明,网站的帮助是更多的扩展,我找到了我要找的东西--CLineChart类))