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

 
Ich danke Ihnen. Genau das, was ich brauche. Ich habe ein Skript erstellt und... ...gemessen. TERMINAL_MEMORY_TOTAL und TERMINAL_MEMORY_AVAILABLE Fehler in der Dokumentation, nie verstanden, was sie ausgeben und in welchen Messungen, aber es scheint nicht, was beabsichtigt ist.
 
paladin800:

Bitte geben Sie an, wie Sie die Bedingungen im Code überprüfen können, z. B:

Kumulativ ist 1 das Normalste.
 
Ich verwende die Standardbibliothek, um das aktuelle Gebot zu ermitteln:

CSymbolInfo m_symbol;

m_symbol.Bid()


Im Tester (Alle Ticks, M1) erhalte ich, dass es sich nicht um das aktuelle Gebot, sondern um den Eröffnungskurs des Balkens handelt. Vielleicht habe ich etwas übersehen? Wie überprüfe ich den Preis korrekt auf Ticks, um korrekte Ergebnisse im Testgerät zu erhalten?

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
tyun:
Ich verwende die Standardbibliothek, um das aktuelle Gebot zu ermitteln:

CSymbolInfo m_symbol;

m_symbol.Bid()


Im Tester (Alle Ticks, M1) erhalte ich, dass es sich nicht um das aktuelle Gebot, sondern um den Eröffnungskurs des Balkens handelt. Vielleicht habe ich etwas übersehen? Wie überprüfe ich den Preis korrekt auf Ticks, um korrekte Ergebnisse im Testgerät zu erhalten?

https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/csymbolinfo/csymbolinforefreshrates
Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo / RefreshRates
Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo / RefreshRates
  • www.mql5.com
Стандартная библиотека / Торговые классы / CSymbolInfo / RefreshRates - Документация по MQL5
 

Ich eröffne einen Handel mit CTrade und setze einen Stop-Loss.

Und wie kann ich den Zeitpunkt des Abschlusses eines Geschäfts durch Stop Loss in der OnTrade- oder OnTransactionTrade-Methode abfangen?

Ich kenne das Ticket, ich kenne das Zifferblatt, aber sie sind immer unterschiedlich in OnTransactionTrade (obwohl ich verstehe, warum)

 
WiND:

Ich eröffne einen Handel mit CTrade und setze einen Stop-Loss.

Und wie kann ich den Zeitpunkt des Abschlusses eines Geschäfts durch Stop Loss in der OnTrade- oder OnTransactionTrade-Methode abfangen?

Ich kenne das Ticket, ich kenne das Zifferblatt, aber sie sind immer unterschiedlich in OnTransactionTrade (obwohl ich verstehe, warum)

Anhand des Kommentars können Sie feststellen, ob die Position durch Stop Loss/TakeProfit geschlossen wurde. Für Stop Loss prüfen Sie den sl im Kommentar und für Take Profit tp.
 
tol64:
Anhand des Kommentars können wir feststellen, ob die Position durch Stop Loss/TakeProfit geschlossen wurde. Prüfen Sie für Stop Loss den Kommentar sl und für Take Profit den Kommentar tp.

Ich habe über den Kommentar nachgedacht, aber soweit ich mich erinnere, können die Kommentare vom Server geändert werden.

Im Allgemeinen ist es mir egal, ob er durch Stoploss, Takeprofit oder manuell geschlossen wird.

Die Hauptsache ist, den Zeitpunkt des Abschlusses eines bestimmten Auftrags zu ermitteln.

 
WiND:

Ich habe über den Kommentar nachgedacht, aber soweit ich mich erinnere, können die Kommentare vom Server geändert werden.

Im Allgemeinen ist es mir egal, ob er durch Stoploss, Takeprofit oder manuell geschlossen wird.

Die Hauptsache ist, den Zeitpunkt des Abschlusses eines bestimmten Auftrags zu ermitteln.

Sie können auch die Kennung DEAL_ENTRY_OUT aus der Aufzählung ENUM_DEAL_ENTRY verwenden, um zu verstehen, dass die Position geschlossen wurde.

Referenz: Eigenschaften des Gewerbes.

 

Hallo!

Ich habe einen EA in MQl4, der in MQL5 konvertiert werden muss. Bitte helfen Sie mir, die Funktion CopyBuffer() zu verstehen.

In MQl4 sieht der Code wie folgt aus:

....
int start()
{ 
   induk_real1 = iCustom(NULL, PERIOD_H1, "Laguerre", gamma, 950, 0, 0);
   induk1 = NormalizeDouble(induk_real1,2);
 
   if(OrdersTotal( )<1){
  
   if(induk1==1) {

......
}}}

In MQL5 sieht das so aus. Der 'CopyBuffer'-Fehler - keine der Überladungen kann auf den Funktionsaufruf angewendet werden.

....
int OnInit()
  {
   SymbolSelect(_Symbol,true);
   induk_handle = iCustom(NULL,PERIOD_H1,"Laguerre",gamma); 
   return(0);
  }
void OnDeinit(const int reason)
  {
  }
void OnTick()
  {
   CopyBuffer(induk_handle,0,1,2,induk_real1);
   induk1 = NormalizeDouble(induk_real1,2);
   
    if(OrdersTotal()<1){
    if(induk1==1) {
    ......
     }}}   
 
Aid:

Hallo!

Ich habe einen EA in MQl4, der in MQL5 konvertiert werden muss. Bitte helfen Sie mir, die Funktion CopyBuffer() zu verstehen.

In MQl4 sieht der Code wie folgt aus:

In MQL5 sieht das so aus. Der 'CopyBuffer'-Fehler - keine der Überladungen kann auf den Funktionsaufruf angewendet werden.

induk_real1 - es sollte ein Array vorhanden sein.
Grund der Beschwerde: