bonjour, tout le monde
c'est encore moi, après avoir galéré a corriger mon EA j'y suis enfin arrivé!!! j'ai pu le compiler.
mais celui-ci ne marche pas tout a fait comme je voudrais
en fait je voudrais qu'il me passe un trade par bougie a l'ouverture de celle ci, et non pas a chaque tick
j'ai essayé plusieurs fonctions, mais rien à faire
ca ne fonctionne pas!
j'ai essayer de mettre une variable lastone, Current pour qu'il detecte un changement de
bougie mais j'ai du me foirer quelquepart.
si quelqu'un peut m'expliquer parce que je n'y arrive vraiment pas
Code : #
//+------------------------------------------------------------------+
//| SEVEN_SCALP_BUYSTOP.mq4 |
//| Copyright 2018, MetaQuotes Software Corp. |
//| https://www.mql4.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
extern double lots;
extern double magic;
extern double tp;
//----VARIABLES
double a,b,c;
//--- bougie 2 (a)
double Closea;
double Opena;
//--- bougie 1 (b)
double Closeb;
double Openb;
//--- bougie 0 (c)
double Closec;
double Openc;
double cours;
double mbuystop;
double low2;
double low1;
double low0;
double sl;
int Current;
int lastone;
//----FONCTIONS
double coursactuel()
{double res;
res = (Bid + Ask)/2.0;
return(res);
}
double mbuy()
{double res;
res = (a+b+c)/3.0;
return(res);
}
int ticket;
int init()
{
return(0);
}
int start()
{
//--- bougie 2 (a)
Closea = iClose (NULL, PERIOD_M5, 2);
Opena = iOpen (NULL, PERIOD_M5, 2);
//--- bougie 1 (b)
Closeb = iClose (NULL, PERIOD_M5, 1);
Openb = iOpen (NULL, PERIOD_M5, 1);
//--- bougie 0 (c)
Closec = iClose (NULL, PERIOD_M5, 0);
Openc = iOpen (NULL, PERIOD_M5, 0);
cours = coursactuel();
mbuystop = mbuy();
low2 = iLow (NULL, PERIOD_M5, 2);
low1 = iLow (NULL, PERIOD_M5, 1);
low0 = iLow (NULL, PERIOD_M5, 0);
Current = TimeMinute (TimeCurrent());
//lastone = TimeCurrent = 0;
//--- bougie 2
/* if (Closea > Opena)
a = Closea;
else if(Opena > Closea)
a = Opena; */
a = MathMax(Closea,Opena);
//--- bougie 1
/* if (Closeb > Openb)
b = Closeb;
else if (Openb > Closeb)
b = Openb; */
b = MathMax(Closeb,Openb);
//--- bougie 0
/* if (Closec > Openc)
c = Closec;
else if (Openc > Closec)
c = Openc; */
c= MathMax(Closec,Openc);
//--- determiner sl
/* if(low0 < low1 && low0 < low2)
sl = low0;
else if(low1 < low0 && low1 < low2)
sl = low1;
else if(low2 < low0 && low2 < low1)
sl = low2;
*/
sl = MathMin(low0, MathMin(low1,low2));
//--- posez les 2 conditions nécessaire pour déclencher Ordre BUYSTOP
if(lastone != Time[0] && cours < mbuystop) {
ticket = OrderSend(NULL,OP_BUYSTOP,lots,mbuystop,3,sl,tp,"",magic,PERIOD_M5*3,Blue);
}
return(0);
}