MetaTrader 4 Build 529测试版发布,带有新的编译器 - 页 3

 

现在搞不清楚如何连接include文件...

以下错误信息无法打开 "E:\Terminal\MQL4\include\Commentary.mqh "包含文件 21 11

 
Barbarian:
什么计时器和什么循环?

int OnInit()
  {
//--- create timer
   EventSetMillisecondTimer(500);
      
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();
      
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
    static int Count = 1;
    RefreshRates();
    Comment("\n\n","Ask = ", Ask, "\nBid = ", Bid, "\nCount = ", Count);
    Count++;
  }
//+------------------------------------------------------------------+
//| Trade function                                                   |
//+------------------------------------------------------------------+
void OnTrade()
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Tester function                                                  |
//+------------------------------------------------------------------+
double OnTester()
  {
//---
   double ret=0.0;
//---

//---
   return(ret);
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
    Print(
      "id = ", id,
      ";   lparam = ", lparam,
      ";   dparam = ", dparam,
      ";   sparam = ", sparam
    );
   
  }


顺便说一下,OnChartEvent() 也能工作,特别是onMouseMove和onClick。

 
VOLDEMAR:

现在搞不清楚如何连接include文件...

以下错误信息无法打开 "E:\Terminal\MQL4\include\Commentary.mqh "包含文件 21 11


我重新创建并编译了代码--一切正常。
 

在测试器中启动专家顾问后,终端窗口关闭。

原因就在这一行(functionOnInit())。

if(Bars<250) {Alert("ERROR HISTORY BARS<250"); return(INIT_FAILED);}

在图表上启动后,专家顾问产生错误"ERROR HISTORY BARS<250"。

Print(Bars);
它显示为0。 窗口中共有16387条。
 
像Wingdings这样的字体在图形应用中已经消失了。新的MT4必须是unicode...但这只是在当下的热潮中。也许问题出在其他方面。
 

我不明白为什么这个代码返回00 00 00 00

string TimeS(string txt)
{
string d,h,m,s,n; 
d=DoubleToStr(Day()    ,0); if (StringLen(d)<2) d="0"+d;
h=DoubleToStr(Hour()   ,0); if (StringLen(h)<2) h="0"+h;
m=DoubleToStr(Minute() ,0); if (StringLen(m)<2) m="0"+m;
s=DoubleToStr(Seconds(),0); if (StringLen(s)<2) s="0"+s;
if (StringLen(txt)==6)
n =txt+d+" "+h+"."+m+"."+s+" ";
else
n =txt+d+" "+h+":"+m+":"+s+" ";
return(n);
}
 
nasdaq:

在测试器中启动专家顾问后,终端窗口关闭。

原因就在这一行(functionOnInit())。

在图表上启动后,专家顾问产生错误"ERROR HISTORY BARS<250"。

它显示为0。 窗口中共有16387条。

是的,我们将修复这个错误--明天会有一个更新。
 
VOLDEMAR:

我不明白为什么这个代码返回00 00 00 00

试着在每一行中使用一个更紧凑的结构,将数字 转换为字符串,作为开始。

d = LeadZero(Day());

string LeadZero(int value)
{
   if (value > 9)
      return (DoubleToStr(value, 0));

   return ("0" + DoubleToStr(value, 0));
}
 
为了确保其他终端的更新不受影响,在成功更新一个测试终端后,只需删除目录C:\ProgramData\MetaQuotes\WebInstall
 
Scriptong:

试着在每一行中使用一个更紧凑的结构,将数字转换为字符串开始。


甚至像这样

Comment(Day());

平局 0 ...