J'envoie une demande comme celle-ci pour placer une demande en attente. Mais il n'expire pas à la fin de la journée de négociation. J'ai essayéORDER_TIME_SPECIFIED_DAY mais cela ne fonctionne pas non plus. Quel est le problème ?
Aidez-moi avec la fonction ArrayPrint - Je veux obtenir les 100 derniers éléments d'un tableau, puis les 100 premiers et les 100 derniers.
ArrayPrint(arr_P_val_X,8,NULL,Calc_XY-100,100,ARRAYPRINT_INDEX);//Ожидаю получить 100 последних элементов, выдает первыеArrayPrint(arr_P_val_X,ARRAYPRINT_LIMIT);//Хочу получить 100 и 100 последний - выдает весь массив - что не так?
Bonjour à tous, chers membres du forum, modérateurs, administrateurs, etc.Veuillez expliquer comment calculer le profit total des positions ouvertes dans MQL5. Il n'y a aucun problème à ce sujet dans MQL4. Je ne suis pas paresseux, mais je ne sais pas comment m'y prendre. En utilisant PositionGetDouble(POSITION_PROFIT), le bénéfice est calculé uniquement pour la première position ouverte.Mais dans MQL4, OrderProfit() montre leprofit sur tous les ordres. Peut-être, j'ai raté quelque chose...
Désolé, j'ai oublié de spécifier le type de compte de couverture.
Ramiz Mavludov: Désolé, j'ai oublié de mentionner que le type de compte est hedge.
Vous devez suivre de toute urgence et sans faute un cours d'éradication de l'analphabétisme. Dans mql5, ainsi que dans mql4, avant de travailler avec une position (dans mql4, un ordre), vous devez sélectionner la position. Contrairement à mql4, dans mql5 je me souviens de trois fonctions pour sélectionner une position. La documentation en donne une bonne description. Le chemin... Ne le prenez pas mal.
//+------------------------------------------------------------------+//| Calculate positions Buy and Sell |//+------------------------------------------------------------------+void CalculatePositions(int &count_buys,int &count_sells,double &profit)
{
count_buys=0;
count_sells=0;
profit=0.0;for(int i=PositionsTotal()-1;i>=0;i--)
if(m_position.SelectByIndex(i)) // selects the position by index for further access to its propertiesif(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
{
profit+=m_position.Commission()+m_position.Swap()+m_position.Profit();if(m_position.PositionType()==POSITION_TYPE_BUY)
count_buys++;
if(m_position.PositionType()==POSITION_TYPE_SELL)
count_sells++;
}
//---return;
}
Après la traversée de toutes les positions pour ce symbole et Magic, la variable deprofit montrera le profit total.
J'envoie une demande comme celle-ci pour placer une demande en attente. Mais il n'expire pas à la fin de la journée de négociation. J'ai essayéORDER_TIME_SPECIFIED_DAY mais cela ne fonctionne pas non plus. Quel est le problème ?
La fonction TrendLineVisible - de la classe standard CCurve - s'agit-il d'une ligne de régression ?
Comment faire pour que cette ligne apparaisse complètement sur le graphique, au lieu d'être coupée ?
pourquoi est-il dit ici que ... ne doit être sélectionnée que par la méthode Select ou SelectByIndex,
si la méthode SelectByTicket fonctionne aussi ?
Aidez-moi avec la fonction ArrayPrint - Je veux obtenir les 100 derniers éléments d'un tableau, puis les 100 premiers et les 100 derniers.
Calc_XY - le nombre d'éléments dans le tableau.
comment obtenir le ticket d'une transaction qui vient d'être ouverte ?
Si vous utilisez la classe CTrade et la fonction Buy().
Dans mt4, la fonction OrderSend() donne immédiatement un ticket.
Existe-t-il une fonction qui donne un ticket pour une position par l'index de la position ?
ou faut-il d'abord sélectionner une position (select) ?
comment obtenir le ticket d'une transaction qui vient d'être ouverte ?
Si vous utilisez la classe CTrade et la fonction Buy().
Dans mt4, la fonction OrderSend() donne immédiatement un ticket.
Existe-t-il une fonction qui donne un ticket pour une position par l'index de la position ?
ou faut-il d'abord sélectionner une position (select) ?
Dans OnTradeTransaction avec le type de transaction trans.type == TRADE_TRANSACTION_DEAL_ADD vous trouvez un ticket dans la structure trans.position
Désolé, j'ai oublié de mentionner que le type de compte est hedge.
Vous devez suivre de toute urgence et sans faute un cours d'éradication de l'analphabétisme. Dans mql5, ainsi que dans mql4, avant de travailler avec une position (dans mql4, un ordre), vous devez sélectionner la position. Contrairement à mql4, dans mql5 je me souviens de trois fonctions pour sélectionner une position. La documentation en donne une bonne description. Le chemin... Ne le prenez pas mal.
Désolé, j'ai oublié de préciser le type de couverture du compte.
Précédent CodeCandle Breakdown 3, fonction CalculatePositions, bénéfice total
Après la traversée de toutes les positions pour ce symbole et Magic, la variable deprofit montrera le profit total.
Précédent CodeCandle Breakdown 3, fonction CalculatePositions, bénéfice total
Après le parcours de toutes les positions pour un symbole et un Magic donnés, la variable deprofit indiquera le profit total.
Merci Vladimir.