Nauris Zukas: Guten Tag! Ein Broker ist ständig (ein- oder zweimal am Tag) MarketInfo() fliegt ab, bekommt den Wert 0 ( speziell MODE_MARGINREQUIRED). Das ist ziemlich normal, aber gleichzeitig gibt es keinen Versuch, den iCustom()-Indikator zu erreichen (der über eine Ressource verbunden ist). Selbst nachdem MarketInfo() Daten erhalten hat, bleibt iCustom() stumm. Nur ein Neustart des Terminals hilft. Wie kann ich auf den Indikator zugreifen, ohne das Terminal neu zu starten? Haben Sie eine Idee? Kann der Indikator irgendwo aus einer Ressource verschwinden?
Nach einem Monat mit allen möglichen Tests kann ich schon ziemlich sicher sagen, dass es ein Problem gibt, nur kann ich nicht sagen, ob die Ressource fehlt oder ob iCustom() kaputt ist. Das Problem wird nur bei einem Broker festgestellt, was für den realen Handel sehr unangenehm ist. Bevor Sie mit Worten wie MT4 oder MQL um sich werfen, dass es ein Fehler ist, werde ich Ihnen den neuesten und einfachsten Code und die Testausführung geben. Ich werde auch die Ergebnisse veröffentlichen. Vielleicht gibt es einen Fehler in meinem Code, den ich nicht kenne. Ich erinnere Sie noch einmal daran, dass das Problem nur bei einem Makler auftritt (Sie werden es im Logbuch sehen).
007:13:36.398'21035322': login datacenter on RoboForex-Pro through DataCenter Europe #3 (ping: 53.56 ms)
007:13:36.802'21035322': previous successful authorization performed from87.110.24.238109:12:42.982'21035322': ping failed
009:12:43.690'21035322': login on RoboForex-Pro through DataCenter Europe #3 (ping: 53.56 ms)
009:12:44.907'21035322': login datacenter on RoboForex-Pro through DataCenter Europe #3 (ping: 53.56 ms)
009:12:45.317'21035322': previous successful authorization performed from87.110.24.238109:12:58.925'21035322': datacenter connecting failed [6]
009:12:59.475'21035322': login on RoboForex-Pro through DataCenter Europe #3 (ping: 53.56 ms)
009:13:02.919'21035322': ping to current access point DataCenter Europe #3is48.62 ms
009:13:59.826'21035322': login datacenter on RoboForex-Pro
009:14:05.639'21035322': login on RoboForex-Pro through DataCenter Europe #5 (ping: 68.86 ms)
009:14:06.482'21035322': login datacenter on RoboForex-Pro through DataCenter Europe #5 (ping: 68.86 ms)
009:14:07.048'21035322': previous successful authorization performed from87.110.24.238009:14:17.958'21035322': ping to current access point DataCenter Europe #5is89.81 ms
111:12:31.864'21035322': ping failed
111:12:31.864'21035322': datacenter connecting failed [6]
Nach einem Monat mit allen möglichen Tests kann ich schon ziemlich sicher sagen, dass es ein Problem gibt, nur kann ich nicht sagen, ob die Ressource fehlt oder ob iCustom() kaputt ist. Das Problem wird nur bei einem Broker festgestellt, was für den realen Handel sehr unangenehm ist. Bevor Sie mit Worten wie MT4 oder MQL um sich werfen, dass es sich um einen Fehler handelt, werde ich Ihnen den neuesten und einfachsten Code und die Tests geben. Ich werde auch die Ergebnisse veröffentlichen. Vielleicht gibt es einen Fehler in meinem Code, den ich nicht kenne. Ich erinnere Sie noch einmal daran, dass das Problem nur bei einem Makler auftritt (Sie werden es im Logbuch sehen).
Indikator:
Experte:
Empfängt die letzten Daten des Indikators. Der Indikator reagiert nicht mehr. Expertenprotokoll:
MT4-Protokoll zu diesem Zeitpunkt:
TimeCurrent() im Indikator, der von iCustom aufgerufen wird, funktioniert nicht mehr, wenn ich mich neu einlogge?
Warum brauchen SieTimeCurrent() im Indikator?
Werden Zeitreihen (time[], open[], etc.) aktualisiert?
Funktioniert TimeCurrent() in einem Indikator, der von iCustom aufgerufen wird, nicht mehr, wenn er neu eingeloggt wird?
Wozu dient die FunktionTimeCurrent() im Indikator?
Werden die Zeitreihen (time[], open[], usw.) aktualisiert?
Alles funktioniert nicht mehr, als ob es keinen Indikator mehr gäbe. TimeCurrent() nur zur Kontrolle, das letzte Mal, um zu sehen. Nichts (nicht time[], open[], etc.) funktioniert, weil der Indikator einfach nicht mehr reagiert. Dies ist der letzte Druck von Indikator, es gibt keinen mehr:
fxsaber: Um die MQL4-Beschränkung zu umgehen, muss ich es auf diese Weise schreiben.
Religion ist sicherlich eine gute Sache (das meine ich ausdrücklich.*), aber es ist besser, sie der Kirche zu überlassen.
class A
{
protected:
template <typename T>
void f( const T* ) {Print(typename(T));}
};
class B : public A
{
public:
void f( const B* b )
{
A::f(b);
}
};
voidOnStart()
{
B b;
b.f(&b);
}
Religion ist sicherlich eine gute Sache (das meine ich ausdrücklich.*), aber es ist besser, sie der Kirche zu überlassen.
Ich denke, das wäre prägnanter.
class A
{
protected:
staticvoid f( const A* ) { Print(__FUNCSIG__); }
template <typename T>
void f( const T* ) {Print(typename(T));} // Почему B?
};
class B : public A
{
public:
void f( const A* a )
{
A::f(a); // как вызвать static-метод?
}
};
voidOnStart()
{
B b;
b.f(&b); // deprecated behavior, hidden method calling will be disabled in a future MQL compiler version
}
Guten Tag!
Ein Broker ist ständig (ein- oder zweimal am Tag) MarketInfo() fliegt ab, bekommt den Wert 0 ( speziell MODE_MARGINREQUIRED). Das ist ziemlich normal, aber gleichzeitig gibt es keinen Versuch, den iCustom()-Indikator zu erreichen (der über eine Ressource verbunden ist). Selbst nachdem MarketInfo() Daten erhalten hat, bleibt iCustom() stumm. Nur ein Neustart des Terminals hilft. Wie kann ich auf den Indikator zugreifen, ohne das Terminal neu zu starten? Haben Sie eine Idee? Kann der Indikator irgendwo aus einer Ressource verschwinden?
Nach einem Monat mit allen möglichen Tests kann ich schon ziemlich sicher sagen, dass es ein Problem gibt, nur kann ich nicht sagen, ob die Ressource fehlt oder ob iCustom() kaputt ist. Das Problem wird nur bei einem Broker festgestellt, was für den realen Handel sehr unangenehm ist. Bevor Sie mit Worten wie MT4 oder MQL um sich werfen, dass es ein Fehler ist, werde ich Ihnen den neuesten und einfachsten Code und die Testausführung geben. Ich werde auch die Ergebnisse veröffentlichen. Vielleicht gibt es einen Fehler in meinem Code, den ich nicht kenne. Ich erinnere Sie noch einmal daran, dass das Problem nur bei einem Makler auftritt (Sie werden es im Logbuch sehen).
Indikator:
Experte:
Empfängt die letzten Daten des Indikators.
Der Indikator reagiert nicht mehr.
Expertenprotokoll:
MT4-Protokoll zu diesem Zeitpunkt:
Nach einem Monat mit allen möglichen Tests kann ich schon ziemlich sicher sagen, dass es ein Problem gibt, nur kann ich nicht sagen, ob die Ressource fehlt oder ob iCustom() kaputt ist. Das Problem wird nur bei einem Broker festgestellt, was für den realen Handel sehr unangenehm ist. Bevor Sie mit Worten wie MT4 oder MQL um sich werfen, dass es sich um einen Fehler handelt, werde ich Ihnen den neuesten und einfachsten Code und die Tests geben. Ich werde auch die Ergebnisse veröffentlichen. Vielleicht gibt es einen Fehler in meinem Code, den ich nicht kenne. Ich erinnere Sie noch einmal daran, dass das Problem nur bei einem Makler auftritt (Sie werden es im Logbuch sehen).
Indikator:
Experte:
Empfängt die letzten Daten des Indikators.
Der Indikator reagiert nicht mehr.
Expertenprotokoll:
MT4-Protokoll zu diesem Zeitpunkt:
TimeCurrent() im Indikator, der von iCustom aufgerufen wird, funktioniert nicht mehr, wenn ich mich neu einlogge?
Warum brauchen SieTimeCurrent() im Indikator?
Werden Zeitreihen (time[], open[], etc.) aktualisiert?
Funktioniert TimeCurrent() in einem Indikator, der von iCustom aufgerufen wird, nicht mehr, wenn er neu eingeloggt wird?
Wozu dient die FunktionTimeCurrent() im Indikator?
Werden die Zeitreihen (time[], open[], usw.) aktualisiert?
Alles funktioniert nicht mehr, als ob es keinen Indikator mehr gäbe. TimeCurrent() nur zur Kontrolle, das letzte Mal, um zu sehen. Nichts (nicht time[], open[], etc.) funktioniert, weil der Indikator einfach nicht mehr reagiert. Dies ist der letzte Druck von Indikator, es gibt keinen mehr:
Um die MQL4-Beschränkung zu umgehen, muss ich es auf diese Weise schreiben.
Religion ist sicherlich eine gute Sache (das meine ich ausdrücklich.*), aber es ist besser, sie der Kirche zu überlassen.
Ich denke, das wäre prägnanter.
Religion ist sicherlich eine gute Sache (das meine ich ausdrücklich.*), aber es ist besser, sie der Kirche zu überlassen.
Ich denke, das wäre prägnanter.
Dies ist unter 5.
Fragen Sie die Entwickler: Warum wird die Vorlagenmethode aus der geschützten Zone aufgerufen?
UPD: es ist diejenige, die der Compiler im Aufruf ersetzt, nicht B::f(const A*)
Hilfe bei der Umgehung eines MQL4-Compiler-Fehlers, der nicht mehr entwickelt wird.
Suchbegriff: Oshibka 021.
Hilfe bei der Umgehung eines MQL4-Compiler-Fehlers, der nicht mehr entwickelt wird.
So kompiliert MQL4:
UPD:
Grundsätzlich kompiliert auch ohne typename T2
So wird es in MQL4 kompiliert:
UPD:
Grundsätzlich kompiliert auch ohne typename T2
Ich danke Ihnen!