Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 738
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Die Meldung wird immer noch in der 12. Minute angezeigt.
Print einfügen, am Anfang der Funktion, wo das Array gefüllt wird
und zeigen die Anzahl der Werte in der zweiten Dimension
Ich kann aus allem erkennen, dass NomNews in die While-Schleife bereits in einem Zustand größer als 999 einsteigt. Dann müssen Sie herausfinden, warum das passiert, und diese Variable irgendwo zurücksetzen.
Um dies zu überprüfen, schreiben Sie es an den Anfang der Schleife:
Ja, in der 11. Minute ist der Druck 1000.
Print einfügen, am Anfang der Funktion, wo das Array gefüllt wird
und zeigen die Anzahl der Werte in der zweiten Dimension
Ich habe ihn am Anfangder While-Schleife eingefügt und erhalte den unendlichenBereich = 1000. Habe ich ihn an der falschen Stelle eingefügt?
Wie lautet diese Zahl (oder Funktion?): datetime TimeNewsFunck(int nomf)
{
string s=NewsArr[0][nomf];
string time=StringConcatenate(StringSubstr(s,0,4),".",StringSubstr(s,5,2),".",StringSubstr(s,8,2)," ",StringSubstr(s,11,2),":",StringSubstr(s,14,4));
return((datetime)(StringToTime(time) + GMTplus*3600))
}
Und woher bekommt er den Wert von int nomf? Ich konnte es nicht finden.
Ich habe ihn am Anfangder While-Schleife eingefügt und erhalte infiniteRange = 1000. Habe ich ihn an der falschen Stelle eingefügt?
Wie lautet diese Zahl (oder Funktion?): datetime TimeNewsFunck(int nomf)
{
string s=NewsArr[0][nomf];
string time=StringConcatenate(StringSubstr(s,0,4),".",StringSubstr(s,5,2),".",StringSubstr(s,8,2)," ",StringSubstr(s,11,2),":",StringSubstr(s,14,4));
return((datetime)(StringToTime(time) + GMTplus*3600))
}
Und woher bekommt er den Wert von int nomf? Ich habe sie nicht gefunden.
Und dann gibt es noch die Funktion, die ich versucht habe, aber nicht herausfinden konnte. Kann das die Ursache des Problems sein?
Und dann gibt es noch eine Funktion, die ich nicht herausfinden konnte, so sehr ich mich auch bemüht habe. Vielleicht liegt genau hier das Problem?
Nur der Autor wird es selbst herausfinden. Senden Sie besser den Code von OnTick()
Ja, in der 11. Minute gab es einen Druck von 1000.
Versuchen Sie zu ersetzen
mit dieser Zeile.
Überschuss((2*psd*usd)*((2*psd*usd)-C))/(C-1)) in der Formel.
Zum Potenzieren: ^0,5 ist nicht *0,5
Wenn es keinen einzigen Handel auf dem durchgesehenen Symbol und der Majik gibt, oder es gibt keinen einzigen Gewinn oder Verlust, oder es gibt nur ein Paar (C=1), erhalten wir die Division durch 0.
Vor der eigentlichen Formel sollten Sie überprüfen, ob psd und usd > 0 sind und C !=1
Gewinnbringende Paare werden mit Gewinn > 1, Verlust < 1 berechnet, mit Gewinn=1 werden nicht analysiert, d.h. 1 muss auch irgendwo in dieser oder jener Gruppe enthalten sein.
In Ihrer Funktion wäre es besser, zunächst Transaktionsnummern auszuwählen, die mit dem Symbol und der magischen Zahl übereinstimmen, und dann zu prüfen, ob sich ihre Zahl geändert hat, und wenn ja, zn neu zu berechnen, wenn nicht, zn zurückzugeben (zn wird in diesem Fall nicht auf Null gesetzt, und die Prüfung != 0 wird beim Drucken nicht benötigt).
Owl funktioniert nicht mehr, weil es sich auf die Variablen ww und nn stützt, und wenn Ihre Funktion funktioniert, ändern sie sich und brechen den Algorithmus von Owl.
Es hätte sich nichts kompilieren lassen, wenn es sich um einen Code-Design-Fehler gehandelt hätte.Ich kann nur Danke sagen. Dies ist der einzige Ort in Runet, an dem sie mir geholfen haben.
Nun erzeugt der Drucker folgende Meldung "Stop_Ma_v_5.1 EURUSD,M15: == Z-count equals = -nan(ind)" . Könnten Sie uns bitte mitteilen, was das bedeutet, und der Code sollte die Zahl zurückgeben?
Code:
Mql5 Jungs, könnt ihr mir helfen, einen Antrag auf Schließung einer Position in einem Hedge-Konto zu stellen? Situation: Wir haben eine BUY-Position eröffnet und müssen sie mit einem Sell Limit schließen. Frage: Wie schreibe ich korrekt eine Anfrage, um genau die gewählte Position zu schließen, und nicht, um neue SELL locking BUY zu eröffnen? Bitte schreiben Sie ein Stück Code mit Kommentaren! Vielen Dank im Voraus!
Schließung eines offenen Auftrags durch einen anderen offenen Auftrag für dasselbe Symbol, aber in entgegengesetzter Richtung.
boolOrderCloseBy(
intticket,// Nummer des abzuschließenden Auftrags
intopposite,// Nummer des gegenüberliegenden Auftrags
Farbearrow_color// Farbe
);
Parameter
Ticket
[in] Eindeutige Auftragsnummer des abzuschließenden Auftrags.
gegenüber
[Eine eindeutige Sequenznummer der umgekehrten Reihenfolge.
Pfeil_Farbe
[Die Farbe des Schließungspfeils im Diagramm. Ist dieser Parameter nicht vorhanden oder hat er den Wert CLR_NONE, wird der Pfeil nicht im Diagramm angezeigt.
Zurückgegebener Wert
Gibt true zurück, wenn die Funktion erfolgreich war, oder false, wenn ein Fehler auftrat. Um die Fehlerinformationen zu erhalten, rufen Sie GetLastError() auf.
Beispiel:
if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75)
{
OrderCloseBy(order_id,opposite_id;)
zurück(0);
}
P.S. Dieser Thread parst nur MQL4
Ich kann nur Danke sagen. Dies ist der einzige Ort in Runet, an dem sie geholfen haben.
Nun erzeugt der Drucker die folgende Meldung "Stop_Ma_v_5.1 EURUSD,M15: == Z-Account Equals = -nan(ind)". Könnten Sie uns bitte mitteilen, was das bedeutet, und der Code sollte die Zahl zurückgeben?
Code:
Die Schließung eines offenen Auftrags durch einen anderen offenen Auftrag für dasselbe Instrument, aber in entgegengesetzter Richtung.
boolOrderCloseBy(
intticket,// Nummer des abzuschließenden Auftrags
intopposite,// Nummer des gegenüberliegenden Auftrags
Farbearrow_color// Farbe
);
Parameter
Ticket
[Eine eindeutige fortlaufende Nummer des abzuschließenden Auftrags.
gegenüber
[Eine eindeutige Sequenznummer der umgekehrten Reihenfolge.
Pfeil_Farbe
[Die Farbe des Schließungspfeils im Diagramm. Ist dieser Parameter nicht vorhanden oder hat er den Wert CLR_NONE, wird der Pfeil nicht im Diagramm angezeigt.
Zurückgegebener Wert
Gibt true zurück, wenn die Funktion erfolgreich war, oder false, wenn ein Fehler auftrat. Um die Fehlerinformationen zu erhalten, rufen Sie GetLastError() auf.
Beispiel:
if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75)
{
OrderCloseBy(order_id,opposite_id;)
zurück(0);
}
P.S. Dieser Thread parst nur MQL4
Nein. Alle Fragen zu mql4 und mal5 werden hier in diesem Thread behandelt, denn der Hauptzweck war es, nicht nur mit Algorithmen und Codes zu helfen, sondern auch die Migration von mql4 zu mql5 zu erleichtern.