Répondre

Ouvrir une transaction sur une nouvelle bougie

27 réponses

lenteur de l'assurance

Abonné, bbp_participant, communauté, 63 réponses.

Visiter le profil

il y a 10 ans #112139

HI

 

Je veux juste une règle qui dit que dès qu'une nouvelle bougie s'ouvre, il faut entrer dans une transaction. Quelqu'un peut-il me dire comment faire ?

 

Remerciements

 

0

lenteur de l'assurance

Abonné, bbp_participant, communauté, 63 réponses.

Visiter le profil

Il y a 9 ans #124663

Sur le P/L ouvert, je peux voir qu'il y a un nombre magique, donc il ne va regarder que la transaction avec ce nombre magique. La seule chose à laquelle je pense est que la valeur en pips des deux transactions devrait être assignée à une variable chacune, puis les deux variables additionnées. Mais je ne vois pas comment faire ?

0

lenteur de l'assurance

Abonné, bbp_participant, communauté, 63 réponses.

Visiter le profil

Il y a 9 ans #124664

Je pense avoir résolu ce problème. Mais il n'ouvre toujours pas de transactions sur la deuxième paire de devises. Pouvez-vous jeter un coup d'œil au fichier de stratégie ci-joint et voir si j'ai fait quelque chose de mal ?

 

Remerciements

Fichier : Haie.sqw

0

lenteur de l'assurance

Abonné, bbp_participant, communauté, 63 réponses.

Visiter le profil

Il y a 9 ans #124665

hmm corrigé.  

0

lenteur de l'assurance

Abonné, bbp_participant, communauté, 63 réponses.

Visiter le profil

Il y a 9 ans #124668

Un dernier problème avec cette stratégie...

J'additionne les p/l ouverts pour les deux devises et la règle est, si le profit total est >= 5 pips, de fermer les deux trades.

Cependant, la clôture se fait à 5 pips, qu'il s'agisse d'un profit de 5 pips ou d'une perte de 5 pips, ou d'un profit de 3 pips et d'une perte de 2 pips, etc.

Comment puis-je m'assurer qu'il ne se ferme que lorsque le p/l ouvert est positif de 5 pips ?

0

lenteur de l'assurance

Abonné, bbp_participant, communauté, 63 réponses.

Visiter le profil

Il y a 9 ans #124734

J'additionne les p/l ouverts pour les deux devises et la règle est, si le profit total est >= 5 pips, de fermer les deux trades.

Cependant, la clôture se fait à 5 pips, qu'il s'agisse d'un profit de 5 pips ou d'une perte de 5 pips, ou d'un profit de 3 pips et d'une perte de 2 pips, etc.

Comment puis-je m'assurer qu'il ne se ferme que lorsque le p/l ouvert est positif de 5 pips ?

0

Mark Fric

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 9 ans #124737

Pouvez-vous joindre votre stratégie ici ? Elle devrait reconnaître les PL positifs et négatifs.

Marque
StratégieArchitecte de Quantités

0

lenteur de l'assurance

Abonné, bbp_participant, communauté, 63 réponses.

Visiter le profil

Il y a 9 ans #124740

Le voici.

Fichier : Haie.sqw

0

Mark Fric

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 9 ans #124765

Je me suis penché sur la question, le problème est que la fonction Open PL vérifie toujours le PL uniquement dans le symbole graphique actuel. C'est parce que vous pouvez utiliser 0 comme nombre magique, 
et il renverra le profit ouvert pour toutes les transactions sur le même symbole.

La solution consiste à utiliser une fonction personnalisée, mais ne vous inquiétez pas, ce n'est pas compliqué.

Ouvrez le fichier EA Wizard/code/CustomFunctions.mq4 et ajoutez-y la fonction suivante :

 
double sqGetOpenPLInPips2(int MN1, int MN2) {
   double pl = 0 ;
 
   for (int cc = OrdersTotal() - 1 ; cc >= 0 ; cc-) {
      if (!OrderSelect(cc, SELECT_BY_POS) ) continue ;
      if(OrderType() != OP_BUY && OrderType() != OP_SELL) continue ;
      if(OrderMagicNumber() != MN1 && OrderMagicNumber() != MN2) continue ;
 
      if(OrderType() == OP_BUY) {
         pl += sqGetBid(OrderSymbol()) - OrderOpenPrice() ;
      } else {
         pl += OrderOpenPrice() - sqGetAsk(OrderSymbol()) ;
      }
   }
 
   return(pl*gPointPow) ;
}
 
Je joins une stratégie qui montre comment l'appeler pour obtenir le PL de deux ordres avec des nombres magiques différents combinés.
 
 
Fichier : Haie.sqw

Marque
StratégieArchitecte de Quantités

0

lenteur de l'assurance

Abonné, bbp_participant, communauté, 63 réponses.

Visiter le profil

Il y a 9 ans #124778

Merci Mark, c'est très utile.

0

Eddiebund

Abonné, bbp_participant, communauté, 21 réponses.

Visiter le profil

Il y a 9 ans #125372

Marque

 

C'est une stratégie très intéressante que je cherchais à tester. Malheureusement, lorsque j'ajoute le code ci-dessus aux CustomFunctions, il ne compile pas et affiche les erreurs suivantes

 

sqGetBid" - fonction non définie CustomFunctions2.mq4 29 16
sqGetAsk" - fonction non définie CustomFunctions2.mq4 31 35
gPointPow" - identifiant non déclaré CustomFunctions2.mq4 35 14
la fonction de traitement des événements n'a pas été trouvée 1 1
4 erreur(s), 0 avertissement(s) 5 1
 

 

En fait, lorsque j'ai supprimé le code supplémentaire, les deux dernières erreurs subsistent.

 

Pouvez-vous nous conseiller ?

 

Remerciements

 

Eddie

0

Mark Fric

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 9 ans #125394

Bonjour Eddie,

 

Essayez-vous de compiler le fichier COmpiledFunctions.mq4 seul ?

 

Ce n'est pas censé fonctionner ainsi. Le contenu de ce fichier est attaché à chaque EA créé dans EA Wizard, donc ne compilez pas ce fichier personnalisé, mais les EA normaux que vous exportez depuis EA Wizard.

Ces fonctions devraient déjà être incluses.

Marque
StratégieArchitecte de Quantités

0

Eddiebund

Abonné, bbp_participant, communauté, 21 réponses.

Visiter le profil

Il y a 9 ans #125409

Merci pour cela, Mark

 

Il fonctionne maintenant et me donne la base de quelque chose à essayer de développer.

 

 

Santé

0

Affichage de 12 réponses de 16 à 27 (sur un total de 27)

1 2