Errori, bug, domande - pagina 2681

 

Salve colleghi.

Forse non sono il primo a fare questa domanda. Ho scritto in un altro thread, ma non ho ricevuto risposta dagli sviluppatori. Perché il valore reale del pip in XAUUSD è 1USD?

La funzione SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE) mostra costantemente 0.1USD

E come contare il drawdown, il profitto e altre cose, mentre le coppie di valute mostrano il valore normale del tick.

Terminale Z.I. MT5

 
Andrey Kaunov:

Salve colleghi.

Forse non sono il primo a fare questa domanda. Ho scritto in un altro thread, ma non ho ricevuto risposta dagli sviluppatori. Perché il valore reale del pip in XAUUSD è 1USD?

La funzione SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE) mostra costantemente 0.1USD

E come contare il drawdown, il profitto e altre cose, mentre le coppie di valute mostrano il valore normale del tick.

Terminale Z.U. MT5

Dovresti chiedere al tuo broker, questi dati sono compilati dal broker...

 
Bug MT5 (build 2366), errore di compilazione quando si accede a unmetodo statico di una classe a cui si accede tramite un tipo di argomento di funzione template.

template<typename _Tp>
struct It_g{
   class Opt{
      template<typename _It>
      static void test(_It &it){               
         _Tp p = it.p;                  
      };
   };
   
   _Tp p;
};

template<typename _Tp>
class V{
public:
   struct It : public  It_g<_Tp>{};
   It b;
};


template<typename T>
class GetStructType{
public:
   struct type : public T{};
};

template<typename _It>
void test(_It &it){
   GetStructType<_It>::type::Opt::test(it);   // Ok
   
   _It::Opt opt;
   opt.test(it);                              // Ok
   
   _It::Opt::test(it);                        // '_It' is not a class, struct or union | 'Opt' is not a class, struct or union
}

class ClassA{};


void OnStart(){ 
   V<int> v1;
   test(v1.b);
   
   V<ClassA*> v2;
   test(v2.b);
   
   V<int>::It it3;
   test(it3);
   
   V<ClassA*>::It it4;
   test(it4);
}
 
Bug MT5 (build 2366), errore di compilazione dovuto all'uso errato di namespace e scope nel costruttore di template quando si chiama la classe base.
Il problema si verifica quando viene usato lo stesso nome di classe: nello spazio dei nomi globale, nella classe interna e quando viene ereditato come classe base.

template<typename T>
struct B{
   char data;
   
   B(){}
   B(int){}
};


template<typename T>
class A{
public:
   struct __reverse_iterator : public B<T>{
      __reverse_iterator() : B<T>(1){}                 // Ok
      
      template<typename TT>
      __reverse_iterator(const TT& n) : B<T>(n){}      //'<' - template mismatch
   };
   
   struct B : public __reverse_iterator{
      B() : __reverse_iterator(){}
      B(int n) : __reverse_iterator(n){}
   };
};

   
void OnStart(){  
   A<int>::B it_1();      // Ok
   A<int>::B it_2(1);     // Compile Error
}


In C++, tutto funziona facendo riferimento esplicitamente allo spazio dei nomi globale. C++ online:https://onlinegdb.com/BJIV6frUI
In MQL questo non può essere fatto - Errore di compilazione, bug nella definizione interna della classe - nessuna possibilità di fare esplicitamente riferimento allo spazio dei nomi globale quando si specifica una classe base(non risolto in MT5 (build 2366)).

C'è anche un problema nel costruttore quando si chiama la classe base che è collegato al bug presentato prima -https://www.mql5.com/ru/forum/1111/page2680#comment_15546487.
Notate che "funziona" sia con lo spazio dei nomi che con le classi interne.

 
Vladimir Pastushak:

Dovresti chiedere al tuo broker, è il broker che compila i dati...

Capisco, grazie Vladimir.

 

Il tumbler non funziona nel tester? - Non ho trovato nulla su questo problema nell'aiuto.

MarketBookAdd (Symbol ()) si iscrive al bicchiere e dà true, ma l'evento OnBookEvent (const string &symbol) non viene una volta durante tutto il test.

 
Andrey Dik:

Il tumbler non funziona nel tester? - Non ho trovato nulla su questo problema nell'aiuto.

MarketBookAdd (Symbol ()) si iscrive al bicchiere e dà true, ma l'evento OnBookEvent (const string &symbol) non viene una volta in tutto il test.

Non funziona. E non c'è storia della coppa.

 

qualcuno può dirmi cos'è l'errore 533?

ha supposto che la versione in cui è stato compilato sia più recente - ha chiesto di aggiornare. non ha aiutato.

 
Igor Zakharov:

qualcuno può dirmi cos'è l'errore 533?

ha supposto che la versione in cui è stato compilato sia più recente - ha chiesto di aggiornare. non ha aiutato.

L'integrità di ex5 è rotta.

Da dove hai preso questo ex5?

Ilyas potrà rispondere in modo più dettagliato se gli invii questo esperto

Ilyas
Ilyas
  • www.mql5.com
Профиль трейдера
 
Slava:

L'integrità di ex5 è stata compromessa.

Da dove hai preso questo ex5?

Ilyas sarà in grado di rispondere in modo più dettagliato, se gli invii questo esperto

L'ho compilato nella build 2361. sul terminale dove è stato compilato - funziona. lo skype ad un'altra persona per provarlo (senza fonte) - errore 533.

Non posso rimandarglielo, così ho caricato il 2366 e l'ho ricompilato di nuovo (con lo stesso nome).

aggiunto: skype salvato. lo invierò.

added2: la ricompilazione a 2366 causa lo stesso errore. Ho inviato la fonte e compilato a Ilyas.