Ici, exemple d'une modification, l'EA est connecté à un indicateur "Awesome Oscillator".
Evidement, il faudra tester toutes les paires à nouveau afin de se rendre compte si c'est mieux ou moins bien...
Evidement, il faudra tester toutes les paires à nouveau afin de se rendre compte si c'est mieux ou moins bien...
Code
//+------------------------------------------------------------------+
//| ModuloStop_2_2.mq4 |
//+------------------------------------------------------------------+
int stopOK = 0; // ne pas modifier
int sendOK = 0; // ne pas modifier
double Lots=0.01; // à modifier selon vos moyens
int long_court=0; // 0 = Long & 1 = Court
int ecart=150; // diminuer l'écart = + de gain, mais exige un capital plus important
int gain=3; // no comment ;)
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
double valeur1 = iAO(Symbol(),0,0); // Connecter à l'indicateur technique >> modif de ModuloStop_2_1*********
Comment(AccountEquity() - AccountBalance());
int type = OrderType();
int type2 = OrderType();
if (Hour()==1 && Minute()==1 && Seconds()==1 && sendOK==0)
{
sendOK=1;stopOK=0;
if(long_court==1 && valeur1<=0) //modif de ModuloStop_2_1********************************************************
{
OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid-ecart*Point, 0, 0, 0, "Ordre 2 !");
}
if(long_court==0 && valeur1>=0)//modif de ModuloStop_2_1********************************************************
{
OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask+ecart*Point, 0, 0, 0, "Ordre 2 !");
}
}
if (Hour()>=23 && stopOK==0)
{
stopOK=1;sendOK=0;
int u = OrdersTotal() - 1;
while (u >= 0)
{
OrderSelect(u, SELECT_BY_POS);
if (type == OP_SELLSTOP || type == OP_BUYSTOP)
{
OrderDelete(OrderTicket());
}
u -= 1;
}
}
if (AccountEquity()>= AccountBalance()+ gain)
{
int w = OrdersTotal() - 1;
while (w >= 0)
{
OrderSelect(w, SELECT_BY_POS);
{
OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 2);
OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 2);
}
w -= 1;
}
}
return(0);
}