salut,
j'ai une une question ?
comment je peux dire si il y a pas de buystop ouvert exécute cette commande !
j'ai essaié if ( OP_BUYSTOP==0 ) mais ca ne marche pas !!!
merci
![]() |
|
![]() |
|
Dimanche 27 Mai 2012
Trader-Forex.fr en RSS
salut,
j'ai une une question ?
comment je peux dire si il y a pas de buystop ouvert exécute cette commande !
j'ai essaié if ( OP_BUYSTOP==0 ) mais ca ne marche pas !!!
merci
tu peux lui faire une boucle :
for ( int i=0 ; i<Orderstotal() ; i++) {
if ( Orderselect (i, select_by_pos, mode_trades)>0 ) {
if ( Ordertype() == OP_buy && ordermagicnumber()==22 ) ordre_en_cours =1; }}
Traduction :
Lorsque tu programme tes ordre stop tu leurs insert un magic number ex : 22
commencer une boucle avec départ i =0 et tant que i est < nombre d'ordre total, incrémenter i
Si l'ordre selectionné de rang i est du type OP_buy + magic number =22 passer la variable ordre_en_cours à 1.
Dès que tu auras un ordre OP_buy et son magic number 22 détecté il te change la valeur de ordre_en_cours à 1.
Par contre c'est à toi de définir sa réinitialisation à 0 (car c'est une variable BOOL (1 ou 0 ).
voili vooila
Dernière modification par lolocross ; 20/04/2011 à 00h11.
Je ferai quelque chose de ce style ....
Lister tous les ordres, regarder quel est leur type; OrderType(); les compter par type, c'est le type N°4 pour OP_BUYSTOP, fermer la boucle puis dire s'il n'a pas trouvé de pending buy stop .....alors ...
Trade operations - MQL4 Documentation
http://docs.mql4.com/trading/OrderType
int compte=0;
for ( int i=0 ; i<OrdersTotal() ; i++)
{
OrderSelect (i, SELECT_BY_POS, MODE_TRADES)
int GenreOrdre = OrderType(i);
if(GenreOrdre == OP_BUYSTOP) compte ++;
}
if(compte ==0) // = S'il n'y a pas de pending buy stop, alors ....
Dernière modification par jeanjo ; 21/04/2011 à 11h48.