Comment coder ? - page 212

 

int today=StrToTime("19:59") ;

int yesterday=StrToTime("19:59")-3600*24;

int twodaysbeforeyesterday=StrToTime("19:59")-3600*24*3;

donc

double closetwodaysbeforeyesterday=iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIO D_M1,StrToTime("19:59")-3600*24*3))) ;

 
Kalenzo:
Définissez d'abord la fonction getMagic() qui vous donnera les nombres magiques et mettez-la dans la fonction ordersend (comme paramètre pour définir le nombre magique).

Ensuite, en dehors de la fonction get magic, vous devez faire ce qui suit :

getMagic()

{

1) définir une boucle for(int i = 1;i<21;i++) pour vérifier les numéros de 1 à 20

2) ensuite, faites une autre boucle (à l'intérieur de la première for) pour chaque nombre i avec la boucle for de 0 à OrdersTotal pour vérifier si vous avez trouvé le nombre magique égal à i,si vous n'avez pas trouvé votre nombre magique alors cela signifie qu'il est libre et vous pouvez l'utiliser comme valeur de retour de cette fonction (getMagic) et le passer à la fonction orderSend, sinon utilisez le mot clé contunue pour passer à une autre vérification du nombre magique.

}

Salut Kalenzo,

Merci pour la réponse !

Si le code est correct ?

MagicNumber = 1000 ;

maxRepetitions = 20 ;

z = maxRépétitions ;

magic = getMagic() ;

getMagic()

{

findmagic = MagicNumber+i ;

for(int i=1;i<=z;i++)

{

for(int n=1;n<=openOrders;n++)

{

OrderSelect(n, SELECT_BY_POS, MODE_TRADES) ;

si (OrderSymbol()==Symbol())

{

if (OrderMagicNumber() != findmagic) continue ;

magic = MagicNumber+i ;

}

}

}

return(magic) ;

}

Merci et salutations

derumuro

 

derumuro

Si je comprends bien votre demande, c'est plutôt ce que vous recherchez.

Vous devriez étudier la façon dont les variables sont partagées entre les fonctions et la portée globale, vous aurez de gros problèmes si vous ne comprenez pas les différences entre la portée locale et la portée globale.

Vous devriez déterminer comment gérer la situation où les 20 commandes sont passées. Voulez-vous retourner un nombre négatif ? pour faire savoir au programme que plus aucune commande n'est autorisée. Il doit y avoir une sécurité intégrée dans votre code.

int MagicNumber = 1000;

int maxRepetitions = 20;

int magic = getMagic( MagicNumber, maxRepetitions );

int getMagic( int StartNumber, int Repeat ) {

// CN!{if an error or no open MagicNumbers are avaible it will return -1}:

int ReturnNumber = -1;

for( int i = 1; i <= Repeat; i ++ ) {

for( int n = 0; n <= OrdersTotal(); n ++ ) {

OrderSelect( n, SELECT_BY_POS, MODE_TRADES );

if( OrderSymbol() == Symbol() ) {

if( OrderMagicNumber() != StartNumber + i ) continue;

ReturnNumber = StartNumber + i;

}

}

}

return( ReturnNumber );

}

derumuro:
Salut Kalenzo,

Merci pour la réponse !

Si le code est correct ?

MagicNumber = 1000 ;

maxRépétitions = 20 ;

z = maxRépétitions ;

magic = getMagic() ;

getMagic()

{

findmagic = MagicNumber+i ;

for(int i=1;i<=z;i++)

{

for(int n=1;n<=openOrders;n++)

{

OrderSelect(n, SELECT_BY_POS, MODE_TRADES) ;

si (OrderSymbol()==Symbol())

{

if (OrderMagicNumber() != findmagic) continue ;

magic = MagicNumber+i ;

}

}

}

return(magic) ;

}

Merci et salutations

derumuro
 

Salut cockeyedcowboy,

merci pour votre aide !

Je ne suis pas un programmeur. J'essaie d'apprendre MQL4, mais j'ai 3 problèmes majeurs.

1. Je comprends très peu l'anglais.

2. je n'ai pas trouvé de bon guide sur MQL4.

3. Je n'ai personne pour m'aider.

Question : Existe-t-il un langage de programmation similaire à MQL4 ?

Salutations

derumuro

 
Roger09:
int today=StrToTime("19:59") ;

int yesterday=StrToTime("19:59")-3600*24;

int twodaysbeforeyesterday=StrToTime("19:59")-3600*24*3;

donc

double closetwodaysbeforeyesterday=iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIO D_M1,StrToTime("19:59")-3600*24*3)) ;

Merci, Roger09

 

Détermination programmatique de l'exécution au marché

Quelqu'un sait-il s'il existe un moyen de déterminer de manière programmatique si un ordre doit être ouvert avec "exécution au marché" ou si les stoploss / takeprofits sont autorisés dans l'ordre initial ?

 

C.

Si vous allez sur metaquotes.net, vous trouverez peut-être metatrader dans votre langue maternelle.

derumuro:
Salut cockeyedcowboy,

Merci pour votre aide !

Je ne suis pas un programmeur. J'essaie d'apprendre MQL4, mais j'ai 3 problèmes majeurs.

1. Je comprends très peu l'anglais.

2. je n'ai pas trouvé de bon guide sur MQL4.

3. Je n'ai personne pour m'aider.

Question : Existe-t-il un langage de programmation similaire à MQL4 ?

Salutations

derumuro
 

Valeur ATR dans un csv - Script

HI, j'ai un problème. J'ai besoin d'importer la valeur ATR de metatrader vers un fichier csv.

Malheureusement, je ne sais pas comment faire.

S'il vous plaît aidez-moi à écrire le script.

J'ai essayé d'utiliser FileWrite - Documentation MQL4 et iATR - Documentation MQL4. Mais j'ai échoué...

 
nondisclosure007:
C. Si vous allez sur metaquotes.net, vous trouverez peut-être metatrader dans votre langue maternelle.

Merci !

Je suis à la recherche d'un bon guide pour MQL4.

Salutations

derumuro

 
derumuro:
Merci !

Je suis à la recherche d'un bon guide pour MQL4

Salutations

derumuro

Celui du site est correct

MetaQuotes Language 4 - MQL4

Raison: