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

 

Alexey Viktorov #:

Ihre Variante ist durchaus akzeptabel, aber Sie müssen Aufträge durch Geschäfte ersetzen. Gewinn, Provision und Swap werden durch Geschäfte gespeichert, nicht durch Aufträge.

Berücksichtigen Sie auch, dass ein Auftrag mehrere Geschäfte erzeugen kann.

Wählen Sie also entweder Geschäfte für jeden Auftrag aus, oder erstellen Sie ein Array/eine Liste (nach der Anzahl der Aufträge) von Strukturen und füllen Sie diese durch Auswahl von Geschäften.
 
JRandomTrader #:

Und berücksichtigen Sie, dass ein Auftrag mehrere Geschäfte erzeugen kann.

Also entweder für jeden Auftrag eine Vorauswahl der Geschäfte treffen oder ein Array/Liste (nach Anzahl der Aufträge) von Strukturen erstellen und diese durch die Suche nach Geschäften füllen.

Warum sollten Sie sich das Leben schwer machen? Wenn Sie den Gewinn für eine bestimmte Periode berechnen müssen, und im Quellcode wird das so gemacht, dann gehen Sie einfach die Geschäfte für diese Periode durch. Das IN-Geschäft hat oder kann eine Provision haben, das OUT-Geschäft kann neben der Provision auch einen Swap und einen Gewinn haben. So haben wir, nachdem wir alles zusammengefasst haben, das gewünschte Ergebnis erhalten.

Eine andere Sache ist, wenn die Aufgabe darin besteht, den Gewinn für jede Positions-ID separat in einem Array zu sammeln.

 
Guten Tag, es gab ein Signal mit einem offenen Auftrag, der auf seine Bewegung wartete, aber der Administrator schickte es ins Archiv wegen inaktivem Handel, wie er behauptet... bitte sagen Sie mir, wie ich es jetzt herausnehmen kann .... Danke.
 

Leute, helft mir. Früher wurde beim Klicken auf das Mausrad der Fadenkreuzmodus des Cursors im Terminal und MT4 und MT5 aktiviert. Jetzt ist es verschwunden. Wie wird es angepasst?

p.s. Ich habe nie irgendwelche Maustreiber installiert, alles funktionierte automatisch....

 
Alexander Mostovnek #:

Leute, helft mir. Früher wurde beim Klicken auf das Mausrad der Fadenkreuzmodus des Cursors im Terminal und MT4 und MT5 aktiviert. Jetzt ist es verschwunden. Wie ist es eingestellt?

p.s. Ich habe nie irgendwelche Maustreiber installiert, alles funktionierte automatisch....

Sie ist nicht verschwunden, sie reagiert nur nicht mehr so schnell...

Ich dachte sogar sündhaft, dass die Maus kaputt ist und die Taste nicht ein- und zweimal gedrückt wird

 
Maxim Kuznetsov #:

Es ist nicht verschwunden, es ist nur weniger reaktionsschnell.

Ich dachte sogar, dass die Maus kaputt ist und die Taste verrutscht ist.

Aber ich weiß es nicht. Ich habe sie viele Male getestet, und sie reagiert sehr schnell. Keine Verzögerungen. Sie hat sich nicht ein einziges Mal aufgehängt.


 
Es ist so, dass das Radpressen tot ist..... :)
 

- Herr Doktor, ich habe Schmerzen hier und hier und hier.

- Ihr Finger ist gebrochen.)

 
double MinOpenBuy(int a = 1)
   {
   ulong tick = 0;
   datetime time = 0;
   double result=0,lot=0,profit=0,openprice=0,
          NewPrice, OldPrice = DBL_MAX;
   for(int i=OrdersTotal(); i>=0; i--)
   {
      if (a_position.SelectByIndex(i))
      {
         if (a_position.Symbol() == a_symbol.Name() && a_position.Magic() == Magic && a_position.PositionType() == POSITION_TYPE_BUY)
         {
            NewPrice = a_position.PriceOpen();
            if ( NewPrice < OldPrice)
            {
               OldPrice = NewPrice;
               profit = NormalizeDouble(a_position.Commission()+a_position.Swap()+a_position.Profit(),2);
               lot = a_position.Volume(); 
               time = POSITION_TIME; 
               tick = a_position.Ticket(); 
            }
         }
      }
   }
   if(a==1) 
	{result = OldPrice;} else
   if(a==2) 
	{result = profit;} else
   if(a==3) 
	{result = lot;} else
   if(a==4) 
	{result=(double)time;}else
   if(a==5) 
	{result=(double)tick;}else
   {result=0;}
   return(result);
  }
Guten Tag.
Frohe Feiertage an alle.
Ich brauche Hilfe von Fachleuten.
Ich habe diesen Code in MQL4 geschrieben, um nach dem Auftrag mit dem niedrigsten Eröffnungspreis zu suchen und seine Daten zu erhalten
Jetzt versuche ich, alles auf MQL5 zu übertragen, aber aus irgendeinem Grund funktioniert es nicht(
Was ist der Fehler?
 
Maksim Burov #:
for(int i=OrdersTotal(); i>=0; i--)

Ich bin nicht auf das Wesentliche des Codes eingegangen, aber was mir sofort auffiel, war die falsch eingestellte Anzahl der zu durchsuchenden Aufträge. Sie sollte so lauten:

for(int i=OrdersTotal() - 1; i>=0; i--)

Und auch in der Schleife durchlaufen Sie die Aufträge, aber Sie suchen nach Positionseigenschaften. Auch das ist falsch. Ich nehme an, dass Sie höchstwahrscheinlich eine Schleife über die Positionen machen müssen:

for(int i=PositionsTotal() - 1; i>=0; i--)

Mit freundlichen Grüßen, Vladimir.