le t/p ne fonctionne pas correctement - page 2

 
krishna_gopal_2:
Bien. Maintenant, que dois-je faire pour obtenir plus ou moins 100pips. Existe-t-il une formule pour calculer le Spread ?
Ask - Bid est le Spread.
 
krishna_gopal_2:
Bien. Maintenant, que dois-je faire pour obtenir plus ou moins 100 pips. Existe-t-il une formule pour calculer le Spread ?
Si vous réglez correctement votre TP, vous obtiendrez 100 pips (plus ou moins car les ticks sont émulés) pour votre trade gagnant dans le Strategy Tester.
  • Si vous ouvrez une VENTE au prix X (offre), fixez votre TP au prix de l'offre - 100 pips.
  • Si vous ouvrez un ACHAT au prix Y (ask), fixez votre TP à ASK + 100 pips.

A propos de votre post initial :

  • soit vous ne fixez pas un TP de 100 pips
  • soit ce que vous publiez ne sont pas des trades gagnants
  • soit vous avez mal calculé votre profit (pips).
  • soit vos trades ne sont pas fermés par le TP.
 
<br / translate="no">
  • Si vous ouvrez une VENTE au prix X (offre), fixez votre TP au prix de l'offre - 100 pips.
  • Si vous ouvrez un achat au prix Y (ask), fixez votre TP à ASK + 100 pips.


Je pense que cela a une petite erreur, je ne suis pas sûr ...

Comme je l'ai déjà dit, avec une OP_SELL, vous ouvrez au prix de l'offre, puis fermez au prix de la demande... donc si le TP est bid - 100, votre profit sera de 100 pips moins le spread.

De plus, tout TP basé sur l'offre et la demande au moment de l'ouverture suppose que le spread est constant. J'ai fait beaucoup de recherches sur ce sujet récemment et le spread n'est jamais complètement constant. Cela n'apparaîtra pas dans le backtesting parce que MT4 ne sauvegarde pas le prix Ask (je pense ? ?? Est-ce qu'il utilise le prix de clôture + le spread actuel ? ??), mais vous devez considérer le monde réel aussi.

 
alladir:


  • Si vous ouvrez une VENTE au prix X (bid), fixez votre TP au prix BID - 100 pips. utilisez OrderOpenPrice()
  • Si vous ouvrez un ACHAT au prix Y (ask), fixez votre TP à ASK + 100 pips.

Je pense que cela comporte une petite erreur, je ne suis pas sûr...

Comme je l'ai déjà dit, avec une OP_SELL, vous ouvrez au prix de l'offre, puis fermez au prix de la demande... donc si le TP est bid - 100, votre profit sera de 100 pips moins le spread.

De plus, tout TP basé sur l'offre et la demande au moment de l'ouverture suppose que le spread est constant. J'ai fait beaucoup de recherches sur ce sujet récemment et le spread n'est jamais complètement constant. Cela n'apparaîtra pas dans le backtesting parce que MT4 n'enregistre pas le prix Ask (je pense ??? Il utilise le prix de clôture + le spread actuel ???), mais vous devez également tenir compte du monde réel.


Si vous ouvrez d'abord la transaction puis la modifiez en utilisant son orderopenprice( ), cela fonctionnera sur tous les comptes.
 
deVries:

Le fait d'ouvrir d'abord le trade puis de le modifier en utilisant son orderopenprice( ) le fera fonctionner sur tous les comptes.


Non, ce n'est toujours pas correct.

pour les ordres courts, le spread est pris lorsque l'ordre est FERMÉ, pas avant, donc l'utilisation de OrderOpenPrice donne toujours un profit de : 100 pips moins le spread au moment de la fermeture.

Il est facile d'obtenir un TP de 100 pips pour les ordres longs.

Pour les ordres courts, vous devez définir le TP comme étant OrderOpenPrice + 100 pips + le spread.

(et espérer que le spread soit presque constant).

 
alladir:


Je pense qu'il y a une petite erreur, je ne suis pas sûr...

Comme je l'ai déjà dit, avec une OP_SELL, vous ouvrez au prix de l'offre, puis fermez au prix de la demande... donc si le TP est bid - 100, votre profit sera de 100 pips moins le spread.


De plus, tout TP basé sur l'offre et la demande au moment de l'ouverture suppose que le spread est constant. J'ai fait beaucoup de recherches sur ce sujet récemment et le spread n'est jamais complètement constant. Cela n'apparaîtra pas dans le backtesting parce que MT4 n'enregistre pas le prix Ask (je pense ?? Il utilise le prix de clôture + le spread actuel ???), mais vous devez également tenir compte du monde réel.

  • Non. Pour une vente, la transaction s'ouvre au prix de l'offre (BID_OPEN), se ferme au prix du marché, donc quand l'offre = BID_OPEN-100. Profit = Prix d'ouverture - Prix de clôture = BID_OPEN - BID_OPEN + 100 = 100.
  • Pour un achat, la transaction est ouverte à l'ask (ASK_OPEN), fermée au tp, donc quand le bid = ASK_OPEN+100. Profit = Prix de clôture - Prix d'ouverture = ASK_OPEN + 100 - ASK_OPEN = 100.

Spread flottant ou non, cela reste vrai.

MAIS

  • Pour une vente, le prix doit passer de l'offre à l'ouverture à l'offre à la clôture, donc de BID_OPEN à BID_OPEN - 100 - SPREAD_CLOSE. Le mouvement est de 100 + spread à l'heure de clôture. Si l'écart est élargi au moment de la clôture, la probabilité de conclure la transaction est réduite.
  • Pour un achat, le prix doit se déplacer de ASK_OPEN - SPREAD_OPEN à ASK_OPEN + 100, donc ici vous savez dès le départ de combien le prix doit se déplacer (100 + spread à l'ouverture).

Vous avez raison de dire que le spread n'est jamais complètement constant, vous devez le vérifier et choisir un courtier qui fournit ce qu'il a promis (vérifiez-le).

 
deVries:

faire en sorte qu'il ouvre d'abord le trade puis le modifie en utilisant son orderopenprice( ) le fera fonctionner sur tous les comptes.
Vous avez raison, c'est la façon la plus simple de le programmer. Mais je ne parle pas d'un langage de programmation, avant de programmer, il est préférable de comprendre comment cela fonctionne.
 
angevoyageur:
  • Non. Pour une VENTE, la transaction est ouverte au prix de l'offre (BID_OPEN), fermée au prix du marché, donc lorsque l'offre = BID_OPEN-100. Profit = Prix d'ouverture - Prix de clôture = BID_OPEN - BID_OPEN + 100 = 100.


Je suis toujours un noob donc excusez-moi si je me suis trompé pendant tout ce temps. Mais j'étais certain que pour un ordre court, le TP était déclenché lorsque le prix BID atteint le niveau du TP, mais la transaction est fermée en utilisant le prix ASK.... c'est le week-end maintenant donc je ne peux pas tester mais vraiment..... n'est-ce pas le cas ? Est-ce que les TP sont déclenchés par le prix ASK pour les transactions courtes et par le prix BID pour les transactions longues ? Et si oui, que se passe-t-il dans le backtesting lorsque les prix ASK ne sont pas disponibles ?

En ce qui concerne les spreads, j'ai écrit un collecteur de tics qui trace ensuite les spreads de différents courtiers sur un graphique pour les comparer. J'ai constaté que certains d'entre eux sont exactement constants, sauf lorsque des nouvelles sont publiées, mais que d'autres ont des spreads assez variables... certains d'entre eux donnent même l'impression que le prix Ask est retardé d'environ 100 ms (c'est-à-dire que le spread est trop grand lorsque le prix baisse soudainement, et trop petit lorsque le prix augmente soudainement).....

 
angevoyageur:
  • Non. Pour une VENTE, la transaction est ouverte à l'offre (BID_OPEN), fermée à l'heure de clôture, donc lorsque la demande = BID_OPEN-100. Profit = Prix d'ouverture - Prix de clôture = BID_OPEN - BID_OPEN + 100 = 100.
  • Pour un achat, la transaction est ouverte à l'ask (ASK_OPEN), fermée au tp, donc quand le bid = ASK_OPEN+100. Profit = Prix de clôture - Prix d'ouverture = ASK_OPEN + 100 - ASK_OPEN = 100.

Spread flottant ou non, cela reste vrai.

Non, ce n'est pas correct. Prenons un exemple hypothétique où une transaction est ouverte puis immédiatement fermée, la perte est due au spread. En utilisant votre calcul ci-dessus pour le profit de vente = Prix d'ouverture - Prix de clôture = BID_OPEN - BID_OPEN + 0 = 0. Mais ce n'est pas la bonne réponse car le spread doit être payé.

Ce devrait être ceci... Profit = Prix d'ouverture - Prix de clôture = BID_OPEN - ASK_OPEN + 0 = -Spread.... ... mais cela suppose que le spread est le même de l'heure d'ouverture à l'heure de clôture.

 
alladir:


Je suis toujours un noob donc excusez-moi si je me suis trompé tout ce temps. Mais j'étais certain que pour un ordre court, le TP était déclenché lorsque le prix BID atteignait le niveau du TP, mais que la transaction était fermée en utilisant le prix ASK.... c'est le week-end maintenant donc je ne peux pas tester mais vraiment..... n'est-ce pas le cas ? Les TP utilisent-ils le prix ASK pour les transactions courtes et le prix BID pour les transactions longues ? Et si oui, que se passe-t-il dans le backtesting lorsque les prix ASK ne sont pas disponibles ?

Ne vous inquiétez pas, nous avons tous à passer par ce stade, testez-le encore et encore, c'est la meilleure façon d'apprendre. Qu'est-ce que la fermeture d'un trade SELL ? C'est un ACHAT ! Donc cet ACHAT est pris au prix demandé, quel prix demandé ? Le TP de la vente.

Lebacktesting du week-end vous donne le spread à la clôture de la séance le vendredi soir. Le Ask est toujours simple Bid+Spread. Cela peut vous donner un grand écart lors d'un backtesting le week-end car généralement l'écart est élargi à la fin de la session.

Raison: