Comment puis-je clôturer tous les ordres avec un profit total en pips ? - page 2

 
khasan kayumov:

Comment calculez-vous le bénéfice en points ?

Avant de supprimer

                    for(pos = 0; pos < 100500; pos++) 
                    {
                        if(OrderSelect(pos, SELECT_BY_POS))
                        if(OrderType() == OP_BUY)
                        {
                            buy_profit_USD = buy_profit_USD + OrderProfit() + OrderSwap() + OrderCommission();

                            buy_profit_Point = buy_profit_Point+ ((Bid - OrderOpenPrice()) / Point);

                                
                        }
                    }

 
Evgeny Belyaev:

Ah, oui ?

Je passe une commande et elle est rejetée par le serveur, j'obtiens l'erreur 130.

Que dois-je faire ? Il n'y a pas de position, il n'y a rien à fermer. Je ne peux que supprimer. Que dois-je faire ou je fais quelque chose de mal ?

Tu veux vraiment que je te réponde ?
 
Dmitry Fedoseev:
Tu veux vraiment que je te réponde ?

Non, je ne veux pas que le sujet se transforme en rafale.

 
Evgeny Belyaev:

Non, je ne veux pas que le sujet dévie sur la gaffe.


Alors ne le gonfle pas.

 
Evgeny Belyaev:

Je négocie sur le marché, pas sur MT, MT est juste une application, qui ne définit pas correctement le nom des fonctions. Position - achat, set, défenseur, attaquant...

Ordre - ordre à placer, achat, vente, défenseur, attaquant, milieu de terrain...

Deal...


Nous sommes maintenant sur le forum de MT4. Et la question porte spécifiquement sur le MQL4. Il est donc tout à fait approprié d'utiliser ici la terminologie introduite dans MT4 et MQL4. Après tout, même les fonctions de la comptabilité qui sont appelées trades (positions constitutives) commencent par le mot "Order" : OrderSend(), OrderClose(), OrderModify().

 
Ihor Herasko:

Après tout, même les fonctions comptabilisant ce que l'on appelle les transactions (positions constitutives) sur la bourse commencent par le mot "ordre" : OrderSend(), OrderClose(), OrderModify().

Les fonctions sont sans doute appelées ainsi, mais dans MT4, le nom des fonctions n'est pas correct. Le terminal est obsolète, les noms ne sont donc pas corrects.

Eh bien, comment pouvons-nous nous comprendre ?

Nous parlons de la même chose. Si vous l'appelez un ordre d'achat, je l'appellerai une position.

Comment nous comprenons-nous ?

 
Evgeny Belyaev:

Les fonctions sont sans aucun doute appelées ainsi, mais dans MT4, les noms des fonctions ne sont pas tout à fait corrects. Le terminal est obsolète, c'est pourquoi les noms ne sont pas corrects.

Comment pouvons-nous nous comprendre ?

Nous parlons de la même chose. Si vous l'appelez un ordre d'achat, je l'appellerai une position.

Comment nous comprenons-nous ?


J'ai l'habitude d'utiliser la terminologie du terminal. C'est peut-être faux, mais cela m'aide à lire la documentation. Dans MT4 : ordres au marché et ordres en attente. Dans MT5 : trades, positions et ordres. Sur d'autres plateformes : transactions, positions, opérations, ordres.

 
Mikhail Sergeev:

                    for(pos = 0; pos < 100500; pos++) 
                    {
                        if(OrderSelect(pos, SELECT_BY_POS))
                        if(OrderType() == OP_BUY)
                        {
                            buy_profit_USD = buy_profit_USD + OrderProfit() + OrderSwap() + OrderCommission();

                            buy_profit_Point = buy_profit_Point+ ((Bid - OrderOpenPrice()) / Point);

                                
                        }
                    }

Pourquoi le nombre 100500 et pas OrdersTotal()?

 
khasan kayumov:

Comment calculez-vous le bénéfice en pips ?

Avant de supprimer

//+------------------------------------------------------------------+
void OnStart()
  {
  double p;
   int i,pr=0;

   for(i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
        p=MarketInfo(OrderSymbol(), MODE_POINT);
         if(OrderType()==OP_BUY)
           {
            pr+=int((MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/p);
           }
         if(OrderType()==OP_SELL)
           {
            pr+=int((OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/p);
           }
        }
     }   
   Alert( "суммарный профит открытых позиций в пунктах = ",pr); 
  }
//+------------------------------------------------------------------+

C'est comme ça.

 
Ihor Herasko:

J'ai l'habitude d'utiliser la terminologie en fonction du terminal. C'est peut-être faux, mais cela aide beaucoup à la lecture de la documentation. Dans MT4 : ordres au marché et ordres en attente. Dans MT5 : trades, positions, ordres. Sur d'autres plateformes : transactions, positions, opérations, ordres.


Et si je ne donnais aucun indice sur le terminal ? La terminologie doit être multiplateforme. Il n'y aura aucun problème de compréhension de l'information.

Je comprends votre point de vue, je le tolère, il est justifié par les noms des fonctions.

Si vous avez rencontré 5 traders, l'un d'entre eux utilise Quickquick, un autre utilise MT4, le troisième utilise 5-Rouble, le quatrième négocie via ninja, et le dernier utilise le terminal web.

Comment atteindre un dénominateur commun et comment déterminer ce qui est une position et ce qui est un ordre ?

Raison: