Fehler, Irrtümer, Fragen - Seite 2681

 

Hallo Kollegen.

Ich bin vielleicht nicht der Erste, der diese Frage stellt. Ich habe in einem anderen Thread geschrieben, aber ich habe keine Antwort von den Entwicklern erhalten. Wie kommt es, dass der reale Pip-Wert bei XAUUSD 1USD beträgt?

Die Funktion SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE) zeigt dauerhaft 0,1USD an.

Und wie man Drawdown, Profit und andere Dinge zählt, während die Währungspaare den normalen Wert des Ticks zeigen.

Z.I. MT5-Terminal

 
Andrey Kaunov:

Hallo Kollegen.

Ich bin vielleicht nicht der Erste, der diese Frage stellt. Ich habe in einem anderen Thread geschrieben, aber ich habe keine Antwort von den Entwicklern erhalten. Wie kommt es, dass der reale Pip-Wert bei XAUUSD 1USD beträgt?

Die Funktion SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE) zeigt dauerhaft 0,1USD an.

Und wie man Drawdown, Profit und andere Dinge zählt, während die Währungspaare den normalen Wert des Ticks zeigen.

Z.U. Terminal MT5

Sie sollten Ihren Makler fragen, diese Daten werden vom Makler eingegeben...

 
MT5-Bug (Build 2366), Kompilierungsfehler beim Zugriff auf einestatische Methode einer Klasse, auf die über einen Argumenttyp einer Template-Funktion zugegriffen wird.

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), Kompilierfehler durch falsche Verwendung von Namespace und Scope im Template-Konstruktor beim Aufruf der Basisklasse.
Das Problem tritt auf, wenn derselbe Klassenname verwendet wird: im globalen Namespace, in der internen Klasse und bei der Vererbung als Basisklasse.

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++ funktioniert alles, indem explizit auf den globalen Namensraum verwiesen wird. C++ online:https://onlinegdb.com/BJIV6frUI
In MQL ist dies nicht möglich - Kompilierfehler, Fehler in der internen Klassendefinition - keine Möglichkeit, explizit auf den globalen Namespace zu verweisen, wenn eine Basisklasse angegeben wird(nicht behoben in MT5(build 2366)).

Es gibt auch ein Problem im Konstruktor beim Aufruf der Basisklasse, das mit dem zuvor vorgestellten Fehler zusammenhängt -https://www.mql5.com/ru/forum/1111/page2680#comment_15546487.
Bitte beachten Sie, dass es sowohl mit Namespace als auch mit internen Klassen "funktioniert".

 
Vladimir Pastushak:

Sie sollten Ihren Makler fragen, denn er gibt die Daten ein...

Ich verstehe, danke Vladimir.

 

Funktioniert der Tumbler im Testgerät nicht? - Ich habe in der Hilfe nichts zu diesem Thema gefunden.

MarketBookAdd (Symbol ()) abonniert das Glas und gibt true, aber OnBookEvent Ereignis (const string &symbol) kommt nicht einmal während des gesamten Tests.

 
Andrey Dik:

Funktioniert der Tumbler im Testgerät nicht? - Ich habe in der Hilfe nichts zu diesem Thema gefunden.

MarketBookAdd (Symbol ()) abonniert das Glas und gibt true, aber OnBookEvent Ereignis (const string &symbol) kommt nicht einmal in den ganzen Test.

Das funktioniert nicht. Und es gibt keine Geschichte des Pokals.

 

Kann mir jemand sagen, was der Fehler 533 ist?

nahm an, dass die Version, in der kompiliert wurde, neuer ist - bat um ein Update.

 
Igor Zakharov:

Kann mir jemand sagen, was der Fehler 533 ist?

nahm an, dass die Version, in der kompiliert wurde, neuer ist - bat um ein Update.

Die Integrität von ex5 ist gestört.

Woher haben Sie diesen ex5?

Ilyas wird ausführlicher antworten können, wenn Sie ihm diesen Experten schicken

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

Die Integrität von ex5 wurde beeinträchtigt.

Woher haben Sie diesen ex5?

Ilyas wird ausführlicher antworten können, wenn Sie ihm diesen Experten schicken

Ich kompilierte es in Build 2361. auf dem Terminal, wo es kompiliert wurde - es funktioniert. ich skype es zu einer anderen Person, es zu versuchen (ohne Quelle) - Fehler 533.

Ich kann es ihm nicht zurückschicken, also habe ich 2366 hochgeladen und es erneut kompiliert (mit demselben Namen).

hinzugefügt: skype hat es gespeichert. wird es senden.

added2: Die Neukompilierung nach 2366 verursacht denselben Fehler. Ich habe die Quelle und die Zusammenstellung an Ilyas geschickt.