Einzelnen Beitrag anzeigen
  #5 (permalink)  
Alt 30.01.17
traderdoc traderdoc ist offline
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Nicht ganz.

Code:
  double x  = 0;
  double summe = 0;
  //int Day();                                                        //  nicht eine best. Anzahl von Trades, sondern intraday-Trades 

  for (int i = OrdersHistoryTotal() - 1 ; i >= 0; i--)              //  "int i" wurde integriert deklariert / Zählung läuft abwärts
     { 
     if OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
        {
         if(OrderSymbol() == Symbol())                              //  hier ggf. zusätzlich  "(... &&  OrderTicket() == TicketNumber())"
           {
              x = OrderProfit() + OrderSwap() + OrderCommission();  //  Swap und Commission werden jetzt berücksichtigt
              summe += x;                                           //  "summe" kann jetzt <= (positiv) oder < 0 (negativ) sein
           }
        }
     Print("Summe=", summe);                                        //  summe = positiv/Graph-green  //  summe = negativ/Graph=red
     }
//+---  
  void OnStart()
  
  if(summe() >= 0)   ObjectCreate in CLR green ...
  if(summe() <  0)   ObjectCreate in CLR red .....


//+--- Deklaration für monatliche Auswertung:  "int TimeDay() { datetime } ;" 
//+--- und in der "if"-Abfrage dann   "if(TimeCurrent() < TimeDay())" ??? - wäre das richtig ?
Das Day() liefert Dir nur den derzeitigen Tag zurück, also heute z.B. 30.
Um prinzipiell über alle historischen Orders des Handelsinstrumentes Symbol() kannst Du den obigen Code benutzen. Aber hier werden nun alle Orders die in der Historie aufgelistet werden, untersucht.

Deshalb die Frage, wolltest Du nur die Profits zusammenaddieren die am aktuellen Tag anfallen oder über welchen anderen Zeitraum?

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.