错误、漏洞、问题 - 页 2840

 
Sergey Dzyublik:

你可以明确地从基类中调用一个函数

如果并在纠正后

template<typename T>
class A {
public:
        void f() {}
};
void OnStart()
{
        A<int> a;
        a.A<int>::f(); //Error: 'A' - undeclared identifier
}

当然,在一般情况下也可以明确地调用它

 
A100:

那么你打算如何将第三个版本的g_cast写成MQL?

你可以这样做。

A(this).f();
 

Build 2584
错误未修复。

当第一次运行服务时,WebRequest 返回200。
当用PCM重新启动服务时,WebRequest返回错误1001。
删除服务并再次运行它,它重复出现。

#property service
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"


//+------------------------------------------------------------------+
//| Service program start function                                   |
//+------------------------------------------------------------------+
void OnStart()
{
   string headers = "";
   char   request[];
   
   char   result[];
   string resHeader = "";
   
   string url = "https://httpbin.org/get";

   ResetLastError();
   
   int res = WebRequest("GET", url,  headers, 5000, request, result,  resHeader);
      
   if(res == -1)
   {
      Print("Ошибка в WebRequest. Код ошибки: ", GetLastError());
      MessageBox("Необходимо добавить адрес '" + url + "' в список разрешенных URL во вкладке 'Советники'", "Ошибка", MB_ICONINFORMATION);
      return;
   }
   else
      Print("res: "+(string)res);
   
   Print(CharArrayToString(result));
}
//+------------------------------------------------------------------+
 
无法通过安卓系统登录我的账户 - 说我需要允许cookies,但默认是允许的

...通过ucbrowser登录,但由于某些原因无法通过chrome登录。
 

你好。验证器有什么问题?我一直收到 "没有交易操作 "的错误,总是在欧元兑美元,有时在其他货币对上。我从我的EA开始,它没有得到验证,一直给我这个错误,所以我不得不寻找问题,删除不同的条件。 我决定写一个简单的EA,它在每个tick上打开订单。错误并没有消失。以下是这个简单EA的代码。该怎么做?

//+------------------------------------------------------------------+
//|                                                        Valid.mq4 |
//+------------------------------------------------------------------+
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{

}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
   int result = 0;
   //---
   result = OrderSend(NULL, OP_BUY, 1, Ask, 100, 0, 0, NULL, 5875, 0, clrNONE);
   //---
   result = OrderSend(NULL, OP_BUY, 1, Ask, 100, Ask - 1000 * _Point, Ask + 1000 * _Point, NULL, 5875, 0, clrNONE); 
   //---
   result = OrderSend(NULL, OP_SELL, 1, Bid, 100, 0, 0, NULL, 5875, 0, clrNONE);
   //---
   result = OrderSend(NULL, OP_SELL, 1, Bid, 100, Bid + 1000 * _Point, Bid - 1000 * _Point, NULL, 5875, 0, clrNONE); 
   //---
   return;
}
//+------------------------------------------------------------------+

误差

 
Alexandr Nikolaev:

你好。验证器有什么问题?我一直收到 "没有交易操作 "的错误,总是在欧元兑美元,有时在其他货币对上。我从我的EA开始,它没有被验证,一直给我这个错误,所以我必须寻找问题并删除不同的条件。 我决定写一个简单的EA,它在每个tick上打开订单。错误并没有消失。以下是这个简单EA的代码。该怎么做?


在现实世界中,最低手数并不总是1.0,交易账户上可能只有2.5美元......。
 
Vladimir Karputov:
在现实世界中,最小手数并不总是等于1.0,而交易账户中的资金可能只有2.5美元 ...

这与手数无关,我是把任何手数,做手数正常化,都会有错误,但在这里它没有发誓,除了没有一个交易

 
Alexandr Nikolaev:

你好。验证器有什么问题?我一直收到 "没有交易操作 "的错误,总是在欧元兑美元,有时在其他货币对上。我从我的EA开始,它没有被验证,一直给我这个错误,所以我必须寻找问题并删除不同的条件。 我决定写一个简单的EA,它在每个tick上打开订单。错误并没有消失。以下是这个简单EA的代码。该怎么做?

   int result = 0;
   //---
   result = OrderSend(NULL, OP_BUY, 1, Ask, 100, 0, 0, NULL, 5875, 0, clrNONE); 
   //---
   result = OrderSend(NULL, OP_BUY, 1, Ask, 100, Ask - 1000 * _Point, Ask + 1000 * _Point, NULL, 5875, 0, clrNONE); 
   //---
   result = OrderSend(NULL, OP_SELL, 1, Bid, 100, 0, 0, NULL, 5875, 0, clrNONE);
   //---
   result = OrderSend(NULL, OP_SELL, 1, Bid, 100, Bid + 1000 * _Point, Bid - 1000 * _Point, NULL, 5875, 0, clrNONE); 
   //---
   return;

没有价格的正常化,不是在任何地方都可以同时开出一个带有取货和止损 的订单。

 
Alexandr Nikolaev:

你好。验证器有什么问题?我一直收到 "没有交易操作 "的错误,总是在欧元兑美元,有时在其他货币对上。我从我的EA开始,它没有被验证,一直给我这个错误,所以我必须寻找问题并删除不同的条件。 我决定写一个简单的EA,它在每个tick上打开订单。错误并没有消失。以下是这个简单EA的代码。该怎么做?


这意味着你在市场上的时间有点早............。

 
Vladimir Pastushak:

没有价格正常化,不是在任何地方都可以同时开出一个带有取货和止损 的订单。

你仔细阅读了我的帖子吗?我并没有故意用不同的规范化和检查来使代码复杂化。我总是在专家顾问系统中这样做。你看到了吗,在代码中,有一些试图在没有SL和TP的情况下开单的尝试?我特别登记了这种尝试,但没有成功。这个EA的目的不是像它应该的那样开单,而是进行尝试,至少要犯一些错误,这里似乎是0次尝试。