Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 77
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
Vous troller)))) Vous avez une personnalité charismatique))))
Je pense que c'est la partie du code qui peut causer le problème, merci beaucoup par avance.
Juste en haut de ma tête
si Work=FALSE, l'EA ne fonctionnera pas.
L'EA ne fonctionnera pas s'il y a au moins un ordre en attente, il n'y a pas de vérification sur MAGIC.
Vous recevez des réponses ?
Cela ne fonctionne pas, car les variables, que vous voulez fixer à un niveau global, c'est-à-dire avant la fonction Start... Par exemple, ceux-ci et ainsi de suite.... " FiksiruemUp = True ; // fixer " et "iksiruemUp = False ; // réinitialiser "
Si vous ne passez pas d'une période à l'autre, cela devrait fonctionner...
Je l'ai fait avec les variables, je les ai mises au niveau global.
si vous prenez en compte le point suivant :
lorsque le prix est au-dessus de la ligne supérieure, il attribue Vrai à FiksiruemUp, après que le prix devient inférieur à la ligne supérieure et toujours au-dessus de la ligne médiane, qu'est-ce qui sera attribué à FiksiruemUp : Vrai ou Faux ?
Il me semble que dans cette situation, il affecte automatiquement False, car False lui a été attribué dans les variables globales, alors que True n'est attribué que lorsque le prix est au-dessus de la ligne supérieure.
Dès le départ
si Work=FALSE, l'EA ne fonctionnera pas.
L'EA ne fonctionnera pas s'il y a au moins un ordre en attente, il n'y a pas de vérification pour MAGIC.
Est-ce qu'il vous donne des signaux ?
Le conseiller fonctionne, c'est-à-dire qu'il ouvre des ordres, donne des alertes sur l'ouverture et le déclenchement de tp ou de sl, il ne met pas non plus de pendentifs.
Les variables globales sont de type double et uniquement double. Vous devez garder cela à l'esprit lorsque vous placez un bool dans des variables globales.
et pourtant, comment cela devrait-il être ?
Les variables globales sont de type double et uniquement double. Vous devez garder cela à l'esprit lorsque vous placez un bool dans des variables globales.
nous ne parlons pas de GlobalVariables ici, nous parlons de variables au niveau global..... relisez ce point, il y a une différence....
Je l'ai fait avec les variables, je les ai mises au niveau global.
si vous prenez en compte le point suivant :
lorsque le prix est au-dessus de la ligne supérieure, il attribue Vrai à FiksiruemUp, après que le prix devient inférieur à la ligne supérieure et toujours au-dessus de la ligne médiane, qu'est-ce qui sera attribué à FiksiruemUp : Vrai ou Faux ?
Il me semble que dans cette situation, il affecte automatiquement Faux, car il a été affecté Faux dans les variables globales, alors que Vrai n'est affecté que lorsque le prix est au-dessus de la ligne supérieure.
Initialement, si rien n'est spécifié au niveau global, la valeur sera False..... Une fois que la variable est définie à True, elle aura cette valeur jusqu'à la condition suivante if (Ask < LineS) FiksiruemUp = False ; // reset.... Si la condition est remplie, la variable se verra attribuer la nouvelle valeur False et le restera jusqu'au moment - "lorsque le prix est au-dessus de la ligne supérieure, il attribue True à FiksiruemUp" et ainsi de suite... J'espère l'avoir expliqué clairement... :)
Initialement, si rien n'est spécifié au niveau global, la valeur sera False..... Une fois que la variable est définie à True, elle aura cette valeur jusqu'à la condition suivante if (Ask < LineS) FiksiruemUp = False ; // reset.... Si la condition est remplie, la variable se verra attribuer la nouvelle valeur Faux et le restera jusqu'au moment - "lorsque le prix est au-dessus de la ligne supérieure, il attribue Vrai à FiksiruemUp" et ainsi de suite... J'espère l'avoir expliqué clairement... :)
Je comprends maintenant. Merci beaucoup.
Mes amis, aidez-moi. J'ai besoin de fermer tous les ordres sur une paire de devises sélectionnée. Voici ce que j'ai écrit (une partie du code d'EA) :
int Zakrit_vse()
{
Total=OrdersTotal() ;
int Vsego ;
for(int i=1 ; i<=OrdersTotal() ; i++) // Boucle à travers les ordres, ferme tout.
{
si (OrderSelect(i-1,SELECT_BY_POS)==true)
{
si (OrderSymbol()!=Symb)continuer ;
Ticket=OrderTicket() ;
Lot=OrderLots() ;
Prix=OrderOpenPrice() ;
Vsego++ ;
Tip=OrderType() ;
Alerte(Tip) ;
if(Tip>1)
{
CommanderSupprimer(Ticket) ;
Prov_oshibok() ;
continuer ;
}
if(Tip==0)
{
OrderClose( Ticket,Lot, Bid,100) ;
Prov_oshibok() ;
continuer ;
}
if(Tip==1)
{
OrderClose( Ticket,Lot, Ask,100) ;
Prov_oshibok() ;
continuer ;
} //
}
}
Alerte(Total," ",Vsego) ;
int ret=MessageBox("Opération terminée avec succès",
",MB_OK|MB_ICONQUESTION|MB_TOPMOST) ;
if(ret==IDOK) // si la réponse est "oui".
{
Print("Tous les ordres d'un montant de ",Vsego," ont été clôturés avec succès ;)
}
}
Mais pour une raison quelconque, seule une commande sur deux est fermée. S'il y a 6 commandes, 3 sont fermées, s'il y en a 8-4, etc.
Qu'est-ce que ça peut être ? Quelle est l'erreur, veuillez me conseiller ?