Bonjour,
j'aimerais savoir si quelqu'un sais quel est la commande que je dois mettre pour que le Ea ferme tout les positions ouvert si mon profit total des mes positions sont a 100 euro ?
![]() |
|
![]() |
|
Dimanche 27 Mai 2012
Trader-Forex.fr en RSS
Bonjour,
j'aimerais savoir si quelqu'un sais quel est la commande que je dois mettre pour que le Ea ferme tout les positions ouvert si mon profit total des mes positions sont a 100 euro ?
Salut,
utilise les fonctions account.
double AccountEquity( ) - AccountBalance
si je me trompe pas ^^'
Merci est ce que vous avez un exemple ?
Oui, la BDD MQL:
AccountEquity - MQL4 Documentation
AccountBalance - MQL4 Documentation
J'ai essaié
if (AccountEquity() > AccountBalance() ) Order = SIGNAL_BUY;
mais ca ne marche pas , quelque a une idée merci ?
vous pouvez faire un code du style ...
Code:if ((AccountEquity()-AccountBalance())>100) { for(int i=OrdersTotal()-1;i>=0;i--) { if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES) ) continue; if(OrderSymbol()==Symbol()) { RefreshRates(); /////////Standart close all if(OrderType()==OP_BUY ) { OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,MarketInfo(Symbol(),MODE_DIGITS)),3,Green); } if(OrderType()==OP_SELL ) { OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,MarketInfo(Symbol(),MODE_DIGITS)),3,Red); } } } }
en espérant que ça peut vous aider.
Dernière modification par Pacamo ; 14/04/2011 à 07h52.
Merci beaucoup ca ma bien aidé .
j'ai juste une autre question si vous avez comment lui dire ?
si la premières position (buy) ouvert perds 30 pips donc signal buy.
si la deuxième position (buy) ouvert perds 30 pips donc signal buy.
si vous plait merci
lu',
for (int i=0;OrdersTotal()>i;i++)
{
OrderSelect(i,SELECT_BY_POS);
if (OrderSymbol()==Symbol())
{
if (OrderProfit()<=-30)
{
bool SIGNAL_achat=true;
j'pense que tu devrais t'en sortir avec ça.
merci beaucoup
mais est ce que je pourrais dire if (OrderBuy()==Buy()) car si j'ai une position sell ouvert il va me faire un buy des que je suis a - 30 pips ou numéroté les positions ouvert ?
Salut,
Oui, biensur:
for (int i=0;OrdersTotal()>i;i++)
{
OrderSelect(i,SELECT_BY_POS);
if (OrderSymbol()==Symbol())
{
if (OrderBuy()==Buy())
{
if (OrderProfit()<=-30)
{
bool SIGNAL_achat=true;
}
}
}
}