[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 54
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
Quel type de constantes : MA_TALKING_LONG , MA_TALKING_SHORT ?
Comment les déclarer ?
Tenir compte de la visibilité des variables et des tableaux
Je les ai réglés sur global... Même erreur.
Quel type de constantes : MA_TALKING_LONG , MA_TALKING_SHORT ?
Comment les déclarer ?
montrer l'en-tête (déclaration) de cette fonction GetStateMa() - le problème est là
changez-le en GetStateMa(int signal){} devrait le réparer
montrer l'en-tête (déclaration) de cette fonction GetStateMa() - le problème est là
Changez-le en GetStateMa(int signal){} devrait le réparer.
Bref, voici l'essentiel. Un pro ici a corrigé mon Expert Advisor, il fonctionnait bien. Ma tâche était d'ouvrir 4 signaux différents par un seul ordre et de séparer les calculs de chaque signal. Il a réparé mon conseiller-expert, mais a gâché sa logique.
J'ai commencé à analyser son code. Son écriture est brutale, je m'y suis penché depuis le deuxième jour.
Avant, c'était comme ça :
au départ :
Et voici les fonctions pour que tout soit clair :
D'une manière générale, il est amusant de voir qu'une fonction comme void ne devrait rien retourner par définition mais pourtant elle retourne la valeur d'un élément du tableau signal[i].
Je me demande si les programmeurs expérimentés utilisent souvent cette méthode ? Ou est-ce que c'est trop ?
Maintenant j'essaie d'écrire ce dont j'ai besoin en voyant les astuces qui sont présentes dans cet Expert Advisor. Parce que nous ne pouvons pas nous passer de tableaux à cet endroit.
Bref, voilà l'essentiel. Mon conseiller expert, qui fonctionnait bien pour moi, a été corrigé par un professionnel. Ma tâche consistait à ouvrir un seul ordre par 4 signaux différents et chaque signal était généré et calculé séparément. Il a réparé mon conseiller-expert, mais a gâché sa logique.
J'ai commencé à analyser son code. Son écriture est brutale, je m'y suis penché depuis le deuxième jour.
Avant, c'était comme ça :
au départ :
Et voici les fonctions pour que tout soit clair :
D'une manière générale, il est amusant de voir qu'une fonction comme void ne devrait rien retourner par définition mais pourtant elle retourne la valeur d'un élément du tableau signal[i].
Je me demande si les programmeurs expérimentés utilisent souvent cette méthode ? Ou est-ce que c'est trop ?
Maintenant j'essaie d'écrire ce dont j'ai besoin en voyant les astuces qui sont présentes dans cet Expert Advisor. Parce que nous ne pouvons pas nous passer de tableaux à cet endroit.
C'est souvent utilisé, le secret dansint& ,double&.
Je l'ai déjà compris, mais je pense que c'est déjà une perversion. Pourquoi faire une fonction vide alors ? Ce n'est pas logique. Vous avez besoin de retourner quelque chose... retournez-le par une fonction de type int, double...
Que faire ?
Je l'ai déjà compris, mais je pense que c'est déjà une perversion. Pourquoi faire une fonction vide alors ? Ce n'est pas logique.
C'est logique.
Cette fonction ne retourne rien, elle effectue des opérations sur les éléments du tableau qui lui est passé.
Voici ma fonction de modification de l'ordre en attente. Lors de la modification, je fixe un nouveau prix et un nouveau stoploss. La fonction fonctionne partiellement, mais pour une raison quelconque, le testeur obtient des erreurs 1.
Ma fonction est-elle écrite correctement ?
if((b_mod) && (priceB > Ask)) OrderModify(b_ticket,priceB,priceS,0,0,Brown) ;
if((s_mod) && (priceS < Bid)) OrderModify(s_ticket,priceS,priceB,0,0,Brown) ;
Ici, nous devrions considérer MarketInfo(Symbol(),MODE_STOPLEVEL) c'est à dire
priceB >= Ask+ MarketInfo(Symbol(),MODE_STOPLEVEL)*Point
priceS < =Bid- MarketInfo(Symbol(),MODE_STOPLEVEL)*Point
C'est logique.
Cette fonction ne retourne rien, elle opère sur les éléments du tableau qui lui est passé.
Ainsi, si vous passez des éléments à une fonction de type double ouint, celle-ci peut également effectuer les mêmes opérations, mais sans aucune perversion. Pourquoi se compliquer la vie ?