错误、漏洞、问题 - 页 304

 
Yedelkin:

我从 MQL5 Reference /Language Basics / Functions中获取这个函数。

但编译器打印出'(' - 分号是应该的

它是什么意思?

我已经用编辑部的例子进行了检查(替换了第一个传递的参数)。 一切正常,没有发生错误。

正确的帮助例子是这样的

//function linfunc
double linfunc(double a, double b)
{
return(a + b);
}

我只在一次测试中得到了类似你个人的信息,当时我把第一个大括号换成了圆括号。然后我收到了这个消息

'(' - 希望有分

如果括号的数量(右和左)不匹配,会产生以下警告

';' - 意外的令牌
'}'- 分号是预期的

PS

如果我试图编译当前的例子(有一个俄文 "a"),编译器会产生一个错误,就像它应该的那样

'a' - 未声明的标识符

 
Yedelkin:

不要为别人编造不存在的东西 :)在编辑器中,这个符号被立即修复,这是理所当然的。当光标位于开头的小括号前面,而不是在'a'字符之前时,就会发生错误。作为人类的细心人,你应该在引用的编译器注释中注意到它。

问题仍然是:https://www.mql5.com/ru/forum/1111/page304#comment_48136

解释一下。这个问题的出现,并不是因为我坐下来愚蠢地编译参考书中的例子,而是因为当我创建一个工作函数时出现了这个错误信息。引用参考文献中的例子并不能改变什么。你甚至可以从标题中删除对参数的描述--问题仍然存在。

是的,他有一个错误,很可能与这个例子无关....。

你需要看一下整个代码...

 
Yedelkin:

我从 MQL5 Reference /Language Basics / Functions中获取这个函数。

但编译器打印出'(' - 分号是应该的

它是什么意思?

我们修正了例子中的字母,但我们无法得到这个确切的错误。你能提供完整的代码,以便我们能够重现它吗?
 
Rosh:
例子中的字母已被修复,但这正是我们无法得到的错误。你能提供完整的代码,以便我们能够重现吗?

谢谢大家对这个问题的关注!问题是,没有任何 "完整的代码 "可以启动一个错误。我只是决定检查一下C++教科书中的说法,即一个外部变量的值,作为参数传递给一个函数,不能被该函数改变(或类似的东西--好吧,来自自我教育领域)。我创建了一个原始函数来检查--编译器产生了一个错误。我参考了参考文献,复制了例子,纠正了例子中的符号--还是同样的错误。我曾尝试将该函数插入脚本模板,在专家顾问模板中,错误并没有改变。事实上,"完整的代码 "只包括例子中的函数,它被插入到onTick()或onStart()函数的主体 中。

我晚上会发布这样的伪完整代码,但我不知道是否有帮助。我也会试着让电脑超负荷工作,因为它已经在 "进入睡眠和返回 "模式下使用了一个星期。

 
Rosh:
例子中的字母已经被改正,但不可能出现这种确切的错误。你能提供完整的代码,以便我们能够重现吗?
void OnStart()
  {
   double                       // тип возвращаемого значения
   linfunc (double a, double b)  // имя функции и список параметров
     {
                               // составной оператор
      return (a + b);           // возвращаемое значение
     }
  }
它在某种程度上是这样繁殖的。
 
Swan:
不知何故,这被复制成了这样。

好吧,你正试图在另一个函数中定义一个函数--这是不可接受的。函数调用 部分明确地告诉你这一点。

一个函数可以在程序 的任何地方被声明或描述,即在其他函数之外。一个函数不能在另一个函数中声明或描述。

 
Rosh:

好吧,你正试图在另一个函数中定义一个函数--这是不可接受的。函数调用 部分明确说明了这一点。

谢谢你的澄清!正是我的情况。

理论知识并不能保证其在实践中应用的正确性 :)我的错误。

 

建于392年。

当删除一个图表时,它没有出现在删除列表中。 原来,文件>打开已删除的菜单项不起作用。

不小心关闭了(而不是展开)图表,希望能在被删除的中看到它,然后......

 
Ashes:

建于392年。

当删除一个图表时,它没有出现在删除列表中。 原来,文件>打开已删除的菜单项不起作用。

不小心关闭了(而不是展开)图表,希望能在被删除的中看到它,然后......

勾选方框。


 

有些代理不会远程启动,这是日志。

LE      0       5.0.6.84        14:51:19        login (build 392)
HN      2       Tester  14:51:20        initial synchronization error
JF      2       5.0.6.84        14:51:20        send error 10038
LJ      0       Tester  14:51:20        tester agent shutdown
KO      0       5.0.6.84        15:25:41        login (build 392)
HD      2       Tester  15:25:42        initial synchronization error
NM      0       Tester  15:25:42        tester agent shutdown
HM      0       127.0.0.1       15:36:37        login (build 392)
FK      0       Network 15:36:38        2548 bytes of optimization passes loaded
HM      0       Network 15:36:38        16 bytes of input parameters loaded
HE      0       Network 15:36:38        3788 bytes of group info loaded
GP      0       Network 15:36:38        3358 bytes of tester parameters loaded
HG      0       Network 15:36:38        2948 bytes of input parameters loaded
KL      0       Network 15:36:38        671 bytes of selected symbols loaded
CD      0       Tester  15:36:38        expert file added: Experts\MyExperts\ExpCrossEMA.ex5. 133395 bytes loaded
QS      0       Tester  15:36:38        initial deposit 5000.00 USD, leverage 1:100
PJ      0       Tester  15:36:38        successfully initialized
NP      0       Network 15:36:38        146 Kb of total initialization data received
MG      0       Tester  15:36:38        optimization pass 393 started
LR      0       TesterAgent     15:36:38        Intel Core2 Duo  E8200 @ 2.66 GHz, 2047 MB, PR49
DI      0       Symbols 15:36:40        EURUSD: symbol synchronized, 2904 bytes of symbol info received
QS      0       History 15:36:40        EURUSD: load 704 Kb of history data to synchronize
OF      0       History 15:36:40        EURUSD: history synchronized from 2009.01.02 to 2011.01.31
KK      0       History 15:36:42        EURUSD: contains 366322 M1 records of beginning data from 2009.01.02 10:00 to 2009.12.31 18:59
CH      0       History 15:36:42        EURUSD,M5: history cache reserved for estimated 150171 bars
JO      0       History 15:36:42        EURUSD,M5: history begins from 2009.01.02 10:00
NK      0       Tester  15:36:42        EURUSD,M5 (Alpari-Demo): every tick generating
KS      0       Tester  15:36:42        EURUSD,M5: testing of Experts\MyExperts\ExpCrossEMA.ex5 from 2010.01.01 00:00 to 2011.01.01 00:00 started with inputs:
PN      0       Tester  15:36:42          Inp_Signal_CrossEMA_FastPeriod=30
GG      0       Tester  15:36:42          Inp_Signal_CrossEMA_SlowPeriod=18
DS      0       Tester  15:36:42          Inp_Expert_Title=ExpCrossEMA
MK      0       Tester  15:36:42          Inp_Money_FixLot_Percent=10
FM      0       Tester  15:36:42          Inp_Money_FixLot_Lots=0.1
GO      0       ExpCrossEMA (EURUSD,M5) 15:36:42        2010.01.01 00:00:00   CSignalCrossEMA::ValidationSettings: period of slow EMA must be greater than period of fast EMA
RF      0       ExpCrossEMA (EURUSD,M5) 15:36:42        2010.01.01 00:00:00   OnInit: error signal parameters
DM      2       Tester  15:36:42        tester stopped because OnInit failed
FG      0       Network 15:36:42        16 bytes of tester parameters received
PR      0       Tester  15:36:42        optimization pass 1817 started
FK      0       Tester  15:36:42        initial deposit 5000.00 USD, leverage 1:100
FL      0       Tester  15:36:44        EURUSD,M5 (Alpari-Demo): every tick generating
GE      0       Tester  15:36:44        EURUSD,M5: testing of Experts\MyExperts\ExpCrossEMA.ex5 from 2010.01.01 00:00 to 2011.01.01 00:00 started with inputs:
GE      0       Tester  15:36:44          Inp_Signal_CrossEMA_FastPeriod=28
KM      0       Tester  15:36:44          Inp_Signal_CrossEMA_SlowPeriod=49
DJ      0       Tester  15:36:44          Inp_Expert_Title=ExpCrossEMA
IM      0       Tester  15:36:44          Inp_Money_FixLot_Percent=10
RF      0       Tester  15:36:44          Inp_Money_FixLot_Lots=0.1
GO      0       Tester  15:36:45        output to log disabled
IO      0       Tester  15:37:10        OnTester result 0

虽然通过localhost这个代理在本地工作。

可能的原因是什么?