Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Il ne correspond pas, il n'y a aucune information depuis 10 ans.
Ce n'est pas la même chose pour vous non plus.
La variable t va changer et vous serez aghtung.
Il faut le mémoriser avant de commencer à fermer les séries.
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);
}
Ce n'est pas la même chose pour vous non plus.
La variable t va changer et vous allez être sidéré.
Il doit être mémorisé avant la fin de la série.
L'avez-vous essayé ?
Il est mémorisé avant la fermeture, au moment du signal de fermeture.
Il n'est pas adapté, il n'y a aucune information depuis 10 ans.
Bénéfice actuel, , tout l'historique.
D'ailleurs, il peut être réglé sur n'importe quelle date et heure.
Essayez
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();
}}}}
}
Profit se souvient de chaque nouvelle, mais ensuite quelque chose compte inconnu. Dans l'écran n°3, ce devrait être 4, et non 190.
L'avez-vous essayé ?
Il se souvient avant de fermer, au moment où il reçoit le signal de fermeture.
Cela aussi, 190
Profit se souvient de chaque nouvelle, mais ensuite quelque chose compte inconnu. Dans l'écran n°3, ce devrait être 4, et non 190.
Voici le code, il fonctionne bien pour moi, mais peut-être parce que la série est fermée correctement
Ainsi que 190
Où se trouve l'ordre de fermeture des commandes ?
Avez-vous écrit la variable t là-dedans ?
Où se trouve l'ordre de fermeture des commandes ?
Avez-vous écrit la variable t là-dedans ?
t=TimeCurrent();//place dans le bloc de signal pour la fermeture d'une série d'ordresTout est là, bien sûr.
t=OrderCloseTime();
if(OrderCloseTime()>=t)LastProfit+=OrderProfit()+OrderCommission()+OrderSwap();
Tout est là, bien sûr.
t=OrderCloseTime();
if(OrderCloseTime()>=t)LastProfit+=OrderProfit()+OrderCommission()+OrderSwap();
Non, cette ligne est supprimée. Il s'agit déjà d'un calcul de profit, ça ne fonctionnera pas comme ça.
Où la commande de fermer dans le code - là, mais pas une telle ligne
Lire ci-dessus.