Errori, bug, domande - pagina 2840

 
Sergey Dzyublik:

Potete chiamare esplicitamente una funzione da una classe base:

Se e quando corretto

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

naturalmente può anche essere chiamato esplicitamente nel caso generale

 
A100:

E come proponi di scrivere la terza versione di g_cast in MQL?

Si può fare così:

A(this).f();
 

Build 2584
Errore non risolto.

Alla primaesecuzione del servizio,WebRequest restituisce 200.
Quando si riavvia il servizio PCM, WebRequest restituisce l'errore 1001.
Rimuovendo il servizio ed eseguendolo nuovamente, si ripete.

#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));
}
//+------------------------------------------------------------------+
 
Non posso accedere al mio account tramite Android - dice che devo consentire i cookie, ma sono consentiti per impostazione predefinita

... Registrato tramite ucbrowser, ma non accede tramite chrome per qualche motivo
 

Salve. Qual è il problema con il validatore? Continuo a ricevere l'errore "nessuna operazione di trading", sempre su EURUSD, a volte su altre coppie. Ho iniziato con il mio EA, che non è stato convalidato, continua a darmi questo errore, quindi devo cercare il problema e rimuovere diverse condizioni. Ho deciso di scrivere un semplice EA, che apre gli ordini su ogni tick. L'errore non è scomparso. Ecco il codice di questo semplice EA. Cosa fare?

//+------------------------------------------------------------------+
//|                                                        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;
}
//+------------------------------------------------------------------+

Errore

 
Alexandr Nikolaev:

Salve. Qual è il problema con il validatore? Continuo a ricevere l'errore "nessuna operazione di trading", sempre su EURUSD, a volte su altre coppie. Ho iniziato con il mio EA, che non è stato convalidato, continua a darmi questo errore, quindi devo cercare il problema e rimuovere diverse condizioni. Ho deciso di scrivere un semplice EA, che apre gli ordini su ogni tick. L'errore non è scomparso. Ecco il codice di questo semplice EA. Cosa fare?


Nel mondo reale, il lotto minimo non è sempre 1,0, e ci possono essere solo 2,5 dollari su un conto di trading...
 
Vladimir Karputov:
Nel mondo reale, il lotto minimo non è sempre uguale a 1,0, e il denaro nel conto di trading può essere solo $2,5 ...

Non si tratta del lotto, io mettevo un lotto qualsiasi e facevo la normalizzazione dei lotti, e ci sarebbero stati degli errori, ma qui non impreca in niente, tranne che non c'è un solo trade.

 
Alexandr Nikolaev:

Salve. Qual è il problema con il validatore? Continuo a ricevere l'errore "nessuna operazione di trading", sempre su EURUSD, a volte su altre coppie. Ho iniziato con il mio EA, che non è stato convalidato, continuava a darmi questo errore, quindi devo cercare il problema e rimuovere diverse condizioni. Ho deciso di scrivere un semplice EA, che apre gli ordini su ogni tick, e cosa ne pensi? L'errore non è scomparso. Ecco il codice di questo semplice EA. Cosa fare?

   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;

Non c'è normalizzazione dei prezzi, non dappertutto si può aprire un ordine con un take e uno stop loss contemporaneamente.

 
Alexandr Nikolaev:

Salve. Qual è il problema con il validatore? Continuo a ricevere l'errore "nessuna operazione di trading", sempre su EURUSD, a volte su altre coppie. Ho iniziato con il mio EA, che non è stato convalidato, continua a darmi questo errore, quindi devo cercare il problema e rimuovere diverse condizioni. Ho deciso di scrivere un semplice EA, che apre gli ordini su ogni tick. L'errore non è scomparso. Ecco il codice di questo semplice EA. Cosa fare?


Significa che sei un po' in anticipo sul mercato............

 
Vladimir Pastushak:

Non c'è normalizzazione dei prezzi, non ovunque si può aprire un ordine con un take e uno stop loss contemporaneamente.

Ha letto attentamente il mio post? Non ho intenzionalmente complicato il codice con diverse normalizzazioni e controlli. Lo faccio sempre in Expert Advisors. Vedi che nel codice ci sono tentativi di aprire un ordine senza SL e TP? Ho registrato specificamente tali tentativi, ma non hanno funzionato. Lo scopo di questo EA non è quello di aprire gli ordini come dovrebbe essere, ma di fare dei tentativi per fare almeno qualche errore e qui sembra essere 0 tentativi.