初学者的问题 MQL5 MT5 MetaTrader 5 - 页 10

 

mi__x__an:

与该函数是普遍的。


将不会有普遍的功能。
 
Rosh:
尝试看看CComboBox 类和EnumToString 函数。也请看这篇文章在MQL5中创建你自己的图形面板

我已经把这个问题解决了。这个问题有点不同。

如果枚举 类型存在,而它的组成部分未知,是否有可能找到它们?

例如,有一个ENUM_TIMEFRAME 类型

我们的任务是找到所有这种类型的组件:{PERIOD_M1,PERIOD_M2...PERIOD_MN1}或{1,2...49153}

如果你知道该类型的所有组成部分,你可以实现一个函数,该函数将返回枚举 类型的可能值的数组 但是,是否有可能以编程方式知道该类型的组成部分?因为在创建新的枚举 类型时,我们将不得不编写这种新的函数,而且这并不方便。

难道没有任何可能性吗

 
mi__x__an:

uncleVic - 难道没有一种可能性吗?


没有这种可能性,所有枚举值的 软件枚举都没有实现。
Документация по MQL5: Основы языка / Типы данных / Целые типы / Перечисления
Документация по MQL5: Основы языка / Типы данных / Целые типы / Перечисления
  • www.mql5.com
Основы языка / Типы данных / Целые типы / Перечисления - Документация по MQL5
 

可以同时打开多少个文件?

通过使用这个脚本:

   int f[];
   for (int i=0;i<1000;i++)
    {
     ArrayResize(f,i+1,0);
     f[i]=FileOpen(string(i)+".txt",FILE_WRITE|FILE_TXT,"\r\n");
     FileWrite(f[i],string(i));
    }

有可能发现,有64个。

如果是的话,这些信息是否在文件中?我还没有找到。

P.S.: 刚刚遇到--不得不通过经验来确定错误的原因。在我看来,这样的信息可以添加到文档中。

P.S.S:我可能搞错了--那就纠正我。

 
mi__x__an:

可以同时打开多少个文件?

通过使用这个脚本:

有可能发现,有64个。

如果是的话,这些信息是否在文件中?我找不到任何东西。

运行时错误

太多的文件

5001

不能同时打开64个以上的文件

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Ошибки времени выполнения - Документация по MQL5
 
谢谢你的更正。I LastError,忘记检查了。
 

你好。

我有一个小问题:我知道MQL4,但我不知道MQL5。)))

请帮助我为MQL5修改这个代码。

double SpreadOnline;
string SMB; 

int init()
  {
   return(0);
  }

int deinit()
  {
   return(0);
  }

int start()
  {
   SMB=Symbol();
   SpreadOnline = NormalizeDouble(MarketInfo(SMB, MODE_SPREAD),0);

   Comment("Spread - ",SpreadOnline);

   return(0);
  }
 

以专家的形式。

double SpreadOnline=0.0;
string SMB=NULL; 

void OnInit()
  {
  
  }

void OnTick() // OnStart,OnCalculate
  {
   SMB=Symbol();
   
   SpreadOnline = NormalizeDouble(SymbolInfoInteger(SMB,SYMBOL_SPREAD),0);

   Comment("Spread - ",SpreadOnline);

  }
  
void OnDeinit(const int reason)
  {
   
  }
 
谢谢你!))
 
nemo811:
谢谢你!))
先生们!请回答我这个问题。我已经安装了MT5平台并在metaquotes-demo服务器上开了一个模拟账户。我的问题是这样的。metaquotes-demo服务器的时间是什么?日光节约时间的情况如何?如果转换发生在英国,那么在报价历史上,欧洲时间将在同一时间开始,没有任何转变。我的想法正确吗?我主要对2011年1月以来的历史感兴趣。