Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 721

 
Wie macht man ein richtiges Martingal?
Ich verstehe das richtig:
Vor der Eröffnung jedes Handels müssen Sie alle Geschäfte auf dieses Symbol mit diesem Zauberer überprüfen und wenn der letzte Handel am Tag mit einem Verlust, bzw. erhöhen die Menge?
 
Roman Sharanov:
Wie wird ein Martingal richtig ausgeführt?
Ich verstehe das richtig:
Vor jeder Handelseröffnung müssen Sie alle Geschäfte mit diesem Symbol mit diesem Zauberer überprüfen und wenn das letzte Geschäft bis zum Datum einen Verlust aufweist, erhöhen Sie das Lot?

Es ist wie folgt

 
Sergey Gritsay:

Es ist wie folgt

Ich verstehe nur nicht, wie man die jüngste Transaktion aus all diesen Transaktionen berechnen kann.

 
Leute, hat jemand die Notwendigkeit, Indikatordaten zu erhalten , die auf einem anderen Indikator basieren, z.B. RSI, der dem RSI überlagert ist.
 
Roman Sharanov:

Ich verstehe nur nicht, wie man die jüngste Transaktion aus all diesen Transaktionen berechnen kann.

Es geht ungefähr so.

double  ProfitLastDeals()
  {
   double m_profit=0;
   int total=OrdersTotal();

   for(int i=0; i<total; i++)
     {
      if(!OrderSelect(i,SELECT_BY_POS))continue;
      if(OrderMagicNumber()!=m_magic)continue;
      if(OrderSymbol()!=m_symbol)continue;
      if(OrderType()==m_type)
        {
         m_profit=OrderProfit();
        }
     }
   return(m_profit);
  }
 
Sergey Gritsay:
Leute, hat jemand über, ich brauche, um Indikator-Daten auf der Grundlage eines anderen Indikators, z. B. RSI überlagert RSI erhalten.

Alles geklärt, die Frage ist nicht mehr relevant

 
Roman Sharanov:

Ich verstehe nur nicht, wie man die letzte Transaktion aus allen Geschäften berechnet.

Entschuldigung, das letzte Beispiel wählt unter offen aus, unter geschlossen sollte es so sein

double  ProfitLastDealsHistory()
  {
   double m_profit=0;
   int total=OrdersHistoryTotal();

   for(int i=0; i<total; i++)
     {
      if(!OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))continue;
      if(OrderMagicNumber()!=m_magic)continue;
      if(OrderSymbol()!=m_symbol)continue;
      if(OrderType()==m_type)
        {
         m_profit=OrderProfit();
        }
     }
   return(m_profit);
  }
 

Seltsames Verhaltenvon iBarShift(). Gibt den Index (-1) zurück, wobei dasexakte =false-Flag explizit geprüft wird.

Der Fehler kann jederzeit zufällig auftreten, es gibt keine Möglichkeit, ihn manuell abzufangen.

Bei einem negativen Index schreibt der Code die Parameter der ausgeführten Anfrage und ihr Ergebnis in die Konsole

2019.01.04 10:40:24.047 CCC (GBPUSD,M1) Neg index: NZDUSD TimeCurrent: 2019.01.04 09:40:23 Request: 2019.01.04 09:40:23 TimeLastTick: 2019.01.04 09:40:23.44
2019.01.04 10:40:24.047 CCC (GBPUSD,M1) LastError: 0

Anforderung - der Zeitpunkt, zu dem der Balkenindex angefordert wird

TimeLastTick ist der Zeitpunkt des letzten Ticks für das angeforderte Symbol;MqlTick[] wird direkt nach dem Fehler genommen.

Was können die Gründe für ein solches Verhalten sein, vielleicht hat jemand Erfahrung damit?

 
SemenTalonov:

Seltsames Verhaltenvon iBarShift(). Gibt den Index (-1) zurück, wobei dasexakte =false-Flag explizit geprüft wird.

Der Fehler kann jederzeit zufällig auftreten, es gibt keine Möglichkeit, ihn manuell abzufangen.

Bei einem negativen Index schreibt der Code die Parameter der ausgeführten Anfrage und ihr Ergebnis in die Konsole

Anforderung - der Zeitpunkt, zu dem der Balkenindex angefordert wird

TimeLastTick ist der Zeitpunkt des letzten Ticks für das angeforderte Symbol;MqlTick[] wird direkt nach dem Fehler genommen.

Was können die Gründe für ein solches Verhalten sein, vielleicht hat jemand Erfahrung damit?

Was sagt die Dokumentation zu exact == false?
 
Artyom Trishkin:
Was steht in der Dokumentation zu exact == false?

Rückgabewert, wenn zum angegebenen Zeitpunkt kein Takt gefunden wurde. Beiexact=false gibtiBarShift den Index des nächstgelegenen Taktes zurück, dessen Öffnungszeit kleiner als die angegebene ist (time_open<time). Wird ein solcher Balken nicht gefunden (kein Verlauf vor dem angegebenen Zeitpunkt), gibt die Funktion -1 zurück.

Aber wir haben Geschichte, das ist eine Tatsache. Alles geschieht am neuesten (0-ten nach Zeitreihe) Balken.

Grund der Beschwerde: