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
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))) ;
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 );
}
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
derumuroSalut 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
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.
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
derumuroValeur 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é...
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
Merci !
Je suis à la recherche d'un bon guide pour MQL4
Salutations
derumuroCelui du site est correct
MetaQuotes Language 4 - MQL4