Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 430

 

Trader7777:

evillive:

Si vous changez l'ordre, ce sera de l'ancien au nouveau. Mais entre-temps, du nouveau à l'ancien, et même à travers un seul, cela peut arriver.


si vous faites for (int i = OrdersTotal()-1 ; i>0 ; i--) il se fermera du nouveau à l'ancien !

Trader7777:

Je ne comprends pas, si vous êtes trop paresseux pour me dire ce qui ne va pas, pourquoi m'imposez-vous une fonction dont je n'ai pas besoin selon mon TS ?

Si une commande portant le numéro OrdersTotal() -1 est la plus récente pour vous et que la commande portant le numéro 0 est la plus ancienne, je n'ai rien de plus à dire. Lorsque les yeux d'une personne sont fermés, ils ne s'ouvrent que de leur propre volonté, personne ne peut les forcer.

for (int i =0; i<OrdersTotal();i++) //i++ кто будет писать, Пушкин? Зачем сочинять химеру FOR + WHILE???

Au fait, quelle fonction vous ai-je "imposée" par inadvertance ?

 
Eh bien, la chimère n'est pas cruciale, en général cela devrait fonctionner, j'ai seulement une question sur le compte, il est incrémenté aux baies et aux ventes, mais il y a un contrôle de la quantité qui y est lié.
 
splxgf:

Pourquoi k et n sont-ils comparés au nombre total de commandes fermées ?

Lenombre de commandes ne sera compté que pour les commandes du type otype :
Eh bien cette chimère n'est pas cruciale, en général ça devrait fonctionner, j'ai seulement une question sur le compte, il est incrémenté pendant les bays et les ventes, mais il y a un contrôle sur la quantité qui lui est liée.

Le paramètre otype est passé à la fonction, et pour cet appel particulier, le comptage ne sera effectué que pour les ordres de otype.

 
Mr.Profit:

Le paramètre otype est passé à la fonction, et pour cet appel particulier, le comptage ne sera effectué que pour les ordres de otype.


La fonction peut être comprimée plusieurs fois. Nous l'avons déjà mis en œuvre sur notre site et nous l'avons déjà enregistré sur notre site. (pour de vrai, nous avons besoin d'une fonction séparée pour fermer les ordres avec des RefreshRates et d'autres choses).

double n = NormalizeDouble (CTbuy/2,1);

if (count<n) 

Par exemple, quatre ordres CTbuy seront ouverts, divisés par deux, ils seront deux. La condition de comparaison n'en fermera qu'une seule.

P.S. Bien que, non, je ne le suis pas. mais la question de ce que nous n'aimons pas reste ouverte.

 
splxgf:

mais la question de ce que vous n'aimez pas reste ouverte.


Même mon option sur la page précédente?
 

Les amis, pourquoi s'embêter avec le problème de la suppression d'une partie de la grille :

Mettez en tableau les valeurs des tickets dans la première recherche sans les supprimer, puis parcourez le tableau et supprimez tout par ticket - et rien ne sautera nulle part et le bon ordre sera là.

 
Mr.Profit:

Même ma version sur la page précédente?

void CloseHalfOrders(int otype) {
  if (otype!=OP_BUY || otype!=OP_SELL) return;
  int count = CountTrades(otype)/2; 
  for (int i =0; i<OrdersTotal();i++) 
    if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES))
       if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic && OrderType() == otype){
         if (otype == OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,0,Lime); 
            else OrderClose(OrderTicket(),OrderLots(),Ask,0,Lime);
         count--; i--;
         if (count<1) return;
         Sleep(1000);
       }
}
Vous pouvez optimiser à l'infini.
 
splxgf:

L'optimisation peut prendre une éternité.

if (otype!=OP_BUY ||&& otype!=OP_SELL) return;
;-)
 

Bon après-midi. Je suis un débutant. Quelque chose d'étrange est arrivé à mon compte. Veuillez m'aider en me donnant des conseils.

Le stop loss ne s'est pas déclenché dans la démo. La perte sur le set SL devrait être d'environ 50, mais en fait, elle a été de 158. Comment cela est-il arrivé ?

 
moloko:

Bon après-midi. Je suis un débutant. Quelque chose d'étrange est arrivé à mon compte. Veuillez m'aider en me donnant des conseils.

Le stop loss ne s'est pas déclenché dans la démo. La perte sur le set SL devrait être d'environ 50, mais en fait, elle a été de 158. Comment cela est-il arrivé ?

C'est bien que ce soit une démo, mais c'est plutôt une question pour la société de courtage, c'est plutôt un forum de codage.