Répondre

Référencement des transactions fermées longues et courtes ensemble

6 réponses

glennc

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

Visiter le profil

il y a 6 ans #203095

Bonjour, merci pour cet excellent programme.

 

Je souhaite obtenir le profit total des x dernières transactions, longues et courtes confondues.

Si je sépare les positions longues et courtes avec des nombres magiques, cela ne me donnera-t-il pas des totaux pour les x dernières positions longues et les x dernières positions courtes, ce qui n'est pas la même chose que les x dernières positions combinées ?

Si j'utilise zéro comme nombre magique, cela n'inclura-t-il pas les transactions d'autres EAs de la même paire de devises fonctionnant sur la plateforme ?

Comment puis-je résoudre ce problème ? J'ai d'autres problèmes liés à ce type de question, ceci est un exemple du problème.

0

tomas262

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

il y a 6 ans #203217

Bonjour,

Dans EA Wizard, vous pouvez utiliser Sum Of Closed PL pour vérifier les positions longues uniquement / courtes uniquement en ayant la même magie pour toutes les positions longues ou toutes les positions courtes. Si vous utilisez magic = 0, les ordres seront comptabilisés pour toutes les paires négociées et pas seulement pour celle sur laquelle vous avez placé votre EA.

0

glennc

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

Visiter le profil

il y a 6 ans #203230

Bonjour Thomas,

Merci de votre réponse.

Donc, pour confirmer : Je ne peux tout simplement pas calculer les profits/pertes sur un certain nombre de transactions, quel que soit le sens de la transaction... ?

Il s'agit là d'une limitation regrettable. Comme je l'ai mentionné plus haut, cette question n'est qu'un exemple d'un problème plus vaste. Si magic = 0 ne peut pas se limiter à l'EA en question, alors nous avons certainement besoin d'une fonction qui permette à

magicLong AND magicShort ou magicLong OR magicShort ?

0

tomas262

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

il y a 6 ans #203403

Pour obtenir les profits totaux de # des transactions historiques, vous pouvez utiliser cette fonction (placée à la fin de EAWizard \ code \ CustomFunction.mq4)

int sqGetTotalPL(int numberOfLastOrders) {
double pl = 0 ;
int count = 0 ;
int profits = 0 ;

for(int i=OrdersHistoryTotal() ; i>=0 ; i-) {
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true && OrderSymbol() == Symbol()) {

compter++ ;

if(OrderType() == OP_BUY) {
pl = (OrderClosePrice() - OrderOpenPrice()) ;
} else {
pl = (OrderOpenPrice() - OrderClosePrice()) ;
}

if(pl > 0) {
profits++ ;
}

if(count >= numberOfLastOrders) break ;
}
}

retour (bénéfices) ;
}

Vous pouvez ensuite y faire référence à l'aide de la fonctionnalité Custom Function dans EA Wizard en utilisant l'appel "sqGetTotalPL(3)" pour obtenir le P/L des 3 dernières transactions sur un symbole sélectionné.

0

glennc

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

Visiter le profil

il y a 6 ans #203693

Bonjour Tomas,

 

Merci beaucoup pour cela - j'apprécie le temps que cela doit prendre. En lisant le code (en gardant à l'esprit que je ne sais pas lire le code), est-ce que cela me donnera un résultat uniquement pour l'EA dans lequel il est inclus, et non pas tous les résultats pour la paire (OrderSymbol) dans l'historique MT4 ? J'essaie d'isoler le profit/la perte sur un certain nombre de trades au sein d'un EA spécifique, même si d'autres EAs fonctionnent sur la même paire sur la même plateforme.

 

Merci encore pour votre aide.

 

0

tomas262

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

il y a 6 ans #203816

Bonjour,

cette déclaration dans le code OrderSymbol() == Symbol() garantit qu'il ne vous donnera des résultats que pour le symbole sur lequel vous exécutez votre EA, par exemple EURUSD

0

glennc

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

Visiter le profil

il y a 6 ans #217747

Merci Tomas !

0

Affichage de 6 réponses de 1 à 6 (sur un total de 6)