Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4753
Beiträge: 42340
Benutzer: 7.117
Aktive Benutzer: 140
Links: 83
Wir begrüßen unseren neuesten Benutzer: Krulle
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 21:38).
Neue Benutzer:
vor einem Tag
- Krulle
vor einem Tag
- adamascahs...
vor einem Tag
- David12
vor 2 Tagen
- adizycpitt...
vor 3 Tagen
- bgregoratt...

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 42
Gesamt: 42
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor 4 Wochen
Mitglied
 
Registriert seit: Feb 2017
Beiträge: 63
pascalper befindet sich auf einem aufstrebenden Ast
Standard History: Selektion geht das überhaupt?

Hallo,

Keine Ahnung ob das geht: Ich möchte gerne aus der History alle negativ geschlossenen Positionen bis zu ersten positiv geschlossenen Positionen selektieren und den negativ Wert (Profit) summiert zurück geben

Code:
  double CL=0;

    double NegativClosedProfit(){
    for(int pos=0;pos<OrdersHistoryTotal();pos++)
    if(OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY)){
    if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && (OrderType()==OP_BUY || OrderType()==OP_SELL))

leider weiß ich ab da nicht mehr weiter, wie man das machen könnte...

    }
   return(CL);
  }
Für jede Hilfe dankbar!
Mit Zitat antworten
  #2 (permalink)  
Alt vor 4 Wochen
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.566
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

" Ich möchte gerne aus der History alle negativ geschlossenen Positionen bis zu ersten positiv geschlossenen Positionen selektieren"

Nun, da wäre die Frage, ob von der zeitlich ersten geschlossenen oder von der letzten historischen Order ausgegangen werden soll.

Erster Fall:

Code:
double Summ_Negativer_Profit = 0;
for (int pos = 0; pos < OrdersHistoryTotal(); pos++) {
   if (OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderProfit() <= 0) Summ_Negativer_Profit  += OrderProfit();
         else break;
}
//Weiterverarbeitung des Wertes der Variablen Summ_Negativer_Profit.
Zweiter Fall:

Code:
double Summ_Negativer_Profit = 0;
for (int pos = OrdersHistoryTotal()-1; pos >= 0; pos--) {
   if (OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderProfit() <= 0) Summ_Negativer_Profit  += OrderProfit();
         else break;
}
Ich habe die OrderProfits = 0 mit einbezogen, da ja von positiven Profits die Rede war.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #3 (permalink)  
Alt vor 4 Wochen
Mitglied
 
Registriert seit: Feb 2017
Beiträge: 63
pascalper befindet sich auf einem aufstrebenden Ast
Standard

In dem Fall, zeitlich die letzten, also Fall 2
Die 0 zu integrieren ist natürlich richtig, obwohl sie direkt auf meine Zielsetzung keinen Einfluss hat, da sie das summierte Ergebnis nicht beeinflußt.

Ich möchte die negative Summe der Verlust Positionen kennen um die Option zu haben entweder den fixen TP der gerade offenen Position zu verwenden, der weit höher liegt oder einen TrailingStop zu aktivieren der >= Summe negativ Positionen ist (Austieg BreakEven), da oft der eigentlich fixe TP nicht erreicht wird, der Trend schwächelt und der Kurs wieder in die andere Richtung geht.

Auf jeden Fall danke ich Dir und werde berichten!
Mit Zitat antworten
  #4 (permalink)  
Alt vor 3 Wochen
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.566
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ich sehe gerade, dass sich wieder ein Klammerteufel eingeschlichen hatte.
Korrektur nur von Fall 2 (analog Fall 1):

Code:
double Summ_Negativer_Profit = 0;
for (int pos = OrdersHistoryTotal()-1; pos >= 0; pos--) {
   if (OrderSelect(pos, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderProfit() <= 0) Summ_Negativer_Profit  += OrderProfit();
         else break;
   }
}
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #5 (permalink)  
Alt vor 3 Wochen
Mitglied
 
Registriert seit: Feb 2017
Beiträge: 63
pascalper befindet sich auf einem aufstrebenden Ast
Standard

Hallo traderdoc

Funktioniert wunderbar (Variante 2) alles bereits angepasst und getestet

Nochmals Danke!
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 22:32 Uhr.





Die Suchmaschine - Der Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2021 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2020 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------