任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1072

 
下午好,5戈比的问题)))你能告诉我,当传递给一个函数时,"&"符号是什么意思?例如:int determineSection_D1(int& askSection_D1,int & bidSection_D1) ?谢谢你。
 
rabanik:    好...在一秒钟内......这意味着什么......当传递 到一个函数时,"&"?

左击图片放大或右击保存

MetaEditor有对MQL-4语言的帮助。阅读整个帮助或至少浏览一下它是有意义的。

 

下午好。

我在屏幕上做了一个按钮,想给它附加一个离线图表打开。我可以用什么函数来指定所需离线图表的路径?

 
下午好,怎样才能使图表每10秒自动更新 一次,这样就不必每次都按 "更新 "按钮了?
 
zert: 更新图示
voidOnTimer() // On timer WindowRedraw(); // 重新绘制窗口。
 
LRA:
voidOnTimer() // On Timer WindowRedraw(); // Redraw window
我不明白都写在哪里,你能用截图给我看看吗?
 
zert:   在哪里写
插入你正在使用的EA中。如果没有,你需要写一个。为什么要起一个新的 绰号?
 
LRA:

左击图片放大或右击保存

MetaEditor有对MQL-4语言的帮助。全部读完是有意义的,或者至少要翻阅一下

谢谢你的答复。我不明白它到底是什么。例如,我有一个带参数的SendOrder(int &Ticket, int Type ,double LT ,double OP=-1 ,int ModeSL=0)函数。此外,如果我在代码中试图在任何条件下引用它,我得到的错误是 "参数作为参考传递,变量"。

请告诉我们该怎么做?谢谢你。

 
rabanik:    如果你去....错误 "参数作为参考传递,变量"。

如果参数没有&按值转移,那就更可靠了。实际的参数被复制,并将副本传递给函数。对函数内的参数所做的改变仍留在函数内。在函数调用处的实际参数保持不变。对于函数来说,传递给它的是常量还是变量并不重要,因为在任何情况下,只有参数的一个副本到达函数。这样做是为了提高可靠性,以保护变量在一个函数中不发生意外变化。

通过引用传递参数 时,指定了&符号,这意味着引用,即变量本身的地址,被传递给了函数。该函数可以改变这个变量,这些变化将影响到调用该函数的函数内部的变量值。那么,对于一个函数来说,要改变一个参数的值,它必须是一个变量,翻译者很可能写道:作为引用传递的参数,预期的变量=引用的参数必须是一个变量。

如果再有疑问,我有SendOrder(int &Ticket, int Type ,double LT ,double OP=-1 ,int ModeSL=0)函数,而不是我最好写出函数的调用方式。似乎你把一个数字作为第一个参数传递,这没有意义。在这个参数中,你的函数试图返回该订单在经纪人数据库中的编号。显然,这应该是一个变量。如果有疑问,请看一下功能。而函数是TRUE,以改变被传递的数字,它希望在那个地方有一个变量。

 

从一个例子中不是更容易理解吗?

void OnStart()
{
 int a = 5;
 int b = 7;
 int c = f(a, b);
 Print("a = ", a, ": b = ", b": c = ", c);
}

int f(int k, int n)
{
 k += 2;
 return(k+n);
}

//результат a = 5: b = 7: с = 14

另一种选择

void OnStart()
{
 int a = 5;
 int b = 7;
 int c = f(a, b);
 Print("a = ", a, ": b = ", b": c = ", c);
}

int f(int &k, int n)
{
 k += 2;
 return(k+n);
}

//результат a = 7: b = 7: с = 14

这就是区别。