如何编码? - 页 143

 
wolfe:
你必须包括标准库。

EX:

#include

Error=GetLastError();

Print("ERROR = ", ErrorDescription(Error));

ErrorDescription()如果是标准库中返回一个字符串的函数。

希望这有帮助。

感谢Wolfe的帮助

它的工作~~

我发现这个代码可以在本地脚本样本 "trade.mq4 "中找到。

 
chiwing:
当打开/关闭/修改订单发生错误时,它有一个代码。

error=GetLastError()。

Print("LastError = ",error)

但是我想打印error_string~~。

这句话是什么意思?

谢谢你

你必须包括标准库

EX:

#include

Error=GetLastError();

Print("ERROR = ", ErrorDescription(Error));[/PHP]

ErrorDescription() is a function that returns a string in the standard library.

[PHP]string ErrorDescription(int error_code)

{

string error_string;

//----

switch(error_code)

{

//---- codes returned from trade server

case 0:

case 1: error_string="no error"; break;

case 2: error_string="common error"; break;

case 3: error_string="invalid trade parameters"; break;

case 4: error_string="trade server is busy"; break;

case 5: error_string="old version of the client terminal"; break;

case 6: error_string="no connection with trade server"; break;

case 7: error_string="not enough rights"; break;

case 8: error_string="too frequent requests"; break;

case 9: error_string="malfunctional trade operation (never returned error)"; break;

case 64: error_string="account disabled"; break;

case 65: error_string="invalid account"; break;

case 128: error_string="trade timeout"; break;

case 129: error_string="invalid price"; break;

case 130: error_string="invalid stops"; break;

case 131: error_string="invalid trade volume"; break;

case 132: error_string="market is closed"; break;

case 133: error_string="trade is disabled"; break;

case 134: error_string="not enough money"; break;

case 135: error_string="price changed"; break;

case 136: error_string="off quotes"; break;

case 137: error_string="broker is busy (never returned error)"; break;

case 138: error_string="requote"; break;

case 139: error_string="order is locked"; break;

case 140: error_string="long positions only allowed"; break;

case 141: error_string="too many requests"; break;

case 145: error_string="modification denied because order too close to market"; break;

case 146: error_string="trade context is busy"; break;

case 147: error_string="expirations are denied by broker"; break;

case 148: error_string="amount of open and pending orders has reached the limit"; break;

//---- mql4 errors

case 4000: error_string="no error (never generated code)"; break;

case 4001: error_string="wrong function pointer"; break;

case 4002: error_string="array index is out of range"; break;

case 4003: error_string="no memory for function call stack"; break;

case 4004: error_string="recursive stack overflow"; break;

case 4005: error_string="not enough stack for parameter"; break;

case 4006: error_string="no memory for parameter string"; break;

case 4007: error_string="no memory for temp string"; break;

case 4008: error_string="not initialized string"; break;

case 4009: error_string="not initialized string in array"; break;

case 4010: error_string="no memory for array\' string"; break;

case 4011: error_string="too long string"; break;

case 4012: error_string="remainder from zero divide"; break;

case 4013: error_string="zero divide"; break;

case 4014: error_string="unknown command"; break;

case 4015: error_string="wrong jump (never generated error)"; break;

case 4016: error_string="not initialized array"; break;

case 4017: error_string="dll calls are not allowed"; break;

case 4018: error_string="cannot load library"; break;

case 4019: error_string="cannot call function"; break;

case 4020: error_string="expert function calls are not allowed"; break;

case 4021: error_string="not enough memory for temp string returned from function"; break;

case 4022: error_string="system is busy (never generated error)"; break;

case 4050: error_string="invalid function parameters count"; break;

case 4051: error_string="invalid function parameter value"; break;

case 4052: error_string="string function internal error"; break;

case 4053: error_string="some array error"; break;

case 4054: error_string="incorrect series array using"; break;

case 4055: error_string="custom indicator error"; break;

case 4056: error_string="arrays are incompatible"; break;

case 4057: error_string="global variables processing error"; break;

case 4058: error_string="global variable not found"; break;

case 4059: error_string="function is not allowed in testing mode"; break;

case 4060: error_string="function is not confirmed"; break;

case 4061: error_string="send mail error"; break;

case 4062: error_string="string parameter expected"; break;

case 4063: error_string="integer parameter expected"; break;

case 4064: error_string="double parameter expected"; break;

case 4065: error_string="array as parameter expected"; break;

case 4066: error_string="requested history data in update state"; break;

case 4099: error_string="end of file"; break;

case 4100: error_string="some file error"; break;

case 4101: error_string="wrong file name"; break;

case 4102: error_string="too many opened files"; break;

case 4103: error_string="cannot open file"; break;

case 4104: error_string="incompatible access to a file"; break;

case 4105: error_string="no order selected"; break;

case 4106: error_string="unknown symbol"; break;

case 4107: error_string="invalid price parameter for trade function"; break;

case 4108: error_string="invalid ticket"; break;

case 4109: error_string="trade is not allowed in the expert properties"; break;

case 4110: error_string="longs are not allowed in the expert properties"; break;

case 4111: error_string="shorts are not allowed in the expert properties"; break;

case 4200: error_string="object is already exist"; break;

case 4201: error_string="unknown object property"; break;

case 4202: error_string="object is not exist"; break;

case 4203: error_string="unknown object type"; break;

case 4204: error_string="no object name"; break;

case 4205: error_string="object coordinates error"; break;

case 4206: error_string="no specified subwindow"; break;

default: error_string="unknown error";

}

//----

return(error_string);

}

希望这对你有帮助。

 

需要帮助 - 公平检查

我需要一个编码的帮助。

我需要一个公平检查,以便将来在不同的EA上实施。

比如说。

检查ema交叉并根据 "ea交叉 "规则开立订单只有当权益不低于-x$ 时才可以开立

 

哦,下次我就不举例了。

我不想做一个EMA交叉EA。

我需要看看我如何在metatrader上写出股票检查

 
EBK:
哦,下次我就不举例了。

我不想做ema交叉ea

我需要看看我如何在metatrader上写出权益检查。

不如这样

Comment("My Equity = "AccountEquity())。

 

有人能回答我一个MQL4的问题吗?

我在想,在MQL4中是否有办法拥有像eval()这样的功能,你可以拥有一个包含MQL4代码的字符串,并将其作为代码而不是字符串进行评估?

 

哦,对不起,我错误地表达了我的观点。

我想编写一些代码(但我无法做到),以便在净值低于某个值时停止EA交易(或EA交易的一部分)。

谢谢你的帮助Roger09,但我不需要在图表上显示净值。

 

关于时间框架的问题

在一个EA中,我使用iCCI的1小时时间框架,如

cci = iCCI(NULL,PERIOD_H1,CCIPeriod,PRICE_TYPICAL,1)。

如果我在1H中运行EA,我将得到一个特定的值。如果我在15M中运行该EA,我希望得到相同的值。

在IBFX上我得到相同的值。在Alpari上则不然。

似乎很奇怪

英瓦尔

 
ingvar_e:
在一个EA中,我使用iCCI的1小时时间框架,例如

cci = iCCI(NULL,PERIOD_H1,CCIPeriod,PRICE_TYPICAL,1)。

如果我在1H中运行EA,我将得到一个特定的值。如果我在15M中运行该EA,我希望得到相同的值。

在IBFX上我得到相同的值。在Alpari上则不然。

似乎很奇怪

英华

通过在你的指标调用中调用PERIOD_H1,你应该只得到H1的数据。 这很奇怪。

 

请帮助。试图从已关闭的交易中获取数据。

我正试图从已关闭的交易中获取数据。只要我只交易一个交易对,我的代码就能正常工作,但如果是多个交易对,就会莫名其妙地搞砸。

for(i=OrdersHistoryTotal(); i>0; i--)

{

if(totalOrders==0 &&Magic==OrderMagicNumber() &&

OrderSelect(i-1 , SELECT_BY_POS,MODE_HISTORY) ==true)

{

CloseTime = OrderCloseTime()。

OpenTime = OrderOpenTime();

OrderLots = OrderLots();

Ticket=OrderTicket()。

}

谁能帮我解决这个问题? 如果Magic匹配,它给出的最后一笔交易关闭的数值是正确的,但如果最后一笔关闭的交易是不同的货币对,那么它给我的票据数据是错误的。

谢谢。

邓小平

原因: