10points 3.mq4 - page 274

 

Saintmo, c'est l'une des premières choses à corriger sur ma liste. Actuellement, cela se produit parce qu'il ne décide de la direction à prendre que lors de la première entrée. Après cela, il continue simplement à aller dans la même direction et à espérer le meilleur.

Je vais bientôt poster à nouveau...

 
neta1o:
Saintmo, c'est l'une des premières choses à corriger sur ma liste. Actuellement, cela se produit parce qu'il ne décide de la direction à prendre que lors de la première entrée. Après cela, il continue simplement à aller dans la même direction en espérant le meilleur. Je vais bientôt poster à nouveau...

Ok. Si c'est le cas, nous allons éliminer le PipStep, et ouvrir le trade selon le prochain signal qui apparaîtra. Est-ce que c'est ce que vous voulez ? Ex.

Acheter 119.00 - 0.10 lot Signal d'achat (faux signal)

Vendre 118.40 - 0.20 lot Signal de vente(faux signal)

Acheter 118.50 - 0.40 lot Signal d'achat (cette fois-ci correct)

Le prix a encore augmenté de 20 pips, nous fermons toutes les positions.

Est-ce que c'est le critère ? Si oui, faites-le moi savoir, afin que nous puissions commencer à travailler sur ce point.

Salutations

David

 

davidke20,

Hey David, merci de vous être penché sur la question.

Voici ce que je pense jusqu'à présent... Je pense que si nous éliminons le pipstep, nous perdrons une partie de la force de 10points3 et de la martingale dans sa forme brute. J'aimerais plutôt utiliser un indicateur (ou deux/trois) comme signal progressif pour vérifier notre position.

*note - Je pense que le pipstep devrait être variable en fonction de la volatilité du marché ATR etc...

Exemple : si nous recevons un signal pour commencer à prendre une position longue pour notre première entrée parce que le RSI était > 50 et que le RSI précédent était < 50, nous entrons à 0,1 lot. En fonction de la volatilité du marché, notre prochain pipstep peut être de 7, une fois ce seuil atteint, nous vérifions notre RSI pour voir s'il est en hausse. Si c'est le cas, nous effectuons notre prochain achat à 0,2 lot.

Si pour une raison quelconque, notre RSI tombe en dessous de 45 ou d'une autre valeur (je suis encore en train de réfléchir à cela), alors nous fermons toutes les positions longues et commençons notre progression dans la direction courte à 0,1 lot.

Qu'en pensez-vous ?

EDIT : Plus j'y pense, plus l'abandon du pipstep peut être une bonne idée. J'ai peur que si nous nous enfermons dans un pipstep forcé, nous puissions être pris à sur-acheter dans de mauvaises positions (même avec l'audit utilisant l'indicateur ci-dessus) puisque le pipstep est une structure d'achat si générique. Ces marchés latéraux nous tueraient si nous utilisions le pipstep.

 
neta1o:
davidke20,

Hey David, merci de vous être penché sur la question.

Voici ce que je pense jusqu'à présent... Je pense que si nous éliminons le pipstep, nous perdrons une partie de la force de 10points3 et de la martingale dans sa forme brute. J'aimerais plutôt utiliser un indicateur (ou deux/trois) comme signal progressif pour vérifier notre position.

*note - Je pense que le pipstep devrait être variable en fonction de la volatilité du marché ATR etc...

Exemple : si nous recevons un signal pour commencer à prendre une position longue pour notre première entrée parce que le RSI était > 50 et que le RSI précédent était < 50, nous entrons à 0,1 lot. En fonction de la volatilité du marché, notre prochain pipstep peut être de 7. Une fois ce seuil atteint, nous vérifions si notre RSI est en hausse. Si c'est le cas, nous effectuons notre prochain achat à 0,2 lot.

Si pour une raison quelconque, notre RSI tombe en dessous de 45 ou d'une autre valeur (je suis encore en train de réfléchir à cela), alors nous fermons toutes les positions longues et commençons notre progression dans la direction courte à 0,1 lot.

Qu'en pensez-vous ?

EDIT : Plus j'y pense, abandonner le pipstep pourrait être une bonne idée. J'ai peur que si nous nous enfermons dans un pipstep forcé, nous puissions être pris à sur-acheter dans de mauvaises positions (même avec l'audit utilisant l'indicateur ci-dessus) puisque le pipstep est une structure d'achat tellement générique. Ces marchés latéraux nous tueraient si nous utilisions le pipstep.

Si vous utilisez le signal de l'indicateur, vous ne pouvez pas utiliser le pipstep (peu importe que vous vouliez le rendre dynamique ou autre). Vice versa, si vous utilisez le PipStep, quelle est la prochaine progression alors ? Le signal ou le pipstep ? J'ai du mal à faire cette partie aussi, si vous vouliez les deux, j'aurais des problèmes maintenant parce que je ne sais pas comment le faire fonctionner, peut-être que quelqu'un d'autre peut aider.

Salutations

David

 
davidke20:
Si vous utilisez le signal de l'indicateur, vous ne pouvez pas utiliser le pipstep (peu importe que vous vouliez le rendre dynamique ou autre). Vice versa si vous utilisez le PipStep, quelle est la prochaine progression alors ? Le signal ou le pipstep ? J'ai du mal à faire cette partie aussi, si vous vouliez les deux, j'aurai des problèmes maintenant parce que je ne sais pas comment le faire fonctionner, peut-être que d'autres peuvent aider.

Salutations

David

Mon idée est d'utiliser le signal de l'indicateur pour l'entrée et de se référer continuellement à ce signal d'indicateur pendant que nous sommes en position pour nous assurer que nous ne sommes pas victimes d'une forte hausse dans la direction opposée. Si l'indicateur atteint une certaine valeur dans la direction opposée de notre position, nous l'utilisons pour fermer et réduire les pertes (c'est notre sécurité pour éviter les grosses pertes de 10points3). Nous devons lui donner une certaine marge de manœuvre, il ne s'agit pas d'un simple "Si l'indicateur est à la hausse, nous continuons à ajouter, s'il est à la baisse, nous fermons et changeons de position... il doit y avoir une certaine marge de manœuvre".

En faisant cela, nous pouvons toujours utiliser le pipstep car si nous entrons dans une position longue selon notre indicateur et qu'elle devient courte pendant un moment, nous ajouterons à notre position longue selon le pipstep, nous ne voudrions pas fermer et devenir short immédiatement. Nous devons établir une valeur dans la direction courte, suffisamment éloignée pour donner à notre EA de la place pour travailler, mais suffisamment proche pour éviter les grands plongeons.

Je travaille sur le code en ce moment et je le posterai bientôt pour que vous puissiez y jeter un œil. Je pense que votre contribution et celle de toute autre personne qui souhaite contribuer sera extrêmement précieuse.

Je le posterai à nouveau bientôt.

Edit : Voici une petite mise à jour du code pour créer une entrée de meilleure qualité (voir ci-joint), bien qu'il n'y ait toujours pas de protection dans ce code. Il choisit la direction au début.

Dossiers :
 

Bon, j'ai presque réussi à faire fonctionner une copie de base du code et je vais le poster bientôt.

Mais j'ai besoin de votre aide.

Les marchés très volatiles et rapides tuent cet indicateur à cause du pipstep. Si vous avez une barre de 40+pip avec un pipstep de 10, vous pouvez avoir 4 positions sur cette seule barre. C'est une bonne chose, mais la plupart des indicateurs sont un peu en retard et ce mouvement se produira bien avant que les indicateurs aient la possibilité de le protéger.

Maintenant, je pourrais augmenter le pipstep mais cela me ferait perdre beaucoup des petits profits que j'ai gagnés, et dans ces marchés très volatils, il n'est pas rare de voir des mouvements de 40-50 pips en une seule barre.

Quelle serait la meilleure logique à utiliser pour s'assurer qu'il n'achète ou ne vend pas plus de deux fois par barre ? Devrai-je utiliser le temps pour cela ?

 

Quelques trucs ajoutés :

Gestion de l'argent entièrement fonctionnelle : Standards, Minies, NANO

Fonction StopNReverse : J'espère qu'elle fonctionne.

Nettoyage des codes sur PipValue : Ainsi vous n'avez pas besoin de définir la valeur du pip vous-même.

Révision des OrderstoProtect : Plus efficace !

J'espère que cela vous aidera. Je n'ai pas de données pour faire un backtest, si vous en avez, faites-le et donnez votre avis. Merci

Salutations

David

Dossiers :
 
neta1o:
Les marchés très volatils à évolution rapide tuent cet indicateur à cause du pipstep. Si vous obtenez une barre de 40+pip avec un pipstep de 10, vous pouvez avoir 4 positions sur cette seule barre. C'est une bonne chose, mais la plupart des indicateurs sont un peu en retard et ce mouvement se produira bien avant que les indicateurs aient la possibilité de le protéger.

Contre les marchés qui bougent rapidement comme le temps des nouvelles, une idée que j'ai essayée avec succès est simplement d'avoir un temps minimum fixe entre deux entrées. La valeur de l'entrée suivante n'est pas donnée par le pipstep relatif à l'entrée précédente, mais bien par le pipstep relatif au taux X minutes après l'entrée précédente. De cette façon, le pipstep devient dynamique en suivant la volatilité instantanée.

 
Michel:
Contre les marchés qui bougent rapidement comme les actualités, une idée que j'ai essayé avec succès est d'avoir un temps minimum fixe entre deux entrées. La valeur de la prochaine entrée n'est pas donnée par le pipstep par rapport à l'entrée précédente, mais bien par le pipstep par rapport au taux X minutes après l'entrée précédente. De cette façon, le pipstep devient dynamique en suivant la volatilité instantanée.

Ajout d'un filtre de temps comme intervalle en plus de pipstep. Les paramètres sont en millisecondes.

Salutations

David

Dossiers :
 
davidke20:
Ajout d'un filtre temporel comme intervalle en plus de pipstep. Les paramètres sont en millisecondes.

Salutations

David

David,

Je pense qu'il serait préférable d'utiliser quelque chose comme ceci :

if (myOrderType==1 && ContinueOpening && TimeCurrent() > LastOpenTime + SleepTime)[/PHP]

with SleepTime in seconds.

The reasons to not use the Sleep() function are two: first, Sleep() does not work in backtester; and second, it's not a good idea to stop during this time the running of other parts of the EA like stops trailing.

Anyway, the instruction [PHP]if(Use_time_interval){Sleep(SleepTime);}

n'est pas au bon endroit maintenant, il devrait être dans le bloc OrderSend().

Raison: