apprenez comment gagner de l'argent avec les villageois [Episode 2] ! - page 275

 

artmedia70:
Il est conseillé de fermer d'abord ceux qui sont perdants, puis ceux qui sont rentables. Sinon, vous risquez de vous retrouver en panne. Ouais. Exactement. Il couvre par les moyens, pas par l'équilibre.

-----------------------------------------------------------------------------------------------------------------------------------------------

AccountEquity()=AccountBalance()+AccountProfit();

La somme ne change pas parce que nous transférons un peu d'argent de la deuxième somme à la première somme.

Mais il est judicieux de clôturer d'abord les positions avec des lots plus importants, car les pertes seront moindres en cas de retournement soudain des prix qui ne nous est pas favorable (lors de la clôture d'un grand nombre d'ordres). Il est également utile de commencer le processus de fermeture des positions superposées.

 
khorosh:

Il est également utile de commencer le processus de fermeture en fermant les positions qui se chevauchent.


Les positions qui se chevauchent peuvent être fermées en dernier, car rien ne changera pour elles de toute façon.
 
Contender:

Ceux qui se chevauchent, en revanche, peuvent être les derniers à être fermés, rien ne changera pour eux de toute façon.
C'est trop compliqué. Nous devons d'abord déterminer le ticket des ordres superposés pour les laisser pour plus tard. Et seulement alors, nous devrions commencer à fermer d'autres commandes. De plus, il est possible que certains de ces ordres bloqués sélectionnés ne couvrent que partiellement, nous devons donc calculer quelle partie doit être fermée au début et quelle partie pendant la fermeture des ordres bloqués. C'est un foutu bordel en général. Il est plus facile de fermer d'un coup ceux qui se chevauchent, puis tous les autres. Mais si vous aimez faire tout le mieux possible, alors je vous en prie). Personnellement, je n'aime pas trop compliquer le code, si cela n'a pas d'effet significatif.
 
khorosh:
C'est trop compliqué. Nous devrions alors d'abord identifier les tickers des ordres qui se chevauchent afin de les laisser pour plus tard. Et seulement alors, nous devrions commencer à fermer d'autres commandes. De plus, certains de ces ordres bloqués sélectionnés peuvent ne couvrir que partiellement, nous devons donc calculer quelle partie doit être fermée au début et quelle partie pendant la fermeture des ordres bloqués. C'est un foutu bordel en général. Il est plus facile de fermer d'un coup ceux qui se chevauchent, puis tous les autres. Mais si vous aimez tout faire du mieux possible, alors vous êtes le bienvenu). Personnellement, je n'aime pas trop compliquer le code, si cela n'a pas d'effet significatif.


En général, les chevauchements doivent être fermés dès qu'ils apparaissent. Alors il n'y aura pas de problème du tout.
 
Contender:

En général, ceux qui se chevauchent doivent être fermés dès qu'ils apparaissent. Alors il n'y aura pas de problème du tout.
Je suis d'accord, mais si l'auteur ne le veut pas. Comme on dit, le libre arbitre. Le stop suiveur est peut-être utilisé parce qu'il peut se produire lorsque la tendance évolue latéralement et que les deux ordres de blocage sont fermés avec succès et avec profit.
 

Merci à tous ceux qui ont aidé à améliorer la fermeture, le graphique est plus beau)

Fermer les ordres dans l'ordre où ils ont été ouverts.

//+------------------------------------------------------------------+
//|                 Закрыть все ордера                               |
//+------------------------------------------------------------------+


double ClossAllOrders ()

{
  for(int i=0; i<OrdersTotal(); )
  {
    if ( !OrderSelect(i, SELECT_BY_POS) )
      break;
    
    int type   = OrderType();

    bool result = false;
    
    switch(type)
    {
      //Close opened long positions
      case OP_BUY       : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 3, Lime );
                          break;
      
      //Close opened short positions
      case OP_SELL      : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 3, Lime );
                          break;

      //Close pending orders
      case OP_BUYLIMIT  :
      case OP_BUYSTOP   :
      case OP_SELLLIMIT :
      case OP_SELLSTOP  : result = OrderDelete( OrderTicket() );
    }
    
    if(result == false)
    {
      Print("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );
      i++;
      Sleep(500);
    }  
  }
}

// End
 
BeerGod:

Merci à tous ceux qui ont aidé à améliorer la fermeture, le graphique est plus beau)

Fermer les ordres dans l'ordre où ils ont été ouverts.

Je tiens à remercier tous ceux qui m'ont aidé à améliorer le tableau. Pour les investisseurs qui ne comprennent pas, au contraire, PAMM montrent des pics vers le haut, comme si ce n'était pas un échec du dépôt, mais au contraire, des pics vers le haut.

 
khorosh:

Ce qui le rend plus beau, c'est qu'avant les pics étaient en haut, maintenant ils sont en bas. Pour les investisseurs qui ne comprennent pas le PAMM, au contraire, il y a des images avec des pics vers le haut, comme si ce n'était pas des échecs du dépôt, mais au contraire, des sauts vers le haut.


Eh bien, les baisses après les pics ascendants peuvent être perçues comme une série de pertes, mais d'abord à la baisse puis à la hausse en quelques secondes pendant la fermeture de la grille, comme tout est vite remboursé et avec un bénéfice).
 
BeerGod:

Les baisses après les hausses peuvent être perçues comme une série de pertes, mais la première baisse et la deuxième hausse en quelques secondes, alors que le filet se referme, est si rapide que tout est battu et que l'on fait des bénéfices.)

C'est des conneries.

 
khorosh:

C'est des conneries.


C'est peut-être une connerie, mais le même score est affiché différemment. Il faut donc trouver un moyen d'améliorer le tableau de manière équitable, au détriment des algorithmes.



Bonne année ! !!