Aide au codage - page 359

 
apprentice coder:
Comment puis-je trier les ordres fermés (avec toutes leurs informations) dans un ordre décroissant de temps de fermeture ?

Vous devez créer un tableau à 2 dimensions qui sera rempli avec l'heure de clôture et les numéros de tickets, puis le trier. Mais, puisque metatrader ne peut pas trier des tableaux à 2 ou plusieurs dimensions, vous devez également avoir une procédure de tri personnalisée pour ce tableau à 2 dimensions (n'importe quel algorithme de tri fera l'affaire : je suppose que vous n'aurez pas des milliers d'ordres fermés).

 
mladen:
Vous devez créer un tableau à 2 dimensions qui sera rempli avec l'heure de clôture et les numéros de tickets, puis le trier. Mais, puisque metatrader ne peut pas trier des tableaux à 2 ou plusieurs dimensions, vous devez également avoir une procédure de tri personnalisée pour ce tableau à 2 dimensions (n'importe quel algorithme de tri fera l'affaire : je suppose que vous n'allez pas avoir des milliers d'ordres fermés).

Existe-t-il un exemple d'une telle fonction de tri ?

 

Bonjour Mladen et Mastercash,

J'ai réussi à faire fonctionner l'original et la mise à jour de Mladen... mais je n'ai rien fait de spécial... j'ai juste utilisé les valeurs par défaut comme je l'ai dit plus tôt... (j'utilise le build 670 si cela peut aider).

Et le snippet de vérification révisé de Mladen semble fonctionner... avec la limitation à 1 transaction sur la barre actuelle...

Cependant... il y a d'autres problèmes avec ce modèle d'EA, c'est pourquoi j'ai suggéré de porter l'indicateur et la stratégie vers un nouveau modèle d'EA.

Voici ce que j'ai vu... à titre d'exemple...

Les deux versions déclenchent une transaction (par exemple un achat)... mais cette condition de transaction d'achat ne semble jamais s'effacer... et il continue à négocier cette même condition d'achat... même après que la condition (croisement) se transforme en vente...

Donc, si un achat a été déclenché... l'ensemble du test est constitué d'achats... peu importe le nombre de croisements des EMA. C'est la même chose avec les ventes... Il semble que la condition reste la même, quoi qu'il arrive.

Je peux poster une capture d'écran si cela est utile... mais il est peut-être préférable de commencer par un nouveau modèle d'EA.

J'espère que cela vous aidera tous les deux,

Robert

PS - À des fins de test, j'ai raccourci les conditions de transaction pour ne conserver que les croisements d'EMA... afin de faciliter et d'accélérer la visualisation du fonctionnement des transactions. Je n'ai pas vérifié si les autres conditions de transaction causaient des problèmes... mais les croisements d'EMA m'ont donné suffisamment de transactions pour voir comment cet EA fonctionne (comme expliqué ci-dessus)...

 

Mastercash et Mladen....

J'ai fait quelques captures d'écran pour montrer les conditions de transaction de cet EA...

Vous pouvez clairement voir les "tous les achats" et "tous les ventes"...

Je ne comprends pas très bien le bloc de code de transaction et pourquoi il renvoie toujours un (-1)... mais quelque chose fait que la condition de transaction reste la même...

C'est pourquoi il m'a semblé plus facile et plus judicieux de recommander un nouveau modèle d'EA...

Les exemples de transactions sont joints et j'espère qu'ils vous aideront à trouver les solutions pour résoudre les problèmes.

Robert

 

Cosmiclifeform

c'était mon expérience avec le modèle.... celui que mladen a édité n'a même pas tradé du tout sur mon graphique.

cosmiclifeform:
Mastercash et Mladen....

Je me suis lancé et j'ai fait quelques captures d'écran pour montrer les conditions de transaction de cet EA...

Vous pouvez clairement voir les "tous les achats" et "tous les ventes"...

Je ne comprends pas très bien le bloc de code de transaction et pourquoi il renvoie toujours un (-1)... mais quelque chose fait que la condition de transaction reste la même...

C'est pourquoi il m'a semblé plus facile et plus judicieux de recommander un nouveau modèle d'EA...

Les exemples de transactions sont joints et j'espère qu'ils vous aideront à trouver les solutions pour résoudre les problèmes.

Robert

 
Mastercash:
Cosmiclifeform c'était mon expérience avec le modèle.... celui que mladen a édité n'est même pas négocié du tout sur mon graphique.

Et lors de mes tests, aucune des deux versions ne fonctionne. Ni la version originale, ni la version modifiée (j'utilise habituellement l'EURUSD 1 minute pour des tests rapides, et il n'ouvrait aucun ordre dessus - aucun message d'erreur, aucun avertissement, aucun ordre ouvert quelle que soit la version utilisée).

Les gars, cet EA vient de me montrer que le compilateur metatrader a plus de bugs que je ne le pensais : vérifiez les lignes de 39 à 49 - elles n'ont aucun sens, aucun sens du tout (appeler iMA() en dehors du corps d'une fonction est tout sauf normal - et le compilateur n'a émis aucun avertissement).

_______________________________

Si le code de ces lignes est déplacé vers la fonction check_signal(), cela ouvre les positions longues et courtes :) :)

 

Résultats lorsque ces lignes sont déplacées vers la fonction check_signal() :

Lorsque ces lignes sont déplacées vers la même fonction dans l'EA original, celui-ci commence également à trader.

Voici celui testé sur l'exemple ci-dessus : nicetrader_1.02.mq4

Dossiers :
 

Mladen,

L'original que j'ai envoyé était de faire un trade, mais s'il entre dans le trade, disons acheter sur EURUSD, il continuera à prendre cet BUY sur EURUSD même quand la condition d'achat est dépassée.....C'est encore une fois attaché ci-dessous.

mladen:
Mastercash

Cet EA n'ouvre pas d'ordre même si cette vérification est rejetée (donc si la partie du code qui lui a été ajoutée est supprimée, il n'ouvre toujours pas d'ordre). De même, lorsqu'il est testé, l'EA que vous avez publié (l'original) n'ouvre pas les ordres.

La version que vous avez postée a-t-elle jamais été utilisée ?
Dossiers :
nicetrader.mq4  26 kb
 
Mastercash:
Mladen, l'original que j'ai envoyé fait du commerce, mais s'il entre dans le commerce, disons acheter sur l'EURUSD, il continuera à prendre cet achat sur l'EURUSD même lorsque la condition d'achat est dépassée.....C'est encore une fois attaché ci-dessous.

Mastercash

Ce n'est pas celui qui a été posté ici : https://www.mql5.com/en/forum/174385/page239 (vérifiez-le et vous verrez qu'ils sont différents - il n'y a pas de partie de code commentée dans celui que vous avez posté ici).

Quoi qu'il en soit, utilisez celui-ci ou celui que j'ai posté dans un message précédent le vôtre, et il devrait ouvrir toutes les positions - longues et courtes : nicetrader-original.mq4

Dossiers :
 

Mladen,

Merci.... Je vais le faire moi-même. Si nous pouvons faire fonctionner ce modèle correctement, beaucoup d'entre nous auront un modèle prêt à fonctionner notre ea dans la nouvelle version de mt4.

mladen:
Mastercash

Ce n'est pas celui qui a été posté ici : https://www.mql5.com/en/forum/174385/page239 (vérifiez-le et vous verrez qu'ils sont différents - il n'y a pas de partie de code commentée dans celui que vous avez posté ici).

Quoi qu'il en soit, utilisez celui-ci ou celui que j'ai posté dans un message antérieur au vôtre, et il devrait ouvrir toutes les positions - longues et courtes : nicetrader-original.mq4