[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 386

 
ikatsko:

Aufgabe: Vergleiche es mit dem gleichen Objekt, um sicherzustellen, dass es ein solches Objekt gibt. Oder vielmehr, dass es ein Objekt gibt, dessen Teil des Namens Triangle ist


Wenn wir eine Überprüfung des "Objekttyps" einführen, werden die Überprüfungen nur für "Dreiecks"-Objekte durchgeführt, was die Stichprobenkosten erheblich reduzieren kann, da die offensichtlich nutzlose Arbeit der Überprüfung auf "Vorkommen von Zeichenketten" bei "Objekttypen" entfällt, bei denen ein solches Vorkommen von vornherein nicht zu erwarten ist.
 
ikatsko:

Wie erhält man den vollständigen Namen aus einer Objektnummer?



In der Dokumentation finden Sie ein gutes Beispiel. Genau zu diesem Thema. https://docs.mql4.com/ru/objects/ObjectName
 
Danke, es tut mir leid, ich bin völlig verwirrt.
 

Wie kann ich eine Datei öffnen, um ihr Informationen hinzuzufügen?

Schreiben:

int handle;
   handle=FileOpen("testname.txt", FILE_READ|FILE_CSV|FILE_WRITE, ';');
   if(handle>0)
   {
      FileWrite(handle, "параметры:");
      ...
      FileClose(handle);
   }

in der Deinitialisierungsfunktion

die Textdatei speichert nur Informationen über den letzten Lauf

 
ilunga:

Wie kann ich eine Datei öffnen, um ihr Informationen hinzuzufügen?

Schreiben:

In der Deinitialisierungsfunktion.

Die Textdatei enthält nur Informationen über den letzten Lauf

bool FileSeek( int handle, int offset, int origin)
Die Funktion verschiebt den Dateizeiger an eine neue Position, die ein Offset in Bytes von der Start-, End- oder aktuellen Dateiposition ist. Das nächste Lesen oder Schreiben erfolgt ab der neuen Position.
Wenn das Verschieben des Dateizeigers erfolgreich war, gibt die Funktion TRUE zurück, andernfalls FALSE. Um Informationen über den Fehler zu erhalten, muss die Funktion GetLastError() aufgerufen werden.
Parameter:
Griff - Von FileOpen() zurückgegebener Dateideskriptor.
Versatz - Offset in Bytes.
Herkunft - Die Ursprungsposition. Der Wert kann eine dieser Konstanten sein:
SEEK_CUR - Von der aktuellen Position aus,
SEEK_SET - von Anfang an,
SEEK_END - vom Ende der Datei.

  int handle=FileOpen("filename.csv", FILE_CSV|FILE_READ|FILE_WRITE, ';');
  if(handle>0)
    {
     FileSeek(handle, 0, SEEK_END);
     //---- add data to the end of file
     FileWrite(handle, data1, data2);
     FileClose(handle);
     handle=0;
    }
 
 
Vinin:
bool FileSeek( int handle, int offset, int origin)
Die Funktion verschiebt den Dateizeiger an eine neue Position, die ein Offset in Bytes von der Start-, End- oder aktuellen Dateiposition ist. Das nächste Lesen oder Schreiben erfolgt ab der neuen Position.
Wenn das Verschieben des Dateizeigers erfolgreich war, gibt die Funktion TRUE zurück, andernfalls FALSE. Um Informationen über den Fehler zu erhalten, muss die Funktion GetLastError() aufgerufen werden.
Parameter:
Griff - Von FileOpen() zurückgegebener Dateideskriptor.
Versatz - Offset in Bytes.
Herkunft - Startposition. Der Wert kann eine dieser Konstanten sein:
SEEK_CUR - ausgehend von der aktuellen Position,
SEEK_SET - von Anfang an,
SEEK_END - ab dem Ende der Datei.

funktioniert, vielen Dank.

 
PapaYozh:


Bringen Sie hier den Text aus dem Logbuch des Terminals, in dem der EA nicht funktioniert.

2011.05.16 09:06:08 Expert Moving Average New-Svecha EURUSD,M30: erfolgreich geladen
2011.05.16 09:04:21 Expert Moving Average New-Svecha EURUSD,M30: erfolgreich geladen
2011.05.16 08:14:25 '81415': DataCenter connection failed [6]


Wenn das Terminal gestartet wird und dann der EA ausgeführt wird, dann erscheint nichts anderes im Log, aber der EA zeigt Arbeit...

 


Index

- Auftragsposition oder Auftragsnummer je nach zweitem Parameter.
Wählen Sie - Kennzeichen der Auswahlmethode. Es kann einer der folgenden Werte sein:
SELECT_BY_POS - der Indexparameter enthält die Indexnummer einer Position in der Liste,
SELECT_BY_TICKET - der Indexparameter enthält die Ticketnummer.
Pool - Datenquelle für die Auswahl. Er wird verwendet, wenn der Select-Parameter gleich SELECT_BY_POS ist. Es kann einer der folgenden Werte sein:
MODE_TRADES (Standard) - der Auftrag wird unter den offenen und schwebenden Aufträgen ausgewählt,
MODE_HISTORY - der Auftrag wird unter den geschlossenen und gelöschten Aufträgen ausgewählt.

Ich kann absolut nicht verstehen, wo und wie man die Positionsauftragsnummer in die Liste aufnimmt, wenn der Zweck ist, einen Gewinn zu erhalten, nachdem der Auftrag geschlossen wurde? OrderSelect(SELECT_BY_POS,MODE_HISTORY ?

Entschuldigung, bin ich zu vage?

Sie können in einem Ticket OrderSelect( tiket,SELECT_BY_TICKET,MODE_TRADES ) für geschlossene und gelöschte Aufträge nicht einsetzen?


 
Dimka-novitsek:


Index

- Auftragsposition oder Auftragsnummer je nach zweitem Parameter.
Wählen Sie - Kennzeichen der Selektionsmethode. Kann einer der folgenden Werte sein:
SELECT_BY_POS - der Parameter index übergibt die Ordnungszahl der Position in der Liste,
SELECT_BY_TICKET - die Nummer des Tickets wird im Indexparameter übergeben.
Pool - Datenquelle für die Auswahl. Er wird verwendet, wenn derSelect-Parameter gleich SELECT_BY_POS ist. Es kann einer der folgenden Werte sein:
MODE_TRADES (Standard) - der Auftrag wird unter den offenen und schwebenden Aufträgen ausgewählt,
MODE_HISTORY - der Auftrag wird unter den geschlossenen und gelöschten Aufträgen ausgewählt.

Ich kann absolut nicht verstehen, wo und wie man die Positionsnummer in die Liste aufnimmt, wenn das Ziel ist, einen Gewinn zu erzielen, nachdem der Auftrag geschlossen wurde? OrderSelect(SELECT_BY_POS,MODE_HISTORY ?

Entschuldigung, bin ich zu vage?

Schließlich können wir die OrderSelect( tiket,SELECT_BY_TICKET,MODE_TRADES ) für geschlossene und gelöschte Aufträge nicht eingeben?


https://docs.mql4.com/ru/trading/ordershistorytotal

 
Sorry, ich kann dem Link nicht folgen, er funktioniert bei mir nicht.
Grund der Beschwerde: