COMMANDE_POSITION_ID - page 19

 

Problème résolu, relations réglées :)

J'ai une question connexe :

Il est très peu pratique de sélectionner un ordre par ticket pour voir ses propriétés, car peu importe où se trouve l'ordre dans l'historique ou sur le marché, et le ticket ne change pas.

Nous devons donc chercher l'ordre à la fois ici et là-bas.

Ne serait-il pas plus simple de faire comme dans MT4 : si on sélectionne un ordre, l'endroit où il se trouve n'a pas d'importance.

Si vous sélectionnez un ordre, l'endroit où il se trouve n'a pas d'importance :

OrderSelect

Nous sélectionnons un ordre pour continuer à travailler avec lui.

boolOrderSelect(
intindex,// index ou ticket de la commande
intselect,// drapeau de la méthode de sélection
intpool=MODE_TRADES// source de données pour la sélection
) ;

Le paramètre pool est ignoré si la commande est sélectionnée par le numéro de ticket. Le numéro de billet est l'identifiant unique de la commande.

Qu'en pensez-vous ?

P.S. J'espère que cela ne dérange pas Michael de continuer une branche pour ne pas multiplier le nombre de nouvelles.

 

Serj_Che:

Qui le pense ?

Ce serait... serait bien... une autre chose est que le développeur a introduit un système plus complexe pour traiter les différents caches (positions, ordres normaux et historiques, transactions)... d'où les avantages et les inconvénients...

Integer, je vous tire mon chapeau et j'envie votre patience :-))

 
Serj_Che:

Problème résolu, relations réglées :)

J'ai une question connexe :

Il est très peu pratique de sélectionner un ordre par ticket pour voir ses propriétés, car peu importe où se trouve l'ordre dans l'historique ou sur le marché, et le ticket ne change pas.

Nous devons donc chercher l'ordre à la fois ici et là-bas.

Ne serait-il pas plus simple de faire comme dans MT4 : si on sélectionne un ordre, l'endroit où il se trouve n'a pas d'importance.

Je l'ai lu dans l'aide MT4 :

Qu'en pensez-vous ?

P.S. J'espère que Michael ne voit pas d'inconvénient à ce que je poursuive ce fil, afin de ne pas en recevoir de nouveaux ?

Non, pas du tout contre :)

Sur la question de OrderSelect :

if ( OrderSelect( ticket) )
{
 //Ордер действующий(в истории его нет)
}
else
{
  //Ордер в истории
}

Je ne pense pas que ce soit très difficile.....

 
Mikalas:

Non, pas du tout :)

Au sujet de OrderSelect :

Je ne pense pas que ce soit très difficile.....

Vous pouvez certainement le contourner, mais pourquoi ce mouvement supplémentaire, puisqu'il est également suivi de différents OrderGet... et HistoryOrderGet...
 

Je ne comprends vraiment pas pourquoi pendant vingt pages le topicstarter se bat contre des moulins à vent et s'entête à vouloir gérer ses robots par le contrôle et l'analyse de la position nette de FORTS, alors qu'en principe ce n'est pas possible, au moins à cause de la présence de procédures de compensation, et du transfert des positions nettes. Contrairement au FOREX, le trading du FORTS implique une procédure de compensation. La compensation est la procédure qui consiste à recalculer les engagements des participants au marché, à calculer leurs résultats financiers pour la dernière session de négociation et à rassembler leurs transactions en une seule position nette, qui sera ouverte après la fin de la session de compensation.

Pour comprendre comment cela se passe dans la réalité, imaginez que nous avons deux robots, dont chacun a effectué une transaction complète (en termes de MT4, y compris l'entrée et la sortie du marché) :

Robot 1: Vente à découvert de 1 contrat à 1000 au 28.02.2014 20:30. Exit la position courte à 23:30 à 700 et prise de profit +300 pips (1000 - 700 = 300).

Robot 2: Achetez 1 contrat à 700 au 28.02.2014 23:30. Sortir d'une position longue le 01.03.2014 à 23:00 au prix de 1050 et prise de bénéfices +350 points (1050 - 700 = 350).

En termes de calculs classiques du FOREX, ce sera simple. Initialement, il y aura une position de vente dans le volume 1 du 28.02.2014 20:30 au 28.02.2014 23:30. Cette position appartiendra au robot 1. Il la fermera ensuite à 23h30. Au même moment, le robot n°2 ouvrira une position d'achat opposée au volume 1. Il existera du 28.02.2014 23:30 au 01.03.2014 23:00, jusqu'à ce que le Robot #2 ferme l'ordre de vente. Visuellement, ces positions sont représentées par les lignes pointillées orange sur le graphique ci-dessous. Comme chaque ordre déclenché possède l'identifiant de la position à laquelle il appartient et l'identifiant du Conseiller Expert, nous pouvons comparer les ordres qui ont été placés par les Conseillers Experts avec les positions nettes et conclure que les positions appartiennent aux Conseillers Experts correspondants. Mais dans FORTS, les positions sont appariées à partir des transactions exécutées et transférées par compensation. Il sera plus compréhensible de le montrer sur un graphique conditionnel :

Au lieu de calculer le résultat de l'ensemble de vos positions au moment de la première compensation, votre courtier calculera le résultat des transactions individuelles (trades). Il se calcule comme suit :

Prix de compensation quotidien 01.03.2014 : 950

Prix de vente dans le volume 1 : 1000 ; le résultat de la transaction : 1000 - 950 = 50 pips.

Prix du trade d'achat dans le volume 1 : 700 ; Résultat du trade : 950 - 700 = 250 pips.

Prix de la transaction Acheter dans le volume 1 : 700 ; résultat de la transaction 950 - 700 = 250 pips.

Résultat total du trade : 50 + 250 + 250 = 550 pips.

Le résultat en pips sera converti en résultat financier en roubles et crédité sur votre compte (en cas de compensation quotidienne, seul le calcul estimé sera effectué et il sera ajouté à la colonne "profit gagné").

Il est intéressant de noter que dans un calcul classique, le résultat total au moment de la compensation sera similaire :

J'ai vendu 1 contrat à 1000 et j'ai clôturé la vente à 700. Résultat = 100 - 700 = 300 points.

Achetez 1 contrat à 700 et fermez l'achat à la compensation 950. Résultat = 950 - 700 = 250 pips.

Total des deux positions = 300 + 250 = 550 pips.

Au moment de la compensation, une nouvelle position nette sera générée à partir de vos transactions, avec un nouvel identifiant et de nouveaux paramètres. Cette position nette sera disponible pour votre travail à partir de l'ouverture du marché après la compensation. Cette position nette durera jusqu'à la prochaine compensation. Il sera ensuite liquidé et un poste similaire sera créé à sa place, mais avec un identifiant différent. Avant qu'elle ne soit liquidée, la marge de variation accumulée sur cette position sera créditée sur votre compte. Cependant, le résultat total de toutes les positions nettes initiées par la compensation et de toutes les transactions réalisées sera exactement égal au résultat obtenu lors du calcul classique des positions sur le FOREX.

Tôt ou tard, le second robot effectuera une transaction de vente pour conclure avec le volume opposé son achat. Cette transaction fera partie d'une position nette, mais il s'agira d'une position complètement différente et non de celle à laquelle appartenait l'ordre d'achat. Puisque les positions sont différentes, avec des identifiants différents, à travers ces positions nous ne pourrons pas connecter deux ordres EA (ouverture et fermeture) et ainsi obtenir les positions classiques, telles que celles marquées par des lignes pointillées orange dans la figure ci-dessus.

Le topicstarter s'entête à vouloir travailler avec des positions nettes FORTS (lignes noires dans l'image) comme cela se fait dans le FOREX (lignes pointillées orange dans l'image). Cependant, visuellement, il est clair qu'il s'agit de positions très différentes, et que leur calcul est très différent.

En réalité, le tableau est encore plus complexe, car il y a des taux de conversion, des dizaines de transactions avec des prix d'exécution différents appartenant au même ordre, la facturation de commissions sur les transactions scalper et les positions nettes et d'autres réalités du travail sur FORTS.

 

C-4, vous vous trompez, relisez la référence de la position.

 
Dommage que j'ai fermé mon compte avec mon courtier. Est-ce que quelqu'un a un historique de transactions qui montre clairement comment se déroule la compensation ?
 
barabashkakvn:
Dommage que j'ai fermé mon compte avec mon courtier. Peut-être que quelqu'un a un historique des transactions pour voir clairement comment se déroule la compensation ?
Ouvrez un compte de démonstration chez BCS ou Otkritie.
 
Mikalas:
Ouvrez un compte de démonstration chez BCS ou Otkritie.
J'ai déjà fait l'expérience d'un compte de démonstration de courtier. C'est n'importe quoi. Ce n'est pas un environnement de combat. Défauts éternels. Seulement réel. Et il n'y a pas de tels animaux dans ma région ("BCS ou Otkritie") :)
 
barabashkakvn:
J'ai déjà fait l'expérience du compte de démonstration du courtier. C'est n'importe quoi. Ce n'est pas un environnement de combat. Il est toujours sous-performant. Seulement réel. Et il n'y a pas de tels animaux dans ma région ("BCS ou Otkritie") :)
Vous avez Internet, non ? Sur Internet, c'est le cas :)