交易机器人在市场发布前必须经过的检验 - 页 17

 
我的机器人验证失败,因为出现了资金不足 的错误,我试着使用允许的最小手数,但仍然失败,谁来帮帮我?
附加的文件:
 
资金不足 出错,我试过使用允许的最小手数,但还是失败,谁能帮帮我?

您没有正确计算保证金要求。如果保证金要求高于允许的最小交易量,请使用 OrderCalcMargin 适当调整订单量,甚至不下单。

这一点将在文章的第二点中讨论...执行交易操作的资金不足

 

你好、

有人能帮助修复验证错误吗?EA 可以在真实交易账户上进行开仓和平仓操作,但无法通过验证。请告知需要添加哪些代码,谢谢。


 

大家好,知道我为什么会出现 "无交易操作 "和 "测试器耗时过长 "这两种情况吗?我已经放宽了设置,这样就能触发交易了。另外,我在使用策略测试器时 并没有遇到问题,GetLastError() 返回的结果总是 "0"。是像测试器那样根据历史价格进行验证,还是随机生成价格?



 
Alexey Viktorov #:

寻找吧,你们会找到的。最后一条线索:搜查令。

你是指 OrderCheck() 函数吗?文档说它会检查是否有足够的资金进行交易。我还想要一个检查市场收盘的函数,包括 MT4

 
Ivan Titov #:

您是指 OrderCheck() 函数吗?文档说它会检查是否有足够的资金进行交易。我还想要一个检查市场收盘的函数,包括 MT4

不仅是资金是否充足。例如

ENUM_ORDER_TYPE order_type;
double tp = 0.0,
       price = 0.0;
MqlTick mqlTick;
MqlTradeRequest           my_request;               // 申请数据
MqlTradeResult            my_result;                // 结果数据
MqlTradeCheckResult       my_check_result;          // 结果检查数据
long chart_id = ChartID();
/********************Script 程序启动功能*******************/
void OnStart()
 {
  ZeroMemory(my_request);
  ZeroMemory(my_check_result);
//--- 设置 my_request
  int k = order_type%2 == ORDER_TYPE_BUY ? 1 : -1;
  double pr = price != 0.0 ? price : order_type == ORDER_TYPE_BUY ? mqlTick.ask : mqlTick.bid;
  ENUM_TRADE_REQUEST_ACTIONS action = order_type == ORDER_TYPE_BUY || order_type == ORDER_TYPE_SELL ? TRADE_ACTION_DEAL : TRADE_ACTION_PENDING;
  my_request.action     = action;
  my_request.symbol     = _Symbol;
  my_request.volume     = 0.1;
  my_request.type       = order_type;
  my_request.price      = pr;
  my_request.sl         = 0.0;
  my_request.tp         = tp > 0.0 ? pr+tp*k : 0.0;
//my_request.magic = Magic;
  my_request.deviation  = 10;
  bool check = OrderCheck(my_request, my_check_result);
  if(!check)
    Print(my_check_result.retcode);
  DebugBreak();
 }/******************************************************************/

10027

trade_retcode_client_disables_at

客户端禁止自动交易


请求中还有错误的价格、


至于错误 10018,是的,我匆忙回答,没有检查。结果发现不是 10018....。

 
您好,如果实验顾问只针对一种符号......但未对其进行检查,因此在自动检查中未执行任何交易,我该如何通过检查?
 
@Darius Elias Rey #: 您好,如果智能交易系统只针对一个符号......但没有进行检查,因此在自动检查中没有执行交易,我该如何通过检查?

根据市场产品规则,您不得将您的 EA 限制或局限于单一符号。您的 EA 必须适用于所有符号,即使其预期用途仅限于单一符号。

 

您好、

我提交了一个新版本 1.28 的 EA,但没有通过验证,提示 "资金不足错误",我觉得很奇怪,因为我从版本 1.0 开始就使用了 CheckMoneyForTrade 功能,以前甚至没有出现过这个错误。在提交 EA 之前,我还做了测试,结果是,如果没有可用保证金,它就不会进行交易。有什么办法吗?

我遇到的错误:

我在上述同一时期的测试记录,当检测到没有资金/保证金时,不会下单。

\

还有人遇到这种情况吗?在此先表示感谢。

致以最崇高的敬意

 
Haidar, Lionel Haj Ali #: 我提交了一个新版本 1.28 的 EA,但没有通过验证,提示 "资金不足错误"。首先我觉得很奇怪,因为我从版本 1.0 开始就使用了 CheckMoneyForTrade 功能,以前甚至没有出现过这个错误。在提交 EA 之前,我还做了测试,结果是,如果没有可用保证金,它就不会进行交易。有什么办法吗?

我遇到的错误:从我在上述同一时期的测试中得到的日志,在没有检测到资金/保证金的情况下,没有下单 (有其他人遇到这种情况吗?

从你的第一张图片中可以清楚地看到,在交易之前,可用的自由保证金是 -10.36。如果您的代码没有正确识别这一点,那么问题就出在您的代码上。