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: 4973
Beiträge: 43253
Benutzer: 7.219
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Hopfen&Malz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107
vor 2 Wochen
- rg-trader

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

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 27.08.21
Mitglied
 
Registriert seit: Feb 2017
Beiträge: 79
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!
  #2 (permalink)  
Alt 27.08.21
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
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.
  #3 (permalink)  
Alt 27.08.21
Mitglied
 
Registriert seit: Feb 2017
Beiträge: 79
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!
  #4 (permalink)  
Alt 28.08.21
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
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.
  #5 (permalink)  
Alt 28.08.21
Mitglied
 
Registriert seit: Feb 2017
Beiträge: 79
pascalper befindet sich auf einem aufstrebenden Ast
Standard

Hallo traderdoc

Funktioniert wunderbar (Variante 2) alles bereits angepasst und getestet

Nochmals Danke!
Thema geschlossen

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 09:41 Uhr.





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