[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 168

 
Aha, und wo kommen wir da hin? Lesen Sie die Frage genau. Es geht um die Berechnung des Gewinns zu einem bestimmten Zeitpunkt, nicht des aktuellen.
 
hedger:

Möglicherweise.

Aber wenn der Grund dafür ist, dass sich die Frage auf MT5 und nicht auf MT4 bezieht, dann habe ich mich an dieser Liste orientiert:


Sie lockt uns nur mit ihrer Werbung zu einem Fünfer... :-) Für mehr - siehe Treugi in Kürze.
 
FAQ:
Aha, und wo kommen wir da hin? Lesen Sie die Frage genau. Es geht um die Berechnung des Gewinns zu einem bestimmten Zeitpunkt, nicht des aktuellen.
Mm-hmm. Richtig. Tut mir leid, ich habe es nicht richtig verstanden.
 

Es scheint so... leider ist es problematisch, es auf dem Tester zu überprüfen (oder ich bin so schläfrig, dass ich nicht herausfinden kann, wie), überprüfen?

double AcountProfitEx (double Price) {
   double PipsPrice = MarketInfo(Symbol(),MODE_TICKVALUE)/(MarketInfo(Symbol(),MODE_TICKSIZE)/MarketInfo(Symbol(),MODE_POINT));
   double ProfitSum = 0;
   for (int i = OrdersTotal(); i > 0; i--) {
      OrderSelect(i, SELECT_BY_POS);
      if ((OrderType() == OP_BUY) || (OrderType() == OP_SELL)) {
         ProfitSum += (OrderOpenPrice()-Price)*PipsPrice*OrderLots();
      }
   }
   return (ProfitSum);
}
 

Guten Tag.

Wie kann ich überprüfen, ob eine Zahl eine ganze Zahl ist?

z.B. als Ergebnis der Division von einer Zahl durch eine andere

 
Stells:

Guten Tag.

Wie kann ich überprüfen, ob eine Zahl eine ganze Zahl ist?

Zum Beispiel das Ergebnis der Division einer Zahl durch eine andere?


bool CheckInt(double Value, double Delta){
   if (MathAbs(Value-MathRound(Value))<Delta) 
       return(true);
   return(false);
}

Sie können so vorgehen

Delta - Fehler einstellen

 
if(MathMod(input,1.0)==0){
    // значит input целое
}
 
Vinin:

Ich möchte 2 Trades in der Historie festhalten und eine Aktion für den dritten durchführen:

int Orders=HistoryTotal(); // Summe der historischen Aufträge
int Kol_Orders=0; // Anzahl der Abschlüsse

for(int s=Orders-1;s>=0;s--)
{
if(OrderSelect(s,SELECT_BY_POS,MODE_HISTORY)==false)
{
Print("History error!");
break;
}
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL || OrderMagicNumber()!=MAGIC)
continue;
Kol_Orders++;

}
bool CheckInt(double Value, double Delta){

Wert=Kol_Orders/2;

delta =0,001;
if (MathAbs(Value-MathRound(Value))<Delta)
return(true);
return(false);
}

 
FAQ:

Ist das in Ordnung?

int Orders=HistoryTotal(); // Summe der historischen Bestellungen
int Kol_Orders=0; // Anzahl der Aufträge

for(int s=Orders-1;s>=0;s--)
{
if(OrderSelect(s,SELECT_BY_POS,MODE_HISTORY)==false)
{
Print("History-Fehler!");
Pause;
}
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL || OrderMagicNumber()!=MAGIC)
weiter;
Kol_Orders++;

}

if(MathMod(Kol_Orders/2,1.0)==0){
// Ganzzahlige Eingabe
}

 
Guten Tag, liebe Fachleute, wie testen Sie Ihre EAs? Wir haben früher das Patch-Skript von Birt verwendet und 99%ige Ergebnisse erzielt, aber seit dem 1. Datum funktioniert es nicht mehr, weil das Terminal keine alten Builds mehr unterstützt... ich bin also nicht sicher, was ich tun soll, wenn ich den Ergebnissen der üblichen Terminal-Tests vertraue? Wie kommt man da wieder raus? Oder vielleicht kann jemand einen Blick auf das Skript werfen und es an den neuesten Build anpassen?
Dateien: