[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 358
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Bonjour à tous !
J'essaie d'utiliser la fonction pour supprimer TOUS les ordres en attente dans le testeur à partir des fonctions de Kim.
Lorsque j'essaie de le compiler, j'obtiens une erreur indiquant que la variable "clDelete " n'est pas définie.
'clDelete' - variable non définie C:\Program Files\Alpari NZ MT4\experts\Positive.mq4 (94, 38)
Dites-moi, s'il vous plaît, comment et où il doit être défini ?
Merci.
D'abord, inversez la boucle :
et donner à la fonction OrderDelete() ce qu'elle veut.
Énumération des tableaux :
- Si je comprends bien vos "désirs".
Igor, merci beaucoup !
D'après ce que j'ai compris, il n'y a pas de fonction spéciale, il faut donc recourir à la force brute.
Igor, merci beaucoup !
D'après ce que je comprends, il n'y a pas de fonction spéciale, donc c'est forcément exagéré.
Merci beaucoup pour votre réponse rapide.
La boucle a été déployée.
Maintenant, il génère une autre erreur
DeleteOrders' - la fonction ne renvoie aucun résultat
Et de quoi la fonction OrderDelete(OrderTicket()) a-t-elle besoin comme paramètre passé, à part OrderTicket() et à part la couleur de la flèche (dont je n'ai pas besoin) ?
Votre fonction (auto-écrite) DeleteOrders() ne renvoie RIEN ! Regardez votre code - comment vous l'appelez.
Votre fonction (auto-écrite) DeleteOrders() ne renvoie RIEN ! Regardez dans votre code - comment vous l'appelez.
Insertion de lignes à la fin du code de la fonction qui retourne vrai
Modification de l'appel de fonction
R = DeleteOrders(true) ;
if(R ==true )
Ticket=OrderSend(Symbol(),OP_SELLSTOP,0.1,iHigh( Symbol (), 0,1)-1500*Point,1,iHigh( Symbol (), 0,1),iHigh( Symbol (), 0,1)-1610*Point, "jfh",123 );//ENA
//Ticket=OrderSend(Symbol(),OP_SELLSTOP,0.1,iHigh( Symbol (), 0,1)-1000*Point,1,iHigh( Symbol (), 0,1)+330*Point,iHigh( Symbol (), 0,1)-1100*Point, "jfh",123 );//ENA
if (Ticket>0)
X=iHigh( Symbole (), 0,1) ;
if (OrderSelect (ot-1,SELECT_BY_POS)
if ( OrderType ()==OP_SELLSTOP)
DT = OrderOpenTime () ;
}
}
return(0) ;
void DeleteOrders(string sy="", int op=-1, int mn=-1) {
int i, k=OrdersTotal(), ot ;
if (sy=="") sy=Symbol() ;
for (i = k - 1 ; i <= 0 ; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
ot=OrderType() ;
if (ot==OP_SELLSTOP) {
if (OrderSymbol()==sy && (op<0 || ot==op)) {
if (mn<0 || OrderMagicNumber()==mn)
{
int W = OrderDelete(OrderTicket()) ;
if (W==true)
return(true) ;
Renvoie la même erreur.
DeleteOrders" - la fonction ne renvoie aucun résultat
Pouvez-vous me dire quelle est mon erreur ?
Merci.
Insertion de lignes à la fin du code de la fonction qui retourne vrai
Modification de l'appel de fonction
R = DeleteOrders(true) ;
if(R ==true )
Le type de fonction a été oublié :
Le type de fonction est oublié :
Tout est OK !!! Merci beaucoup !!!