MQL4中的void函数可以做什么?

时间:2017-06-01 15:20:54

标签: mql4

MQL4新手的问题。

void 函数在MQL4中可以做什么限制?

我的意思是void功能代码可以做什么,什么不能做?

4 个答案:

答案 0 :(得分:2)

function factura_si() { var n = getParameterByName('n'); var string_url = "https://www.webpage.php?" + "&n=" + n; window.location = string_url; } function getParameterByName(n) { //call server or somthing... return "somo_path"; } ”仅表示此功能没有返回值。因此,void函数无法“返回值”。

希望有帮助....

答案 1 :(得分:2)

您可以将所有内容放在void函数中,以便放入doubleintstringbool,...函数中。函数返回的变量类型有哪些变化。

例如,以下 int 函数返回两个值的总和。

int sum( int a, int b )
{
    return( a + b );
}

您可以将此功能转换为 void 功能,而不是返回值,您可以将值打印到控制台。

void printsum( int a, int b )
{
    Print( a + b );
}

在您的跟进回答中,您会询问有关创建 void 功能的功能,该功能可以移动平均线。以下void函数将接受不同的句点作为输入并打印MA。该函数不能直接返回任何值的值(除非你通过引用使用全局变量/传递变量),但它仍然可以接受值并根据这些值做事。

void PrintMA( int period )
{
    Print( iMA( NULL, 0, period, 8, MODE_SMMA, PRICE_MEDIAN, 1 ) );
}

您的跟进答案中的 int 功能只会返回0,因此您可以将其换成void函数并删除return(0)它将会和以前一样工作。 只需更改功能名称 start 是您应避免使用的功能名称

如果您阅读了编译日志,您将能够看到为什么您的上述答案无法编译。

答案 2 :(得分:1)

void function(...) 唯一不能做的就是参加MQL4分配声明,即:

someVariable = aVoidDeclaredFUNCTION();

除此之外,人们可以做任何可以想象到的事情。

这有什么用?

void aVoidDeclaredFUNCTION( const int  thisParameterWillNeverChangeItsVALUE,
                                  int &thisParameterWillBeAbleToChangeVALUE
                            ){...}

使用技术传递by-Value,resp。传递引用( &passVariableByREF ),即使void function(...)可以处理和“返回”-results,如果它不足以导致{{1}中的某些操作身体,本身。

答案 3 :(得分:0)

“无效”仅表示该函数不返回任何内容。这些对于分割任何独立的代码段很有用(例如,使代码更有条理,或防止重复代码...等)。

观看以下简短视频(不是我自己制作的),主题为:Void Functions