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

 
khorosh:

Il semble que si des objets graphiques sont créés dans une EA, l'optimisation de cette EA n'est pas du tout possible. Mais je ne peux pas en être sûr. En tout cas, mon conseiller expert qui utilise les lignes de tendance n'est pas optimisé. Je ne peux rien dire sur les étiquettes, j'ai besoin du code entier.

Celle-ci aussi n'était pas optimisée lorsque les données sont extraites d'un objet graphique, je veux dire des flèches apparaissant dans toutes les variantes...
 
BeerGod:

Il y a une fonction pour fermer tous les ordres, elle ferme à partir de la dernière ouverture, s'il vous plaît conseiller comment le refaire afin qu'il commence à fermer à partir de la première ouverture et se termine avec la dernière.


Changez le cycle en marche arrière !

for(int i=total-1;i>=0;i--)
//на:
for(int i=0;i<total;i++)
 
BeerGod:

Il y a une fonction pour fermer tous les ordres, elle ferme à partir de la dernière ouverture, veuillez me conseiller comment la refaire pour qu'elle commence à fermer à partir de la première ouverture et se termine avec la dernière.


En avez-vous vraiment besoin ? Avez-vous lu mon message ici?
 
borilunad:

Inversez le cycle !


Je pensais aussi que c'était facile au début, mais dans ce cas, il ne ferme pas les nombres pairs, il ne ferme que les nombres impairs. Je me suis déjà creusé les méninges.


 
khorosh:
Et vous en avez besoin. Avez-vous lu mon message ici?


Bien sûr que je l'ai lu, c'est le but, il ne s'agit pas de fermer d'abord les commandes déficitaires ou rentables, il s'agit de les fermer dans la même séquence que les commandes ont été ouvertes, alors il y aura moins de poussées ou de creux dans le solde lors de la fixation des capitaux propres.
 
BeerGod:

Bien sûr que je l'ai lu, c'est le but, il ne s'agit pas de fermer les ordres rentables ou déficitaires en premier, il s'agit de les fermer dans la même séquence que les ordres ont été ouverts, alors l'équilibre sera moins de poussées ou de creux lors de la fixation de l'équité.
Les baisses de solde ne sont pas du tout importantes, seules les baisses d'équité le sont. Le solde peut même être négatif tant que les fonds propres sont élevés.
 
khorosh:
Les échecs d'équilibre n'ont pas d'importance, seuls les échecs d'équité en ont. Le solde peut même être négatif tant que les fonds propres sont élevés.


Tout cela est très bien, c'est juste un intérêt académique, pourquoi la boucle en sens inverse ne fonctionne pas correctement ?
 
khorosh:

Je suis sûr que 1. Il n'est pas possible de juger de manière fiable de l'ouverture d'une position, ne serait-ce que parce que l'auteur n'a pas fourni le code d'ouverture d'une position. Et là où vous avez vu zéro, c'est la valeur initiale de la variable. Il est trop tôt pour enseigner à qui que ce soit.
Si je ne me trompe pas, il ne s'agit pas d'une valeur initiale de la variable, mais de la mise à zéro de cette variable.
Bien que vous auriez pu le décrire comme vous l'avez fait (la valeur de la variable au moment où vous commencez à travailler avec cette variable, c'est-à-dire "0").
Merci de m'avoir "ouvert les yeux" (une phraséologie).

Vous avez raison comme toujours, cher Yuri. Ce n'est pas moi qui ai besoin d'enseigner à quelqu'un, mais moi qui ai besoin d'enseigner à quelqu'un. :)
 
BeerGod:

Tout ceci est très bien, juste un intérêt académique, pourquoi la boucle en sens inverse ne fonctionne pas correctement ?

Lorsque vous parcourez les ordres à partir de 0, puis lorsque vous les fermez, leur numérotation change (le 1er devient zéro, le 2ème devient premier, etc.), mais la variable portant le numéro de l'ordre en cours de fermeture augmente également de un. Ainsi, la commande suivante est sautée lors de la fermeture.
 
Contender:

Lorsque vous parcourez les ordres à partir de 0, leur numérotation change lorsqu'ils sont fermés (le 1er devient nul, le 2e devient premier, etc.), mais la variable portant le numéro de l'ordre fermé est également incrémentée de un. Ainsi, la commande suivante est ignorée lors de sa fermeture.

Pouvons-nous trouver la manière correcte de clôturer l'ordre en partant de zéro ? Si vous pouvez nous donner une ligne de code s'il vous plaît.
Raison: