Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 77

 
Vitaly Muzichenko:
Ich habe nichts gefunden und kann mich auch nicht daran erinnern, dass es hier steht.

Grob gesagt gibt es ein Gebot und einen Durchschnittspreis der Aufträge im Netz.

ein Schleppnetz ist ein Gebot abzüglich des Durchschnittspreises des Netzes, verglichen mit dem angegebenen Schritt

Wenn etwas schief geht, gehen Sie sofort durch die Schleife und decken das gesamte Netz ab.

der Algorithmus ist noch nicht ausgereift und muss in Bezug auf seine Robustheit verbessert werden, zeigt aber gute Ergebnisse bei kurzen Entfernungen

Übrigens suche ich nach Ideen, um die Stabilität des Algorithmus zu verbessern.

 
trader781:

Grob gesagt gibt es ein Gebot und einen Durchschnittspreis der Aufträge im Netz.

ein Schleppnetz ist ein Gebot abzüglich des Durchschnittspreises des Netzes, verglichen mit dem angegebenen Schritt

Wenn etwas schief geht, gehen Sie sofort durch die Schleife und decken das gesamte Netz ab.

der Algorithmus ist noch nicht ausgereift und muss in Bezug auf seine Robustheit verbessert werden, zeigt aber gute Ergebnisse bei kurzen Entfernungen

Übrigens, ich suche nach Ideen zur Verbesserung der Stabilität des Algorithmus

Mein Schleppnetz funktioniert sowohl einzeln als auch über das gesamte Netz hinweg einwandfrei.

Haben Sie meine Frage gelesen? Ich erwarte keine Antwort von Ihnen, sondern von den Profis.

 
Vitaly Muzichenko:

Ja, logischerweise könnte es z. B. sein, dass das Terminal die Verbindung verloren hat - dafür gibt es viele Gründe, bei mir hat es 50 Mal am Tag die Verbindung verloren.

Was ist der beste Weg, um aktuelle Preise zu erhalten und gleichzeitig weniger ressourcenintensiv zu sein - denken Sie daran - für eine Netzrecherche.

Es gibt also nicht allzu viele Möglichkeiten...

Ich mache Folgendes: In der Auftragsschleife, nachdem ich alle Filter für Symbol, magische Zahl und Typ durchlaufen habe, erhalte ich den richtigen Preis über SymbolInfoDouble() in eine Variable und führe damit Level-Berechnungen durch, bevor ich eine Handelsanfrage sende (wenn die Berechnung ein solches Ergebnis liefert, dass eine Änderung erforderlich ist). Sie können auch SymbolInfoTick() verwenden - je nachdem, was Ihrer Logik am besten entspricht. Natürlich können wir nicht nur einen Preis, sondern den gesamten Satz von Parametern des letzten Ticks erhalten, aber manchmal reicht es aus, nur einen Preis für einen bestimmten Auftragstyp - Ask oder Bid - zu erhalten und damit zu arbeiten, und den anderen Preis für einen anderen Auftragstyp bei der nächsten Iteration der Schleife sowieso zu erhalten. Deshalb kann die einmalige Verwendung des ermittelten Preises vor der Schleife dazu führen, dass ein veralteter Preis ermittelt wird, wenn der Tick aufgrund längerer Berechnungen verpasst wird.

 
Artyom Trishkin:
Was ist, wenn sie gar keine bekommt? Wie kann man den Zyklus verlangsamen?

Und das überlasse ich jedem nach eigenem Ermessen. Aber auf Drängen der Nutzer verrate ich Ihnen ein großes Geheimnis...

       int d = 0;
        do
         {
          d++;
         }
        while(!SymbolInfoTick(_Symbol, mqlTick) && d < 7);
 

Hallo zusammen!

Können Sie mir bitte sagen, wie man Tooltips/Popups schreibt?

Grob gesagt, brauche ich einen Indikator unter einem bestimmten Balken, der ein Icon zeichnet und wenn ich auf dieses Icon klicke, wird ein kleiner Text mit einer Beschreibung angezeigt

Ich danke Ihnen!

 
LuckySith:

Hallo zusammen!

Könnten Sie mir bitte sagen, wie man ein Tooltip/Popup schreibt?

Grob gesagt, brauche ich den Indikator, um ein Symbol unter einem bestimmten Balken zu zeichnen und einen kleinen Text mit Beschreibung anzuzeigen, wenn ich auf dieses Symbol drücke

Ich danke Ihnen!

SetIndexLabel

Legt den Beschreibungstext der Indikatorzeile fest, der im Datenfenster und in der QuickInfo angezeigt wird.

voidSetIndexLabel(
intindex,// Zeilennummer
string text// Beschreibungstext
);

Parameter

Index

[Die Indexnummer der Zeile. Muss zwischen 0 und 7 liegen.

Text

[in] Text der Beschreibung der Indikatorzeile. NULL bedeutet, dass dieser Zeilenwert nicht im DataWindow angezeigt wird.

 
Alekseu Fedotov:

SetIndexLabel

Legt den Beschreibungstext der Indikatorzeile für die Anzeige von Informationen im DataWindow und in der QuickInfo fest.

voidSetIndexLabel(
intindex,// Zeilennummer
string text// Beschreibungstext
);

Parameter

Index

[Die Indexnummer der Zeile. Muss zwischen 0 und 7 liegen.

Text

[in] Text der Beschreibung der Indikatorzeile. NULL bedeutet, dass dieser Zeilenwert nicht im DataWindow angezeigt wird.

Hmm, es ist also eine Linie.
Und für mich, wenn ich auf das Symbol
 
LuckySith:
Hmm, es ist also eine Linie.
Und für mich, wenn Sie auf das Symbol klicken.

Was auch immer, Sie können es auf dem Symbol tun.

Werfen Sie die Fraktale auf das Diagramm und fahren Sie mit der Maus über das Symbol.

 
Hallo. Können Sie mir sagen, wie if(MarketInfo(Symbol(),MODE_POINT)==0) richtig sein könnte?
 
Gevorg Hakobyan:
Hallo. Bitte geben Sie an, wie if(MarketInfo(Symbol(),MODE_POINT)==0) korrekt sein kann.
Prüfen Sie, ob ein Symbol in der Marktübersicht vorhanden ist. Es kann nicht null sein.