Les règles du Go Long et du Go Short sont les mêmes, mais les résultats sont différents.
7 réponses
deweymcg
Il y a 8 ans #113717
J'ai essayé de coder un EA simple qui définira des ordres en attente pour passer à l'achat ou à la vente lorsque le prix sort du haut ou du bas de la fourchette pendant une période spécifique de la journée. Lorsque j'ai testé ma première version avant d'ajouter quoi que ce soit d'autre, les transactions à découvert ont été prises correctement lorsque le prix a cassé le plus bas, mais les ordres en attente à long terme étaient loin d'être proches, bien que les instructions pour chacun d'entre eux soient les mêmes.
Ai-je raté quelque chose ? Vous pouvez voir sur le PIC que les longs et les courts sont les mêmes. Existe-t-il une meilleure façon de procéder ?
De plus, je souhaite ajouter une condition selon laquelle il n'y aura pas de transaction si la différence entre le plus haut et le plus bas de la fourchette est soit supérieure à un certain nombre, soit inférieure à un certain nombre. Je suppose que je peux utiliser l'indicateur PRICE_DIFF mais dois-je également utiliser converttorealpips ou quelque chose d'autre. Par exemple, si la fourchette est supérieure à 50 pips ou inférieure à 10 pips, nous passerons.
tomas262
Il y a 8 ans #130546
Bonjour deweymcg,
J'ai essayé ceci dans MetaTrader et il semble qu'il prenne les positions longues et courtes correctement (selon les règles établies). Si vous avez l'impression que cela ne fonctionne pas correctement, veuillez fournir autant d'informations que possible (captures d'écran, détails sur la façon dont vous testez) afin que nous puissions rapidement identifier le problème s'il y en a un.
Vous pouvez simplement utiliser la fonction ConvertToPips + Subtraction dans votre règle. J'ai édité votre exemple et je le joins ici.
deweymcg
Il y a 8 ans #130552
Bonjour deweymcg,
J'ai essayé ceci dans MetaTrader et il semble qu'il prenne les positions longues et courtes correctement (selon les règles établies). Si vous avez l'impression que cela ne fonctionne pas correctement, veuillez fournir autant d'informations que possible (captures d'écran, détails sur la façon dont vous testez) afin que nous puissions rapidement identifier le problème s'il y en a un.
Vous pouvez simplement utiliser la fonction ConvertToPips + Subtraction dans votre règle. J'ai édité votre exemple et je le joins ici.
Merci. J'ai fait d'autres tests et j'ai compris pourquoi ils étaient différents, mais je ne sais pas comment y remédier. Si la dernière session a eu un achat mais pas de vente, il a gardé le stop de vente précédent même si j'ai eu l'ordre en attente valide pour X nombre de barres. J'ai essayé de remplacer l'ordre existant par true mais cela a ralenti énormément le processus et le journal a affiché un ordre en attente après l'autre comme s'il répétait le processus à chaque tick. Si je pouvais trouver un moyen simple de supprimer l'ordre en attente après un certain temps ou une certaine condition, je pense que je pourrais le faire fonctionner correctement, mais je ne vois que des commandes pour fermer les ordres, pas pour supprimer les ordres en attente.
tomas262
Il y a 8 ans #130585
Bonjour deweymcg,
Il existe une fonction dans l'assistant EA - Fermer la position (numéro magique de l'ordre) - qui devrait fermer n'importe quel ordre, c'est-à-dire une position ouverte OU annuler un ordre en cours aussi
Avez-vous pensé à utiliser des ordres de marché au lieu d'ordres stop ? Par exemple, si (Bid > HighestInRange(03:00, 07:00)) Enter Long Market. Cela pourrait également fonctionner
deweymcg
Il y a 8 ans #130610
Je n'arrive pas à comprendre pourquoi il n'y a plus d'échanges. Voici un PIC de ce que j'essaie de faire et ma dernière version incorporant les suggestions mais je ne vois pas où est l'erreur. Si quelqu'un pouvait jeter un coup d'œil et m'aider, ce serait très apprécié.
jcf
Il y a 8 ans #132972
Vérifier la magie du #
tomas262
Il y a 8 ans #132998
Je vais essayer de vérifier où se situe le problème. Magics semble être en ordre
tomas262
Il y a 8 ans #133030
Je pense que le problème vient de l'heure de BoxStart qui ne peut pas être supérieure à la valeur de BoxEnd. Ainsi, à 13 heures, votre stratégie recherche une bougie de 21:00 qui n'est pas disponible pour cette date spécifique et MT4 exécute l'erreur = "Not found time from".
Lorsque je règle BoxStart sur 01:00, BoxEnd sur 02:00 et HourBegin sur 03:00 par exemple, cela fonctionne puisque Start < End.
Vous pourriez utiliser les fonctions Plus bas et Plus haut pour N barres en arrière puisque vous savez toujours combien de barres vous avez dans cet intervalle de temps.
Affichage de 7 réponses de 1 à 7 (sur un total de 7)