Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Es passt nicht, es gibt keine Informationen für 10 Jahre.
Für Sie ist es auch nicht dasselbe.
Die t-Variable wird sich ändern und Sie werden aghtung sein.
Sie muss auswendig gelernt werden, bevor Sie mit dem Schließen der Serie beginnen.
color ProfitColor;
datetime t;
// START //
//t=TimeCurrent();//разместить в блоке сигнала на закрытие серии ордеров
if(LastProfitCL(-1)<0) ProfitColor=Red;
if(LastProfitCL(-1)>0) ProfitColor=LimeGreen;
if(LastProfitCL(-1)==0)ProfitColor=DarkGray;
ObjectCreate("Last Profit", OBJ_LABEL, 0, 0, 0);
ObjectSet("Last Profit", OBJPROP_CORNER, 1);
ObjectSet("Last Profit", OBJPROP_XDISTANCE, 5);
ObjectSet("Last Profit", OBJPROP_YDISTANCE, 15);
ObjectSetText("Last Profit",StringConcatenate("Last Profit: ",DoubleToStr(LastProfitCL(-1),2)),10,"Arial",ProfitColor);
// END START //
//+----------------------------------------------------------------------------+
//| Возвращает суммарный профит в валюте депозита серии закрытых ордеров |
//+----------------------------------------------------------------------------+
double LastProfitCL(int op=-1){ //"op" позиция (-1 любая позиция)
double LastProfit=0;
for(i=OrdersHistoryTotal()-1;i>=0;i--)
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) && (OrderType()==OP_BUY || OrderType()==OP_SELL) && OrderSymbol()==Symbol() && OrderMagicNumber()==magic) {
if (OrderType()!= op || OrderSymbol()!= Symbol() || OrderMagicNumber()!= magic) continue;
if (op<0 || OrderType()==op)
{
if(OrderCloseTime()>=t)LastProfit+=OrderProfit()+OrderCommission()+OrderSwap();
}
}
return(LastProfit);
}
Für Sie ist es auch nicht dasselbe.
Die t-Variable wird sich ändern und Sie werden erschrecken.
Sie muss auswendig gelernt werden, bevor die Serie zu Ende ist.
Haben Sie es ausprobiert?
Es wird vor dem Schließen gespeichert, in dem Moment, in dem das Signal zum Schließen gegeben wird.
Sie ist nicht geeignet, es gibt keine Informationen für 10 Jahre.
Aktueller Gewinn, , alle Historien.
Sie kann übrigens auf ein beliebiges Datum und eine beliebige Uhrzeit eingestellt werden.
Versuchen Sie
return(LastProfit);Comment( LastProfitCL(-1, 0) );
//+----------------------------------------------------------------------------+
//| Возвращает суммарный профит в валюте депозита серии закрытых ордеров |
//+----------------------------------------------------------------------------+
double LastProfitCL(int op=-1, datetime t=0){ //"op" позиция (-1 любая позиция)
double LastProfit=0;
for(int i=OrdersHistoryTotal()-1;i>=0;i--) {
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) {
if((op<0||OrderType()==op) && OrderSymbol()==Symbol() && OrderMagicNumber()==magic){
if(t<=OrderCloseTime()) {
t=OrderCloseTime();
LastProfit+=OrderProfit()+OrderCommission()+OrderSwap();
}}}}
}
Gewinn merkt sich jeder Neue, aber dann zählt etwas Unbekanntes. In Bildschirmfoto Nr. 3 sollte es 4 sein, nicht 190.
Haben Sie es ausprobiert?
Es merkt sich, bevor es schließt, den Moment, in dem das Schließsignal empfangen wird
Auch das, 190
Gewinn merkt sich jeder Neue, aber dann zählt etwas Unbekanntes. In Bildschirm Nr. 3 sollte es 4 sein, nicht 190.
Hier ist der Code, es funktioniert gut für mich, aber vielleicht, weil die Serie korrekt geschlossen ist
Also auch 190
Wo befindet sich der Befehl zum Schließen von Aufträgen?
Haben Sie die Variable t dort hineingeschrieben?
Wo befindet sich der Befehl zum Schließen von Aufträgen?
Haben Sie die Variable t dort hineingeschrieben?
t=TimeCurrent();//Platz im Signalblock für den Abschluss einer Reihe von AufträgenEs ist natürlich alles da.
t=OrderCloseTime();
if(OrderCloseTime()>=t)LastProfit+=OrderProfit()+OrderCommission()+OrderSwap();
Es ist natürlich alles da.
t=OrderCloseTime();
if(OrderCloseTime()>=t)LastProfit+=OrderProfit()+OrderCommission()+OrderSwap();
Nein, diese Zeile wird entfernt. Dies ist bereits eine Gewinnberechnung, die so nicht funktionieren wird.
Wo der Befehl in den Code zu schließen - es, aber nicht eine solche Zeile
Lesen Sie oben.