Ordre stop/limite trop proche du prix réel
6 réponses
sansay
Il y a 7 ans #116332
Voir la capture d'écran ci-jointe.
Lorsque j'ai vu pour la première fois le journal de l'EA, "ordre stop/limite trop proche du prix réel", j'ai immédiatement pensé "OK, le niveau du stop est incorrect". J'ai donc édité le code et changé la valeur de MinDistanceOfStopFromPrice à 70, comme c'était le cas pour la paire USDMXN. Cependant, comme vous pouvez le voir sur la capture d'écran, cela n'a pas résolu le problème. En fait, j'ai même essayé 100, 200, 700, cela n'a rien changé.
Toute aide serait grandement appréciée.
sansay
Il y a 7 ans #141561
Quelle capture d'écran ?
J'ai le problème inverse, j'ai besoin que certains ordres Stop_limit soient plus proches du prix.
C'est bizarre, je suis presque sûr d'avoir joint le fichier png. Essayons encore une fois...
tomas262
Il y a 7 ans #141585
Cela se produit-il lorsque vous passez un ordre ou que vous essayez de modifier PT, SL ou le prix de l'ordre ?
sansay
Il y a 7 ans #141594
Je ne fais rien, c'est un EA créé avec SQ. Il fait cela, et je pense que le code est ajouté à chaque EA qu'il crée. La différence dans ce cas est que ce courtier forex particulier a un niveau de 70 stops, alors que d'autres en ont 0.
Bien sûr, ceux qui ont 0 ne déclenchent rien.
Le code est en fonction :
void openPosition(int tradeDirection) {
…
sansay
Il y a 7 ans #141656
Ce matin, j'ai constaté qu'il avait tenté de placer un ordre de vente stop sans succès. Voir le journal ci-joint.
tomas262
Il y a 7 ans #141681
Je pose la question parce que vous l'avez placée dans le fil "EA Wizard".
Vous pouvez afficher la stratégie ici ou m'envoyer à l'adresse suivante [email protected] je peux donc essayer de le tester sur USDMXN aussi
sansay
Il y a 7 ans #141685
En fait, mes tests m'ont permis de trouver le problème et j'ai corrigé le code.
Le problème est que le serveur du courtier vérifie la présence de :
short : orderPrice < currentPrice - stopLevel
long : orderPrice > currentPrice + stopLevel
Si la condition n'est pas remplie, la demande de modification échoue. Actuellement, le code ajuste le stopLoss et le targetProfit pour qu'ils soient au moins à l'intérieur de orderPrice + ou - dealer stop level. Le test échoue dès que le prix de l'ordre est exactement égal à PrixCourant -+ niveau de stop. La solution a donc été d'ajouter ou de soustraire simplement 1 pip. Voici le changement de code :
Dans les paramètres cachés, déclarer :
double stopOffset = 0.0001;
Ajouter et passer le paramètre tradeDirection à la signature et à l'appel de la méthode openOrderWithErrorHandling :
int openOrderWithErrorHandling(int tradeDirection, int orderType, double orderLots, double openPrice, double stopLoss, double profitTarget, string comment, int magicNumber) {
Dans la même méthode, ajoutez le code en vert :
Affichage de 6 réponses de 1 à 6 (sur un total de 6)