[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 805

 
Bonjour ! Aidez-nous ! Il existe une fonction qui renvoie à chaque tick la valeur OrderCloseTime de la dernière position fermée! Comment puis-je faire correspondre cette valeur avec la valeur précédente de OrderCloseTime, et si elle est supérieure - faire un suivi. Merci d'avance !
 
dimon74:
Bonjour ! Aidez-nous ! Il existe une fonction qui renvoie à chaque tick la valeur OrderCloseTime de la dernière position fermée ! Comment puis-je faire correspondre cette valeur avec la valeur précédente de OrderCloseTime, et si elle est supérieure, faire un suivi. Merci d'avance !
Qu'entendez-vous par "précédent" ? Voulez-vous comparer l'heure la plus tardive avec l'heure la plus précoce ? Il est évident que le plus récent sera toujours plus grand que le plus ancien !
 
Techno:
Que voulez-vous dire par "plus tôt" ? Voulez-vous comparer un moment ultérieur avec un moment antérieur ? Évidemment, le plus récent sera toujours plus grand que le plus ancien !
Oui. Mais comment puis-je faire un suivi sur la base de cette comparaison ?
 
dimon74:
Oui. Mais comment puis-je faire un suivi sur la base de cette comparaison ?
Vous rendez-vous compte que la condition (si hier est le passé et aujourd'hui le présent) n'a pas de sens ? puisque la même chose reviendra toujours.
 
PapaYozh:

C'est difficile de dire ce que vous avez là. Personnellement, je ne vois pas que "La position d'achat s'est fermée de façon inattendue au niveau TakeProfit d'une position de vente déjà fermée". La position de Sell sous laquelle la flèche est dessinée ne semble pas contenir de tirets.

Vous n'utilisez pas OrderCloseBy() dans votre code ?

C'est étrange que vous ne puissiez pas le voir. Ok - J'ai corrigé l'image :


1 - c'est la position avec le ticket 88

2 - SellStop en attente avec le ticket 89

3 et 4 sont des positions de vente

3.t et 4.t - ce sont des lignes qui indiquent les niveaux de Takei des positions Sell 3 et 4 déjà fermées

3.1 et 4.1 - points de fermeture des positions 3 et 4, et position Sell 3 fermée avec une perte

1.1 - c'est le point de fermeture de la position d'achat avec Ticket 88 - il y a une ligne verticale turquoise et une ligne horizontale de niveau de prix Bid,
qui croise juste la ligne rouge 3.t - le point où Take a été fermé la position Sell 3...

Je n'utilise pas OrderCloseBy(), bien que j'aie initialement pensé...

L'idée est la suivante : lorsqu'une série de positions perdantes est fermée, la possibilité d'ouvrir une nouvelle position est vérifiée, et s'il reste une certaine somme d'argent,
, le stop est supprimé de la dernière position perdante (on peut le voir sur l'image - la ligne bleue sous la position d'achat), et un ordre en attente est placé.
Lorsqu'une transaction en attente est convertie en une transaction sur le marché, les tickets de ces deux positions (Achat (ticket 88) et Vente (ticket 89)) sont mémorisés et sont ensuite "maintenus" déjà en tant que position agrégée
et sont fermés par le profit (perte) agrégé. Dans ce cas, les opérations d'achat sont interdites jusqu'à ce que ces deux positions soient fermées, tandis que les opérations de vente sont autorisées dans tous les cas.

Et c'est ici que la chose amusante se produit - la position d'achat se ferme d'elle-même d'une manière qui n'est pas spécifiée dans le code... Je ne sais pas comment... Immédiatement après, toute une série d'erreurs apparaissent dans le journal à l'adresse
- elles apparaissent à chaque tic. Oh mec... l'a déjà fermé... si ma mémoire est bonne - erreur 5048... mauvais ticket pour OrderClose()
Quelque chose comme ça... Et puis une autre erreur de modification de commande - un ticket inconnu #88 est également écrit...

Je le cherche pour le troisième jour...

 
dimon74:
Bonjour ! Aidez-nous ! Il existe une fonction qui renvoie à chaque tick la valeur OrderCloseTime de la dernière position fermée! Comment puis-je faire correspondre cette valeur avec la valeur précédente de OrderCloseTime, et si elle est supérieure, faire un suivi. Merci d'avance !
Dans cette condition, vous retournerez toujours la même valeur. Ce sera l'heure de fermeture de la dernière position fermée. Dès qu'une nouvelle position s'ouvre puis se ferme,
c'est à ce moment que votre fonction commencera à retourner une valeur différente.

Évidemment, il faut aussi que l'avant-dernière position soit fermée, afin de pouvoir comparer quelque chose avec quelque chose. Ou bien, chaque fois que vous avez besoin de stocker l'heure retournée par votre fonction dans une variable de type datetime ou int, et dès que la nouvelle valeur n'est plus égale à la valeur précédente retournée par votre fonction - ce sera le signal pour
"... effectuer une action de suivi...".
 
PapaYozh:

Je vous suggère de lire attentivement la description de la fonction OrderSelect().

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

Putain de merde ! !! Semyon Semyonych ! !!

Bon sang, j'ai toujours l'aide terminale sous les yeux ! J'ai passé trois nuits sur le plus simple ! !! Et l'aide (à cet endroit précis) n'a jamais regardé... :)

Matroskin a dit à juste titre : "Sharik, tu es un idiot...". C'est comme ça que je me suis transformé en Sharik en trois nuits... :)

Merci beaucoup ! On m'a mis le nez dans un endroit décent et je suis ravi et reconnaissant... :) Vraiment - merci...
Uh-uh-uh-uh... r-r-r-r-r-r-i-t-i-t-i-t!!! Allons-y enfin... :)

 
artmedia70:
Dans cette condition, vous obtiendrez toujours la même valeur en retour. Ce sera l'heure de fermeture de la dernière position fermée. Dès qu'une nouvelle position s'ouvre puis se ferme,
Ce n'est qu'alors que votre fonction commencera à renvoyer une valeur différente.

Évidemment, il faut aussi que l'avant-dernière position soit fermée, afin de pouvoir comparer quelque chose avec quelque chose. Ou bien, chaque fois que vous avez besoin de stocker l'heure retournée par votre fonction dans une variable de type datetime ou int, et dès que la nouvelle valeur n'est plus égale à la valeur précédente retournée par votre fonction - ce sera le signal pour
"... effectuer une action de suivi...".
Oui. Je comprends la logique, mais est-il possible de l'implémenter en code et si oui, comment ?
 
Dersu: Bonjour aux utilisateurs du forum.

Mes grands-parents m'ont dit que c'était le jour de la lune de miel. Joyeuses fêtes, tout le monde.

Et je suis avec mon... Drknn dit qu'il est possible de traiter les relevés des indicateurs.

Est-il possible d'additionner A / D pour une période donnée et le même montant OBV, puis de les diviser entre eux (OBV au numérateur).

Le dénominateur est A/D + coefficient avec sortie vers les paramètres.

Zéro au milieu, les frontières sont flottantes.

Somme-NON TOTAL. Chaque mouvement par valeur absolue.

Je vais vous montrer un renversement de l'EUR.

Nous écrivons un indicateur avec un seul tampon. Tout d'abord, nous lisons un indicateur et le plaçons dans une variable. Ensuite, nous prenons la lecture d'un autre et la mettons également dans une variable. Ensuite, nous additionnons les deux relevés, les divisons par deux et mettons le résultat dans le tampon de l'indicateur. C'est aussi simple que cela. Je ne vois pas où est le problème. Dans l'ignorance de la langue, bien, alors faire une branche séparée dans laquelle ils écrivent, ils ont besoin de la dinde - prêt à payer pour sa production. Les termes de référence sont juste ici. C'est ça...

Le problème de l'argent ? Lisez un manuel d'initiation et programmez-le vous-même. Ou l'option numéro deux - dans les mêmes lettres de la branche disant, sont là prêts à travailler gratuitement - l'idée - juste super, testé cinq ans - fonctionne sans réserve - voici le numéro de compte, voici votre mot de passe d'investissement - jetez un coup d'oeil - marre de travailler manuellement - je veux un pilote automatique. Je veux le pilote automatique - point final !

 

MERCI pour votre attention, drknn.

J'ai réfléchi pendant mon temps libre - ma deuxième idée est un peu humide.

La première idée était plus efficace - mais vous ne pouvez pas faire ça.

Et la seconde - c'est une façon de sortir de la situation.

Je vais y réfléchir un peu plus.