voidOnStart()
{
double// тип возвращаемого значения
linfunc (double a, double b) // имя функции и список параметров
{
// составной операторreturn (a + b); // возвращаемое значение
}
}
LE 05.0.6.8414:51:19 login (build 392)
HN 2 Tester 14:51:20 initial synchronization error
JF 25.0.6.8414:51:20 send error 10038
LJ 0 Tester 14:51:20 tester agent shutdown
KO 05.0.6.8415:25:41 login (build 392)
HD 2 Tester 15:25:42 initial synchronization error
NM 0 Tester 15:25:42 tester agent shutdown
HM 0127.0.0.115:36:37 login (build 392)
FK 0 Network 15:36:382548 bytes of optimization passes loaded
HM 0 Network 15:36:3816 bytes of input parameters loaded
HE 0 Network 15:36:383788 bytes of group info loaded
GP 0 Network 15:36:383358 bytes of tester parameters loaded
HG 0 Network 15:36:382948 bytes of input parameters loaded
KL 0 Network 15:36:38671 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:38146 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 from2009.01.02 to 2011.01.31
KK 0 History 15:36:42 EURUSD: contains 366322 M1 records of beginning data from2009.01.0210:00 to 2009.12.3118: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 from2009.01.0210: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 from2010.01.0100:00 to 2011.01.0100: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:422010.01.0100:00:00 CSignalCrossEMA::ValidationSettings: period of slow EMA must be greater than period of fast EMA
RF 0 ExpCrossEMA (EURUSD,M5) 15:36:422010.01.0100:00:00 OnInit: error signal parameters
DM 2 Tester 15:36:42 tester stopped because OnInit failed
FG 0 Network 15:36:4216 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 from2010.01.0100:00 to 2011.01.0100: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
我从 MQL5 Reference /Language Basics / Functions中获取这个函数。
但编译器打印出'(' - 分号是应该的
它是什么意思?
我已经用编辑部的例子进行了检查(替换了第一个传递的参数)。 一切正常,没有发生错误。
正确的帮助例子是这样的
我只在一次测试中得到了类似你个人的信息,当时我把第一个大括号换成了圆括号。然后我收到了这个消息
'(' - 希望有分 号
如果括号的数量(右和左)不匹配,会产生以下警告
';' - 意外的令牌
'}'- 分号是预期的
PS
如果我试图编译当前的例子(有一个俄文 "a"),编译器会产生一个错误,就像它应该的那样
'a' - 未声明的标识符
不要为别人编造不存在的东西 :)在编辑器中,这个符号被立即修复,这是理所当然的。当光标位于开头的小括号前面,而不是在'a'字符之前时,就会发生错误。作为人类的细心人,你应该在引用的编译器注释中注意到它。
问题仍然是:https://www.mql5.com/ru/forum/1111/page304#comment_48136
解释一下。这个问题的出现,并不是因为我坐下来愚蠢地编译参考书中的例子,而是因为当我创建一个工作函数时出现了这个错误信息。引用参考文献中的例子并不能改变什么。你甚至可以从标题中删除对参数的描述--问题仍然存在。
是的,他有一个错误,很可能与这个例子无关....。
你需要看一下整个代码...
我从 MQL5 Reference /Language Basics / Functions中获取这个函数。
但编译器打印出'(' - 分号是应该的
它是什么意思?
例子中的字母已被修复,但这正是我们无法得到的错误。你能提供完整的代码,以便我们能够重现吗?
谢谢大家对这个问题的关注!问题是,没有任何 "完整的代码 "可以启动一个错误。我只是决定检查一下C++教科书中的说法,即一个外部变量的值,作为参数传递给一个函数,不能被该函数改变(或类似的东西--好吧,来自自我教育领域)。我创建了一个原始函数来检查--编译器产生了一个错误。我参考了参考文献,复制了例子,纠正了例子中的符号--还是同样的错误。我曾尝试将该函数插入脚本模板,在专家顾问模板中,错误并没有改变。事实上,"完整的代码 "只包括例子中的函数,它被插入到onTick()或onStart()函数的 空主体 中。
我晚上会发布这样的伪完整代码,但我不知道是否有帮助。我也会试着让电脑超负荷工作,因为它已经在 "进入睡眠和返回 "模式下使用了一个星期。
例子中的字母已经被改正,但不可能出现这种确切的错误。你能提供完整的代码,以便我们能够重现吗?
不知何故,这被复制成了这样。
好吧,你正试图在另一个函数中定义一个函数--这是不可接受的。函数调用 部分明确地告诉你这一点。
一个函数可以在程序中 的任何地方被声明或描述,即在其他函数之外。一个函数不能在另一个函数中声明或描述。
好吧,你正试图在另一个函数中定义一个函数--这是不可接受的。函数调用 部分明确说明了这一点。
谢谢你的澄清!正是我的情况。
理论知识并不能保证其在实践中应用的正确性 :)我的错误。
建于392年。
当删除一个图表时,它没有出现在删除列表中。 原来,文件>打开已删除的菜单项不起作用。
不小心关闭了(而不是展开)图表,希望能在被删除的中看到它,然后......
建于392年。
当删除一个图表时,它没有出现在删除列表中。 原来,文件>打开已删除的菜单项不起作用。
不小心关闭了(而不是展开)图表,希望能在被删除的中看到它,然后......
勾选方框。
有些代理不会远程启动,这是日志。
虽然通过localhost这个代理在本地工作。
可能的原因是什么?