ouverture de la 1ere position ou après un trade gagnant, le stoploss du prochain trade doit avoir une valeur de 50
Code : Tout sélectionner
if ((SelectLastHistoryOrder1(Symbol(), MagicNumber)&&(OrderProfit()>0))) stoploss=50*point;
Code : Tout sélectionner
if ((SelectLastHistoryOrder1(Symbol(), MagicNumber)&&(OrderProfit()<0))) stoploss=100*point;
Code : Tout sélectionner
if ((SelectLastHistoryOrder1(Symbol(), MagicNumber)&&(SelectLastHistoryOrder2(Symbol(), MagicNumber)&&(OrderProfit()<0)))) stoploss=150*point;
Code : Tout sélectionner
//----------------------------------------------------------------------------------------
bool SelectLastHistoryOrder1(string Symbol, int MagicNumber)
{
int lastOrder=NULL;
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol && OrderMagicNumber()==MagicNumber)
{
lastOrder=i;
break;
}
}
if(lastOrder==NULL)
return(false);
else
return(true);
}
//----------------------------------------------------------------------------------------
bool SelectLastHistoryOrder2(string Symbol, int MagicNumber)
{
int lastOrder=NULL;
for(int i=OrdersHistoryTotal()-2;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol && OrderMagicNumber()==MagicNumber)
{
lastOrder=i;
break;
}
}
if(lastOrder==NULL)
return(false);
else
return(true);
}