Fermeture de postes. Signal lumineux de marche. - page 4

 
Merci. Je vais essayer...
 
granit77:
Si l'on en croit Komposter et Vinin, alors à la place :
for (int v=0 ; v<OrdersTotal() ; v++)

écrire :
for (int v=OrdersTotal()-1 ; v>0 ; v--)

Ça marche pour moi.
Erreur ;) Cela fermera toutes les commandes sauf la première.
C'est la variante correcte :
for ( int z = OrdersTotal() - 1; z >= 0; z -- )
{
 
}
 

Je vais y aller et jeter un coup d'oeil.

granit77 et Vinin ! Est-ce que cela fonctionne pour vous et ferme tous les postes ouverts? J'ai cette pièce pour une raison quelconque.

то вместо:
for (int v=0; v<OrdersTotal(); v++) 
 
написать:
for (int v=OrdersTotal()-1; v>0; v--)
A commencé à fermer la dernière position ouverte au lieu de la plus ancienne. Mais tous les autres continuent à avancer...
 
komposter:
granit77:
Si l'on en croit Komposter et Vinin, au contraire :
for (int v=0 ; v<OrdersTotal() ; v++)

écrire :
for (int v=OrdersTotal()-1 ; v>0 ; v--)

Ça marche pour moi.
Erreur ;) Cela fermera toutes les commandes sauf la première.
C'est la variante correcte :
for ( int z = OrdersTotal() - 1; z >= 0; z -- )
{
 
}


Merci ! Je vais maintenant essayer votre recommandation !
 

Le résultat est toujours le même ! Avec la dernière option, seule la dernière position ouverte est fermée !

Essayons de le découvrir !

int z = OrdersTotal() - 1

-Ici, "z" est égal au nombre total d'ordres ouverts moins un ! En même temps, nous fixons z >=0.

Apparemment, z-- signifie probablement que nous (OrderSelect) recherchons dans les ordres ouverts en commençant par le plus récent ?

Et il est clair que la dernière commande sera fermée. Puisqu'il a été le premier à "entrer dans la distribution". Mais à ce moment-là, l'exécution de la clôture des autres ordres s'arrête ! Et cet algorithme attend le prochain signal de l'indicateur pour se fermer. Je pense que quelque chose devrait être ajouté ici. Je ne sais pas quoi ajouter....

Et pourquoi - z = OrdersTotal() - 1 ; ?

 
rid:

Le résultat est toujours le même ! Avec la dernière option, seule la dernière position ouverte est fermée !

Maintenant, supprimez le retour après OrderClose, et observez le résultat ;)
 
rid:

Pourquoi, en fait - z = OrdersTotal() - 1 ; ?

Comme le nombre de commandes est OrdersTotal(), la 1ère commande a l'indice 0, et la dernière, par conséquent, OrdersTotal()-1.
Apprenez les bases ;)
 
rid:

Le résultat est toujours le même ! Avec la dernière option, seule la dernière position ouverte est fermée !

Essayons de le découvrir !

C'est même bon pour le cerveau et pour l'expérience.

Tous les vélos et les motos ont déjà été (barrés) inventés avant nous - mettez toutes les commandes dans votre propre tableau (peut-être plus d'un) et faites les manipulations que vous voulez avec. le trier selon n'importe quel critère, ou le supprimer (le ticket est votre ami), ou le modifier (il est facile de faire des modifications de stoploss/ takeprofits, ou de créer de nouveaux ordres.

ps (une dernière chose). si vous décidez de prendre votre création au sérieux, n'oubliez pas qu'à tout moment (milliseconde) la connexion avec votre société de courtage peut se couper. La solution idéale est de permettre au conseiller expert de voir la nécessité de fermer certains ordres (dans ce cas) après un arrêt/activation d'urgence.

Cependant, la plupart des "grails" vendus publiquement sous forme de P.C. - sont pareillement des jouets...

 
Shu:

Toutefois, si vous souhaitez mettre en œuvre des algorithmes plus complexes et vous débarrasser des migraines, restez simple.
...
Mettez tous les ordres dans votre tableau (peut-être plus d'un) et faites toutes les manipulations sur ce tableau que vous désirez.

Puis-je demander pourquoi ? ;)
Bien sûr, s'il y a une logique compliquée ou plusieurs algorithmes en un, vous pouvez vous en préoccuper, mais pour un simple conseiller expert inversé, pourquoi ?
 
komposter:
Shu:

Toutefois, si vous souhaitez mettre en œuvre des algorithmes plus complexes et vous débarrasser des migraines, restez simple.
...
Mettez tous les ordres dans votre tableau (peut-être, pas seulement un) et utilisez-le pour faire toutes les manipulations que vous voulez.

Puis-je demander pourquoi ? ;)
C'est compréhensible, s'il y a une logique compliquée ou plusieurs algorithmes en un, on peut s'en préoccuper, mais pour un simple expert en flipping, pourquoi ?


C'est exact - pour une logique complexe. Cependant, une fois qu'il avait goûté au miel, Winnie ne pouvait pas l'oublier. :-)

S'il y a plus d'une commande, je l'utilise presque toujours. :-)