AIDEZ QUI PEUT ! !! - page 11

 
Techno:
Pas du tout, c'est la même chose, un expert complètement différent. Utilisez le mien, complétez les détails manquants

JE NE PARLE PAS DE L'ORIGINAL, MAIS DE CELUI QUE J'AI FABRIQUÉ À PARTIR DE TES PIÈCES... MAIS MERCI BEAUCOUP POUR LA LEÇON AVEC LE TABLEAU !
 
sllawa3:
MAIS LA QUESTION DEMEURE... COMMENT CONTOURNER L'ERREUR DE SÉLECTION... C'EST JUSTE UN EXPERT AVEC UN TABLEAU... ON NE PEUT PAS TOUJOURS SUIVRE CE SCHÉMA...
... au lieu de tableaux, nous pourrions utiliser un grand nombre de variables. Il n'y a pas d'erreur dans le "Select". La différence dans les Expert Advisors est que le bloc d'évaluation des ordres est indépendant du reste du programme. La modification ne dépend pas non plus de la suppression, alors que dans votre cas tout est au même endroit. Pour écrire tout ensemble, il faut être très expérimenté, et vous venez de faire une erreur quelque part, il serait plus facile d'écrire une nouvelle EA que de s'occuper de ce désordre.
 

En bref, si vous ne mettez pas à zéro les variables, elles ne sont pas mises à zéro ailleurs, et rien dans votre version originale ne fonctionne. Si vous les mettez à zéro à la fin, alors l'EA fonctionne, mais vous avez une ligne, par exemple, if(OrderType() == OP_BUYSTOP&DB==1){OrderDelete(OrderTicket(),CLR_NONE);return(0);}.

Et rien ne fonctionne, car un ordre à cours limité peut passer en premier et l'ordre au marché seulement après, et cette condition ne sera jamais remplie et l'ordre en attente ne sera pas supprimé. Donc, votre Expert Advisor ne fonctionne que lorsque la séquence des ordres dans le terminal est conforme à l'algorithme, comme vous l'avez compris cela arrive rarement en 11 ans 90 transactions ont été ouvertes, je l'ai vérifié. La conclusion est donc la mauvaise structure du programme, ou plutôt la dépendance totale d'une itération à une autre pendant le dépassement.

 
JE SAIS QU'IL Y A UN PROBLÈME... DONC JE LE CHERCHAIS... MAIS VOTRE CODE EST BEAUCOUP PLUS COURT... BEAUCOUP PLUS COURTE...
 
sllawa3:
EH BIEN, IL Y A MANIFESTEMENT QUELQUE CHOSE QUI NE VA PAS... ALORS JE L'AI CHERCHÉ...
donc je vous ai écrit l'erreur ci-dessus. La structure du programme n'est pas correcte, c'est-à-dire qu'il ne s'agit pas d'une erreur d'un seul symbole, mais de 70% de l'ensemble du programme.
 

VOUS AVEZ AUSSI UN BUG DANS VOTRE CODE... IL NE MODIFIE PAS LES POSITIONS D'ACHAT, DONC SI UN ARRÊT D'ACHAT EST DÉCLENCHÉ, L'ORDRE EST PLACÉ SANS ARRÊT ET LES AUTRES NE SONT PAS OUVERTS

PAS DE DONNÉES DB[2]==0 DB[3]==0 ÉGALEMENT

 
J'ai trouvé la solution... set DB[0] not > 1 a >=1....
 
Oui, je l'ai corrigé dans le mien, j'ai juste oublié de le mettre dans le fichier téléchargé.
 
sllawa3:

VOUS AVEZ AUSSI UN BUG DANS VOTRE CODE... IL NE MODIFIE PAS LES POSITIONS D'ACHAT, DONC SI UN ARRÊT D'ACHAT EST DÉCLENCHÉ, L'ORDRE EST PLACÉ SANS ARRÊT ET LES AUTRES NE SONT PAS OUVERTS

PAS DE DONNÉES DB[2]==0 DB[3]==0 ÉGALEMENT

Slava, ton problème est que tu n'acceptes pas les idées nouvelles... On t'a proposé une approche différente, mais tu attends une solution toute faite...

C'est à vous de décider comment traiter les éventuels problèmes liés aux commandes - requêtes, prix incorrects, etc...

 
Techno:
Oui, je l'ai corrigé moi-même, j'ai juste oublié de mettre
dans le fichier téléchargé.

J'ai décidé de réécrire tous mes EAs en utilisant un tableau... je pense à comment ajouter 2 variables supplémentaires - lot de commande et profit de commande et 2 ordres pour bylimit et selligit

dans la table de consultation des commandes

y a-t-il des limitations sur le nombre de variables horizontalement et verticalement ? et de variables avant le départ [4] est-ce le nombre de commandes ou le nombre de variables dans chaque commande ?

Raison: