|
Startseite | Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
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); } |
|
|||
" 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. 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. |
|
|||
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! |
|
|||
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; } }
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
Lesezeichen |
Themen-Optionen | Thema durchsuchen |
Ansicht | |
|
|