[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 270
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
Veuillez regarder le code de l'EA, je n'arrive pas à comprendre la raison de ce problème..... Au premier démarrage, il peut ouvrir une transaction immédiatement, mais après la fermeture, il cesse de fonctionner jusqu'au prochain redémarrage du terminal ou jusqu'à ce qu'il permette à l'EA de trader.... Fonctionne avec l'indicateur Gann 2.0
Voici un exemple tiré de la documentation d'une commande qui vous aidera - comprenez comment elle fonctionne, modifiez les paramètres :
Haut [iHighest(NULL,0,MODE_HIGH,20,4)] ;
Low[iLowest(NULL,0,MODE_LOW,10,10)] ;
MERCI
Voici un exemple tiré de la documentation d'une commande qui vous aidera - comprenez comment elle fonctionne, modifiez les paramètres :
Haut [iHighest(NULL,0,MODE_HIGH,20,4)] ;
Low[iLowest(NULL,0,MODE_LOW,10,10)] ;
Désolé d'être en retard dans ma réponse, j'ai eu des problèmes avec mon ordinateur.
Voici un exemple tiré de la documentation d'une commande qui vous aidera - comprenez comment elle fonctionne, modifiez les paramètres :
Haut [iHighest(NULL,0,MODE_HIGH,20,4)] ;
Low[iLowest(NULL,0,MODE_LOW,10,10)] ;
Désolé d'être en retard dans ma réponse, j'ai eu des problèmes avec mon ordinateur.
Veuillez regarder le code de l'EA, je n'arrive pas à comprendre la raison de ce problème..... Au premier démarrage, il peut ouvrir une transaction immédiatement, mais après la fermeture, il cesse de fonctionner jusqu'au prochain redémarrage du terminal ou jusqu'à ce qu'il permette à l'EA de trader.... Fonctionne avec l'indicateur Gann 2.0
Cette fonction vous permet d'obtenir des informations commerciales pour un instrument (sans les lier à un ordre, par exemple avant d'ouvrir un ordre) et les mêmes, mais en liaison avec un ordre spécifique (lorsqu'il l'accompagne). La valeur par défaut est utilisée pour faciliter l'utilisation de la fonction. La valeur négative de fi_Ticket est utilisée lors de l'initialisation de la bibliothèque commerciale.
P.S. Et d'abord, faites attention aux noms des variables, ou plus précisément à leurs préfixes. Les variables qui ont une initiale b, comme bs_Symbol, sont déclarées globalement à partir de la bibliothèque. La plupart des variables globales sont déclarées dans b-PSI@Base.
Igor, je comprends. Mais le fait est que, si je comprends bien, pour obtenir des informations sur le marché pour un symbole donné, il n'est pas nécessaire de le lier à un ordre. S'il y a un instrument, un ordre n'est pas nécessaire... Ce n'est pas du tout nécessaire. Après tout, il suffit de connaître le nom de l'instrument pour obtenir des informations sur le marché. Vous n'êtes pas d'accord ?
Cette variable dont je parlais,bs_Symbol, est mentionnée pour la première fois dans l'inclusion de b-PSY@Base.mqh, voici la chaîne :
bs_Symbol, // текущий инструмент
Mais, rien ne lui est attribué. Ensuite :
Il y a une expression :
Il faut comprendre :fs_Symbol != 0 n'est-ce pas ?
P.S. Et d'abord, faites attention aux noms des variables, ou plus précisément, à leurs préfixes. Les variables qui ont une initiale b, comme bs_Symbol, sont déclarées globalement à partir de la bibliothèque. La plupart des variables globales sont déclarées dans b-PSI@Base.
J'utilise habituellement g_ pour désigner les variables globales (du mot global). Utilisez-vous l(par exemple li_cnt) pour désigner les variables locales ?
Mes amis ! J'ai besoin d'aide pour peaufiner une EA.
Il y a un code qui ouvre une commande sous certaines conditions . L'exécution de la condition peut avoir lieu à chaque tick car elle est placée dans le corps de int start().
Nous avons besoin :
1. Après l'exécution d'une condition (et l'ouverture d'un ordre), nous devons faire une pause pour l'ouverture de nouveaux ordres, une pause de n barres. Par exemple, si mon conseiller expert est sur l'échelle de temps M30 et que j'ai besoin de passer 3 heures, alors la pause doit être de 6 barres.
2. Le programme devrait fonctionner dans le testeur de stratégie.
Quel code est nécessaire ? Et où serait le bon endroit pour l'insérer.
Igor, je comprends. Mais le fait est que, si je comprends bien, pour obtenir des informations sur le marché pour un instrument donné, il n'est pas du tout nécessaire de le lier à un ordre. S'il y a un instrument, un ordre n'est pas nécessaire... Ce n'est pas du tout nécessaire. Après tout, il suffit de connaître le nom de l'instrument pour obtenir des informations sur le marché. Vous n'êtes pas d'accord ?
Cette variable dont je parlais,bs_Symbol, est mentionnée pour la première fois dans l'inclusion de b-PSY@Base.mqh, voici la chaîne :
Mais, rien ne lui est attribué. Ensuite :
Il y a une expression :
Il faut comprendre :fs_Symbol != 0 n'est-ce pas ?
Hm. J'utilise habituellement g_ pour désigner les variables globales (du mot global) et l(par exemple li_cnt) pour désigner les variables locales ?
Tu as encore beaucoup à apprendre. Jusqu'à présent, vos hypothèses ne sont pas correctes. Mes fonctions peuvent servir différents objectifs en même temps (afin de réduire le code lui-même), en particulier fGet_MarketInfo(). Tout est pensé à plusieurs reprises et rien ne doit être changé !
Commencez, par exemple, par une expérience : déclarez une variable globale dans le corps de l'EA et essayez d'appeler cette variable à partir de la bibliothèque liée. Essayez de lier les résultats aux noms de variables dont le préfixe commence par b, par exemple bs_Symbole.
P.S. Je n'ai pas besoin d'être contrôlé : soit vous utilisez mes bibliothèques, soit vous ne le faites pas. Si quelque chose (une partie de ma bibliothèque) ne fonctionne pas correctement - faites-le moi savoir et je le corrigerai. Et de poser des questions - "Pourquoi cela fonctionne-t-il de cette façon ? - vous avez besoin de plus de connaissances, car "l'évidence n'est pas à la surface".
Tu as encore beaucoup à apprendre. Jusqu'à présent, vos hypothèses ne sont pas vraies. Mes fonctions peuvent servir différents objectifs en même temps (afin de réduire le code lui-même), en particulier fGet_MarketInfo(). Tout est pensé à plusieurs reprises et rien ne doit être changé !
Je comprends ce qu'il y a là. Mais la raison pour laquelle il est mis en œuvre de cette façon n'est pas claire.
Par exemple, commencez par une expérience : déclarez une variable globale dans le corps de l'EA et essayez d'appeler cette variable à partir de la bibliothèque liée. Essayez de lier les résultats aux noms de variables dont le préfixe commence par b, par exemple bs_Symbole.
De toute façon, vous ne pourrez pas utiliser vos bibliothèques dans leur forme originale, c'est-à-dire que tout y est lié. Chaque fonction sur un paquet d'autres...
P.S. Je n'ai pas besoin d'être contrôlé : soit vous utilisez mes bibliothèques, soit vous ne le faites pas. Si quelque chose (une de mes bibliothèques) ne fonctionne pas correctement, faites-le moi savoir et je le réparerai. Et de poser des questions - "Pourquoi ça marche comme ça ? - vous avez besoin de plus de connaissances, car "l'évidence ne se trouve pas à la surface".
Je ne voulais pas le tester de quelque façon que ce soit... En fait, il ne fait aucun doute qu'il est écrit de manière très compétente. C'est juste que je ne comprends pas tout, c'est pourquoi j'ai dit que je ne pense pas... Je regarde, je pense... Mais je ne comprends pas tout. C'est pourquoi j'ai demandé.
P.S. Avec bs_Symbol, je ne comprends toujours pas.
Je comprends ce qu'il y a là. Mais la raison pour laquelle il est mis en œuvre de cette façon n'est pas claire.
Chaque fonction de bibliothèque individuelle fait partie de l'ensemble, et une bibliothèque individuelle fait partie de l'ensemble de mes bibliothèques - sans cette prise de conscience, il est impossible de comprendre le code.
De toute façon, vous ne pouvez pas utiliser vos bibliothèques dans leur forme originale, c'est-à-dire que tout y est lié. Chaque fonction sur le paquet des autres...
Et c'est là que vous avez tort. Avez-vous déjà réfléchi à la structure d'une EE "moyenne" ? Ce qui rend un EA individuel, ce sont les conditions de la stratégie (c'est-à-dire les conditions d'entrée et de sortie), et tout le reste est du code standard. La façon dont je crée les EA, y compris ceux basés sur les ordres : je prends un modèle (par exemple, un SAR, si un EA réseau est nécessaire) et j'y connecte une bibliothèque supplémentaire dans laquelle les conditions d'une nouvelle stratégie sont écrites (je la recrée).
Je ne voulais en aucun cas le vérifier. De plus, il ne fait aucun doute que tout est écrit de manière très compétente. Je ne comprends pas tout, alors j'ai dit que je ne le pensais pas. Je regarde, je pense... Mais je ne comprends pas tout. C'est pourquoi j'ai demandé.
P.S. Avec bs_Symbol, je ne comprends toujours pas.