Eine Frage an MQL-Experten - Seite 9

 

Guten Tag, helfen Sie mir, einen Fehler im Code zu finden.

Dies ist das erste Programm des Tutorials.

Zecken werden nicht gezählt. Warum ist das so?

Dankeschön

//+------------------------------------------------------------------+
//| Experteninitialisierungsfunktion |
//+------------------------------------------------------------------+
int Count=0; // Globale Variable.
//--------------------------------------------------------------------
int init() // Spezial init()
{
Alert ("Die Funktion init() hat beim Start funktioniert"); // Meldung
return; // Beenden init()
}
//--------------------------------------------------------------------
int start() // Spezial init()
{
double Price = Ask; // Lokale Variable Count.
Count++; // Tick-Zähler
Alert("Neuer Tick ",Count," Price = ",Price);// Meldung
return; // Exit start()
}
//--------------------------------------------------------------------
int deinit() // Spezialfunktion deinit()
{
Alert ("Deinit() ausgelöst während Upload"); // Meldung
return; // Exit deinit()
}
//--------------------------------------------------------------------

 

Hier sind die Neuerscheinungen

 

Guten Morgen.

Der Server des Maklerunternehmens, bei dem ich ein echtes Konto habe, ist so eingerichtet, dass, wenn mehr als 3 Minuten lang keine Kurse eingehen (unterschiedliche Zeiten für verschiedene Symbole), ein Handelsverbot generiert wird, und anstatt einen Auftrag zum Öffnen/Schließen oder Aktualisieren auszuführen, antwortet der Server mit KEINEM PREIS (bis ein Kurs eingeht). Gleichzeitig wird eine Meldung im Protokoll angezeigt:

2012.04.20 13:42:07 '245---00': Auftrag buy 0.2 JOK2 opening at 0.00 sl: 0.00 tp: 0.00 fehlgeschlagen [Off quotes]

-------------------

Es stellt sich also heraus, dass die Arbeit mit dem Multicurrency EA dieser Brokerfirma im MT4 unmöglich ist. Vor allem in der liquiditätsarmen Nachtzeit - ein/zwei Positionen sind noch offen - und weitere 2-3 werden abgelehnt!

Ich verstehe nicht, warum sie das getan haben. Der Support antwortet nicht wirklich, sondern windet sich wie ein Wurm unter dem Stiefel und verweist auf die mql-Entwickler - oft mit dem Hinweis, dass dies (wörtlich:) eine fehlerhafte Funktion der mt4-Plattform ist. Na gut, überlassen wir es ihrem Gewissen.

Bitte raten Sie mir, wie ich dieses seltsame Verbot " opening at 0.00 sl: 0.00 tp: 0.00 failed [Off quotes]" an das Terminal zurückgeben kann - so könnte ich alle 3-4 Währungen, die ich benötige, vor dem Öffnen programmatisch auf "NO PRICE" überprüfen und erst dann würde der EA Aufträge zum Öffnen/Schließen von Positionen senden! Der Tech-Support gibt keine Antwort auf diese Frage ...

 
Rita:

Ich verstehe nicht, warum das so gemacht wird.

Das ist eine Krücke. Sie ist in der Regel eine Krücke für Entwicklungshelfer, die Probleme mit der Verzögerung von Angeboten haben.

Wenn Sie es selbst überwachen wollen, müssen Sie alle Ticks für alle gehandelten Symbole überwachen und dem Expert Advisor im Voraus ein Verbot erteilen.

 
greysoldier:

Guten Tag, helfen Sie mir, einen Fehler im Code zu finden.

Dies ist das erste Programm des Tutorials.

Zecken werden nicht gezählt. Warum ist das so?

Dankeschön

//+------------------------------------------------------------------+
//| Experten-Initialisierungsfunktion |
//+------------------------------------------------------------------+
int Count=0; // Globale Variable.
//--------------------------------------------------------------------
int init() //spezielle init()-Funktion
{

}
//--------------------------------------------------------------------
int start() // spezielle Funktion start()
{
double Price = Ask; // Lokale Variable.

Count++; // Tick-Zähler

Alert("Neuer Tick ",Count," Price = ",Price);// Nachricht
return; // Beenden von start()
}
//--------------------------------------------------------------------
int deinit() // Spezielle Funktion deinit()
{

}
//--------------------------------------------------------------------

also
 
TheXpert:

Das ist eine Krücke. Normalerweise wird so etwas bei Maklerunternehmen eingeführt, die Probleme mit der Verzögerung von Angeboten haben.

Wenn wir es selbst überwachen wollen, sollten wir alle Ticks für alle gehandelten Symbole überwachen und das Verbot dem Expert Advisor im Voraus mitteilen.


Es stellt sich also heraus, dass wir den korrekten Betrieb von Multicurrency EA nicht programmatisch einstellen können - für das gleichzeitige Öffnen/Schließen von Positionen in mehreren Währungen?

Zumal es für verschiedene Währungen (und es gibt hunderte von Instrumenten in MT4!) unterschiedliche Intervalle gibt - im Server gibt es ein unterschiedliches Intervall vor dem Verbot "NO PRICE" und diese Intervalle ändern sich im Laufe des Tages!

Was haben die Entwickler der mt4-Plattform zu sagen? Wie kann ein Multi-Währungs-EA unter solchen Bedingungen mit häufigen [Off-Kursen], insbesondere nachts, normal funktionieren ( siehe meinen Beitrag oben)?

 
Rita:

Insbesondere für verschiedene Währungen (und es gibt mehrere hundert Instrumente in MT4!) - der Server setzt verschiedene Intervalle für den Moment des Verbots "NO PRICE".

Das ist wahr.

und diese Intervalle ändern sich im Laufe eines Tages!

Das ist unwahrscheinlich. Sie scheinen fest mit dem Gerät verdrahtet zu sein.

 

Ich habe Fragen von Neulingen gestellt und keine Antwort erhalten, vielleicht kann jemand hier helfen.

Hallo, Hilfe Beratung, schrieb eine Eule, hat es in regelmäßigen Abständen zu öffnen 2 Aufträge auf einmal das Problem ist, dass nicht immer öffnet beide Aufträge, Schlupf legte ich und 3 und 5 und 10, aber immer noch keine keine ja und öffnen Sie eine einzige. Ich kann nicht herausfinden, wie man einen Keeper organisiert, der die Eröffnungen im Auge behält und, falls nötig, eine fehlende "vergessene" Bestellung öffnet?

 
Zeigen Sie mir den Teil des Codes, in dem Sie die Bedingungen für das gleichzeitige Öffnen dieser beiden Aufträge festlegen...
 
Eröffnen Sie einen Auftrag, prüfen Sie, ob er geöffnet ist, und wenn er geöffnet ist, eröffnen Sie einen zweiten Auftrag mit einer Prüfung...