[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 24

 
paladin80:
Wenn Sie möchten, dass bei 3 bereits geöffneten Aufträgen die nachfolgenden (4, usw.) mit 2 x Lots geöffnet werden, dann
Ja, alles ist richtig, aber ich muss alles in die zweite Bedingung einfügen, diese beiden Bedingungen werden manuell ein- und ausgeschaltet if (LotConst_or_not) gd_200 = Lot; (dies ist die erste Bedingung)

sonst gd_200 = Kontostand() * RiskPercent / 100.0 / 10000.0; (zweite Bedingung)

Anstatt eine Menge Gleichgewicht zu setzen, sollten wir die Bedingung korrigieren, dass bei der Eröffnung von 3 Aufträgen die nachfolgenden (4, usw.) mit 2 Lots eröffnet werden. Wenn es noch einfachere Funktionen gibt.

 
Können Sie mir sagen, wie ich schwebende Aufträge schließen kann, wenn ein TakeProfit für einen Marktauftrag ausgelöst wird?
 

Guten Tag!

Können Sie mir sagen, wie ich einen Textstring mit einer bestimmten Nummer aus einer Datei lesen kann?

Im Prinzip kann ich den folgenden Code verwenden:

StringSubstr(Text,0,16);

Lesen Sie zum Beispiel die ersten 16 Zeichen, aber wenn die Zeilen unterschiedlich lang sind und ich eine Übereinstimmung brauche

value1=Zeile 1;

value2=Zeile #2;

Vielen Dank im Voraus!

 

Bitte schlagen Sie ein kostenloses Textverarbeitungsprogramm vor, bei dem Sie beim Ersetzen einen Teil des Textes in eine neue Zeile verschieben können.
Ich danke Ihnen!

 
forexnew:

Guten Tag!

Können Sie mir sagen, wie ich einen Textstring mit einer bestimmten Nummer aus einer Datei lesen kann?

Im Prinzip kann ich diesen Code verwenden:

Lesen Sie zum Beispiel die ersten 16 Zeichen, aber wenn die Zeichenketten unterschiedlich lang sind und ich eine Übereinstimmung brauche

value1=Zeile #1;

value2=Zeile #2;

Vielen Dank im Voraus!



FileReadString(hwd);
 
artem86:
Könnten Sie uns bitte mitteilen, wie man schwebende Orders schließt, wenn TakeProfit für eine Market Order ausgelöst wird?

Nehmen Sie die Kim-Funktion isCloseLastPosByTake().

Wenn sie true zurückgibt, hat der TP ausgelöst.

Siehe die Funktion selbst unter https://www.mql5.com/ru/forum/107476/page21#79908

 
FAQ:

FileReadString(hwd);

In diesem Fall müssen Sie die Länge der zu lesenden Zeichenfolge angeben, z. B:

Str=FileReadString(handle); Symbol1=StringSubstr(Str,0,6); //6 Zeichen

Str=FileReadString(handle); Symbol2=StringSubstr(Str,0,6); //6 Symbole

Was ist, wenn ich die Länge der Zeichenfolge nicht kenne oder sie von Zeile zu Zeile variiert? D.h. ich muss den Text der gesamten Zeichenfolge "erfassen".

 
forexnew:

In diesem Fall müssen Sie die Länge der zu lesenden Zeichenfolge angeben, z. B:

Str=FileReadString(handle); Symbol1=StringSubstr(Str,0,6); //6 Zeichen

Str=FileReadString(handle); Symbol2=StringSubstr(Str,0,6); //6 Symbole

Was ist, wenn ich die Länge der Zeichenfolge nicht kenne oder sie von Zeile zu Zeile variiert? D.h. ich muss den Text der gesamten Zeichenkette "erfassen".


Ehrlich gesagt, verstehe ich nicht ganz, wo das Problem liegt...
Sie können jederzeit die "Zeilenlänge" überprüfen:

int StringLen( string text) 
Возвращает число символов в строке
 
atztek:

Um ehrlich zu sein, bin ich mir nicht ganz sicher, wo das Problem liegt...
Sie können jederzeit die "Zeilenlänge" überprüfen:

Ich danke Ihnen! Es klappt.
 

Schauen Sie sich das Format meines Eintrags genau an, ich habe dort keine Zeilenlänge angegeben, dann lesen Sie die Beschreibung noch einmal genau durch:

string FileReadString(int handle, int length=0)
Die Funktion liest eine Zeichenkette ab der aktuellen Dateiposition. Gilt sowohl für CSV- als auch für Binärdateien. Bei Textdateien wird die Zeichenkette vor dem Trennzeichen gelesen. Bei Binärdateien wird eine bestimmte Anzahl von Zeichen in die Zeichenkette eingelesen.
Um Fehlerinformationen zu erhalten, rufen Sie die Funktion GetLastError() auf.
Parameter:
Griff-Von FileOpen() zurückgegebener Dateideskriptor.
Länge-Anzahl der zu lesenden Zeichen.
Beispiel:
 int handle; string str; handle=FileOpen("Dateiname.csv", FILE_CSV|FILE_READ);// if(handle>0) { str=FileReadString(handle);//dann liest diese Funktion bis zum Ende des Strings
FileClose(handle);

}


Grund der Beschwerde: