Prix moyen des commandes (plusieurs chiffres magiques)
4 réponses
ramacan
il y a 11 ans #111190
Comment puis-je calculer le prix moyen des ordres (nombres magiques multiples) pondéré par les lots ?
Voir aussi.
Mark Fric
il y a 11 ans #121712
vous pouvez vérifier la fonction sqGetOrdersAveragePrice() dans le code généré par l'EA.
Marque
StratégieArchitecte de Quantités
ramacan
il y a 11 ans #121731
Marquer,
Voulez-vous dire que je devrais utiliser sqGetOrdersAveragePrice() dans la zone des fonctions personnalisées ? Soyez indulgent avec moi car je ne suis pas un programmeur, donnez-moi un exemple de la façon de récupérer le prix moyen pondéré par les lots pour Magic#1 et Magic#2.
Voir aussi.
Mark Fric
il y a 11 ans #121833
Bonjour,
Désolé pour la réponse insuffisante.
Vous pouvez ajouter le code suivant au fichier {EA Wizard}/code/CustomFunctions.mq4.
L'EA Wizard ajoutera cette fonction à chaque code EA généré.
double GetMultiOrdersAveragePrice(int magic1, int magic2) {
double sum = 0.0 ;
double cnt = 0.0 ;
for (int cc = OrdersTotal() - 1 ; cc >= 0 ; cc-) {
if (!OrderSelect(cc, SELECT_BY_POS) ) continue ;
if((OrderMagicNumber() == magic1 || OrderMagicNumber()) == magic2) && OrderSymbol() == Symbol()) {
if(OrderType() == OP_BUY && OrderCloseTime() == 0) {
sum += OrderLots() * OrderOpenPrice () ;
cnt += OrderLots() ;
}
if(OrderType() == OP_SELL && OrderCloseTime() == 0) {
sum += OrderLots() * OrderOpenPrice () ;
cnt += OrderLots() ;
}
}
}
si (NormalizeDouble (cnt, Digits) == 0) return (0) ;
return(sum / cnt) ;
}
Ensuite, dans les règles de l'EA Wizard, vous pouvez utiliser cette nouvelle fonction comme Fonctions -> Fonction personnalisée : GetMultiOrdersAveragePrice(1000, 2000)
pour obtenir le prix moyen des ordres avec les nombres magiques 1000 et 2000.
Marque
Marque
StratégieArchitecte de Quantités
ramacan
il y a 11 ans #121843
Affichage de 4 réponses de 1 à 4 (sur un total de 4)