Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1188

 
odyn:

Bitte erläutern Sie dies.

Die FunktionOnTradeTransaction.

Muss es im Expert Advisor sein?

Wenn nicht, in welchen Fällen muss sie in den Code aufgenommen werden und warum?

Nur OnInit() und OnTick() sind obligatorisch, der Rest ist optional. Der Grund dafür ist in der Dokumentation der Sprache klar beschrieben.

Die Forum-Engine hat einen Link zum Funktionsnamen gesetzt, klicken Sie darauf und lesen Sie ihn.
 
Alexey Viktorov:

Nur OnInit() und OnTick() sind obligatorisch, der Rest liegt im Ermessen des Codewriters. Warum ist dies in der Dokumentation der Sprache klar beschrieben.

Die Forum-Engine hat einen Link zum Namen der Funktion gesetzt, damit wir sie lesen können.

Ich stelle nur dann eine Frage, wenn ich die Erklärungen in der Dokumentation, in den Artikeln und im Forum nicht verstehen kann.

Wenn es "klar beschrieben" wäre, würde ich nicht fragen.

Die Funktion ist dafür gedacht, die Ergebnisse einer Handelsanfrage zu verarbeiten. Diese Funktion gibt nichts zurück.

Die Funktion ist dafür nicht notwendig.

Die Funktion ist also notwendig, wenn der Expert Advisor die Ergebnisse der Verarbeitung von Anfragen vom Server erhält? Aber schickt sie nicht jeder Expert Advisor? Die Funktion muss also immer in den Expert Advisor eingefügt werden?

 

Hallo! Frage für erfahrene Benutzer!

MQL5 hat OBJ_CHART.

Bitte geben Sie an, wie man Indikatoren, insbesondere MA, in OBJ_CHART verwenden kann, und ob dies möglich ist?

 
odyn:

Ich stelle nur dann eine Frage, wenn ich die Erklärung in der Dokumentation, in den Artikeln und im Forum nicht verstehe.

Wenn es "klar beschrieben" wäre, würde ich nicht fragen.

Die Funktion ist für die Verarbeitung der Ergebnisse einer Handelsanfrage vorgesehen. Diese Funktion gibt nichts zurück.

Die Funktion ist dafür nicht notwendig.

Die Funktion ist also notwendig, wenn der Expert Advisor die Ergebnisse der Verarbeitung von Anfragen vom Server erhält? Aber schickt sie nicht jeder Expert Advisor? Die Funktion muss also immer in den Expert Advisor eingefügt werden?

Einige Programmierer hängen an den Beispielen fest, die sie in mql4 gelernt haben, und können sich nicht von ihnen lösen. Die Funktion OnTradeTransaction() ist für solche Programmierer wie ein Hundeschwanz. Aber wenn Sie zum Beispiel ein Ereignis erkennen wollen, wenn ein schwebender Auftrag aktiviert wird, kann dies nicht einfacher als in OnTradeTransaction() geschehen. Wenn Sie zum Zeitpunkt der Positionsschließung eine Entscheidung treffen und eine Aktion durchführen müssen, können Sie dies ganz einfach mit OnTradeTransaction() tun. Und wenn es notwendig ist, einige Aktionen beim Schließen durch TP und andere Aktionen beim Schließen durch SL auszuführen, kann dies nicht einfacher als in OnTradeTransaction() geschehen.

Aber¡¡¡ jetzt werden diejenigen, von denen ich gesprochen habe, kommen und anfangen zu spekulieren, wie viele Millisekunden es hier und dort gibt... Alles in allem ist es eine Sache des Amateurs. Wenn Sie daran interessiert sind, führen Sie es aus und sehen Sie, was Sie in OnTradeTransaction() erhalten, und überlegen Sie, wie Sie es für sich selbst nutzen können.

 

Sagen Sie mir, wenn ich zwei Geschäfte gleichzeitig eröffnen muss, aber prüfen will, ob bei der Eröffnung eines der beiden Geschäfte ein Fehler auftritt, wie erkenne ich den Fehler?

Gibt es eine Funktion, die die Möglichkeit bietet, einen Handel mit einem Vermögenswert zu eröffnen?

 
Alexey Viktorov:


Vielen Dank für die Antwort!

 

Ich kann die Datei im Prüfprogramm nicht öffnen. Ich erhalte Fehler 5004.

int               m_file_handle;
short             m_delimiter;

m_delimiter='\t';
m_file_handle=FileOpen(m_filename,FILE_READ|FILE_CSV,m_delimiter);
if(m_file_handle==INVALID_HANDLE)
  {
   Print(__FUNCTION__+": file open failed. Error: ",GetLastError());
   return false;
  }

Es handelt sich um eine normale csv-Datei mit Tabellierung als Trennzeichen. Ich habe sie in den Ordner MQL5\Files des Agenten gelegt. Nach dem Versuch, sie zu öffnen, verschwindet die Datei.

 
leonerd:

Ich kann die Datei im Prüfprogramm nicht öffnen. Ich erhalte Fehler 5004.

Es handelt sich um eine normale csv-Datei mit Tabellierung als Trennzeichen. Ich habe sie in den Ordner MQL5\Files des Agenten gelegt. Die Datei verschwindet nach dem Versuch, sie zu öffnen.

ok, ohne #property funktioniert tester_file offenbar nicht.

 
Roman Sharanov:

Sagen Sie mir, wenn ich zwei Geschäfte gleichzeitig eröffnen muss, aber prüfen will, ob bei der Eröffnung eines der beiden Geschäfte ein Fehler auftritt, wie erkenne ich den Fehler?

Gibt es eine Funktion, die die Möglichkeit bietet, einen Handel für einen Vermögenswert zu eröffnen?

Verwenden Sie OnTradeTransaction().

 

Bitte schlagen Sie ein Analogon der MQL4-Funktion MarketInfo(asymbol, MODE_MARGIN_REQUIRED) in MQL5 vor.

Ich mussden Betrag an freien Mitteln erhalten, der erforderlich ist, um 1 Los zum Kauf zu eröffnen.

Ich habe verschiedene Varianten der Funktion SymbolInfoDouble(symbol, ...) in MQL5 ausprobiert, ich kann die richtige Variante nicht finden, sie gibt überall 0 zurück.

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о счете
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация о счете
  • www.mql5.com
, то позиции по каждому символу разрешается закрывать только в том порядке, в котором они были открыты — сначала самую старую, затем более новую и т.д. При попытке закрыть позиции в ином порядке будет получена ошибка. Уровень залоговых средств, при достижении которого происходит принудительное закрытие самой убыточной позиции (Stop Out...