Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1549
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
C'est bien de parler quand on sait ce qu'il faut faire...
aidez-moi avec des conseils sur la façon de "faire sortir autant d'informations utiles que possible".
J'ai tout dit très clairement. Eh bien, pour vous personnellement, laissez-moi vous demander.
Voici deux fonctions et toutes deux passent par des commandes historiques
Deux cycles sur les mêmes commandes. Vous ne pouvez pas obtenir tout ce que ces fonctions renvoient en un seul cycle, n'est-ce pas ?
Bonjour !
J'essaie d'ajouter une inversion de transaction à la chouette. Je le fais comme décrit dans les instructions :https://www.mql5.com/ru/forum/128200
Je n'ai aucune erreur lors de la compilation, mais flip ne fonctionne pas dans le testeur.
Le journal donne une erreur :
2021.07.29 20:06:34.316 2015.01.08 22:10:00 SMA avec code flip through AUDUSD,M5 : Erreur OrderSend 130
2021.07.29 20:06:34.316 2015.01.08 22:05:45 SMA avec retournement via AUDUSD,M5 : erreur OrderSend 4107
2021.07.29 20:06:34.316 2015.01.08 22:05:45 SMA avec flip via AUDUSD,M5 : stoploss invalide pour la fonction OrderSend
Pouvez-vous me dire quel est le problème ici ?
Pour ma part, je pense que les variables spécifiées dans
int ReversOrderSend (string symbol,int cmd,double volume,double price,int slippage,double stoploss,double takeprofit,string comment,int magic=0,datetime expiration=0,color arrow_color=CLR_NONE)Ne sont pas liés au code principal.
Je l'ai essayé dans différents terminaux, 4 et 5 signes.
Voici le code complet :
Je l'ai déjà dit assez clairement. Je vais vous poser une question personnelle.
Voici deux fonctions qui parcourent toutes deux les commandes historiques.
Il y a deux boucles sur les mêmes ordres. Vous ne pouvez pas obtenir tout ce que ces fonctions renvoient en un seul cycle, n'est-ce pas ?
Alexei, j'ai déjà écrit, je sais que tu es un bon programmeur !
Mais je ne suis pas un programmeur, et ce qui est "suffisamment clair" pour vous ne l'est pas pour moi...
En ce qui concerne les deux boucles, pour moi"Dans une boucle, tout récupérer" n'est pas possible, car elles renvoient des types de données différents.
Alexey, j'ai déjà écrit, je sais que tu es un bon programmeur !
Mais je ne suis pas un programmeur et ce qui est "suffisamment clair" pour vous est une forêt obscure pour moi...
Quant aux deux boucles, pour moi,"tout récupérer en une seule boucle" n'est pas possible, car elles renvoient des types de données différents.
Les types de retour n'ont rien à voir avec cela. S'il y a deux boucles sur les mêmes données avec des contrôles et des filtres différents, vous pouvez toujours tout mettre dans une seule boucle, mais le code ne sera pas aussi clair, mais il devrait fonctionner plus rapidement. Il est plus facile de rechercher les bogues dans les différentes.
Alexey, j'ai déjà écrit, je sais que tu es un bon programmeur !
Mais je ne suis pas un programmeur et ce qui est "suffisamment clair" pour vous est une forêt obscure pour moi...
En ce qui concerne les deux boucles, pour moi"Dans une seule boucle pour tout récupérer" n'est pas possible, car elles retournent des types de données différents.
J'ai deux options.
J'ai un conflit entre les ordres en attente.
Premier résultat. Il y a un conflit entre les paires de devises et l'EA a un conflit sur le placement des ordres en attente. Par exemple, j'ai placé un ordre en attente pour EURUSD, l'EA a suivi l'algorithme (acheter à 1.18901, ouvrir la position, l'EA a fixé le stop à 1.18751, prendre le profit à 1.19051 et l'ordre de vente à 1.18751) tout est ok comme prévu.
Mais maintenant, il est temps d'ouvrir une transaction sur la paire GBPUSD où les prix sont différents et où l'EA fait tout ce qu'il faut, à l'exception de la définition d'un ordre en attente. Un ordre de vente à 1.39393 s'est déclenché et l'EA a essayé de l'ouvrir, de fixer un stop à 1.39633 et de prendre 1.39153 mais l'ordre d'achat à 1.39633 est entièrement dupliqué en EURUSD et un ordre de vente à 1.18751)
Je viens de trouver un autre problème : un stop à 1.18751 et un ordre de vente en suspens à 1.18901 et un take à 1.18595 déclenchés sur un trade ouvert EURUSD. Le conseiller expert n'a pas ajouté le stop déclenché, qui se trouve dans l'historique.
Ce sont les problèmes.
Bonjour !
J'essaie d'intégrer un retournement de situation pour le hibou.
Qu'est-ce que tu veux dire ? Une certaine fourchette de prix à partir de laquelle vous achetez/vendez ?
Bon après-midi. Aide pour l'EA. Selon la stratégie, si un stop s'est déclenché, alors l'EA devrait ajouter (le nombre de points) à la prochaine prise en charge
de l'historique par ID, mais il ne le fait pas pour une raison quelconque.
Qu'est-ce qui ne va pas dans ce code ?
Makar a correctement indiqué OrderMagicNumber(), mais a mal compris l'erreur. Lisez la documentation pour la syntaxe de cette fonction... ce devrait être soit l'index dans la liste des commandes, soit le ticket d'une certaine commande, mais pas une magik. Et OrderTicket() ne sera d'aucune utilité ici. N'essayez pas de l'y mettre.
Qu'est-ce que tu veux dire ? Une certaine fourchette de prix dans laquelle vous achetez/vendez ?
L'auteur du code, tel que je le comprends, a suggéré ce qui suit :
si owl ouvre une transaction d'achat avec stop and take, alors son morceau de code ouvre une transaction de vente au même moment au même endroit (en prenant en compte le spread) également avec stop and take au lieu d'une transaction d'achat.
Ainsi la logique de recherche d'un point d'entrée de l'EA ne change pas, et seule la direction avec prise en compte du spread change.
c'est exactement ce dont j'ai besoin
Décrivez en quelques mots ce que vous attendez de cette EA (la logique de fonctionnement),
Je pense que vous avez beaucoup de choses inutiles dans votre code ou je ne comprends pas quelque chose.
les hiboux devraient ouvrir des transactions selon leur propre algorithme
si le stop, le prochain trade avec un Martin, et ainsi de suite jusqu'au nombre de multiplications que j'ai spécifié (fonction -OrdersClose = ..... ;).
De plus, si le hibou est désactivé en même temps que le terminal, il suffit d'appuyer sur le bouton "auto-trade" avec un autre hibou, alors le prochain trade commencera avec le lot de départ, et non avec le dernier augmenté par une martingale.
Il serait également agréable d'y associer un calendrier, mais cette idée vient juste de me venir à l'esprit.
Par exemple, il a été activé à 10h00 le lundi avec le lot de départ, puis il a été désactivé au cours de la journée lorsque certains résultats ont été obtenus, et le mardi matin, il a été activé à 10h00 et a recommencé avec le lot de départ.
Tout.