[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 391

 
001:

J'essaie d'obtenir une réponse pour moi-même. Est-il possible de faire en sorte que le code reconnaisse clairement les extrêmes indiqués par les flèches ? Peut-être que quelqu'un a déjà une telle réponse. Je pense que les fractales (du moins celles que j'ai vues) ne sont pas ce dont j'ai besoin.

Zigzag peut les trouver. Il y a beaucoup de zigzags différents et encore plus de configurations. Il est donc possible de les trouver.
 
001:

J'essaie d'obtenir une réponse pour moi-même. Est-il possible de faire en sorte que le code reconnaisse clairement les extrêmes indiqués par les flèches ? Peut-être que quelqu'un a déjà une telle réponse. Je pense que les fractales (du moins celles que j'ai vues) ne sont pas ce dont j'ai besoin.


Bien sûr, vous pouvez déterminer, mais rétrospectivement...
 

Voici une partie du code. Je trie les ordres supprimés et déclenchés, et s'il y a un ordre déclenché au takeprofit, alors {C=0;A=1 ; Alert("C",C, "A",A);}} . C'est la chose même qui ne se produit pas alors.

Ici

for ( i=OrdersHistoryTotal();i>0;i--){ OrderSelect(i-1,SELECT_BY_POS,MODE_HISTORY  ); Alert("wremjapomnim " ,wremjapomnim," OrderCloseTime ",OrderCloseTime(    ),
   "   OrderTakeProfit ",OrderTakeProfit(), " OrderClosePrice " ,OrderClosePrice() );
   if( OrderMagicNumber( )==2000 &&OrderSymbol()==Symbol()&&OrderTakeProfit( )==OrderClosePrice(        )&&wremjapomnim<OrderCloseTime( ) ||
   OrderMagicNumber( )==1000 &&OrderSymbol()==Symbol()&&OrderTakeProfit( )==OrderClosePrice(    )&&wremjapomnim<OrderCloseTime( ))
   
 {C=0;A=1 ;  Alert("C",C,"A",A);}} 
 

En russe, si le chiffre magique est 2000 ET s'il s'agit de cette paire de devises ET si le prix de clôture est égal au takeprofit OU

si un magik est égal à 1000 ET s'il s'agit de cette paire de devises ET si le prix de clôture est égal au take profit.

Cela n'a l'air de rien de compliqué, mais cela peut ne pas fonctionner ! Je l'ai vérifié en détail et l'ai placé séparément dans l'étape if, par exemple OrderTakeProfit( )==OrderClosePrice( ).

Il semble donc fonctionner individuellement, mais ensemble, il ne veut pas !!!

 
dkfl.zrjdktdbx:

Voici une partie du code. si le prix de clôture est égal au take profit

Fermer un ordre avec un Take Profit égal au prix est plutôt problématique.
 
dkfl.zrjdktdbx:

Voici une partie du code. Je trie les ordres supprimés et déclenchés, et s'il y a un ordre déclenché au takeprofit, alors {C=0;A=1 ; Alert("C",C, "A",A);}} . C'est la chose même qui ne se produit pas alors.

Ici

En russe, si le chiffre magique est 2000 ET s'il s'agit de cette paire de devises ET si le prix de clôture est égal au takeprofit OU

si un magik est égal à 1000 ET s'il s'agit de cette paire de devises ET si le prix de clôture est égal au take profit.

Il semble n'y avoir rien d'absurde, mais soudain, cela ne fonctionne pas ! Je l'ai vérifié en détail et l'ai placé séparément dans l'étape if, par exemple OrderTakeProfit( )==OrderClosePrice( ).

Il semble que tout fonctionne séparément, mais pas ensemble !


Déployez toutes les parenthèses et lisez la référence

Référence MQL4 - Principes de base - Opérations et Expressions- Règles de précédence

 
forexnew:

Pouvez-vous me dire comment calculer l'écart qui existait lorsque l'ordre a été fermé après un certain temps ? Est-ce que c'est possible ?

Le prix de clôture tient déjà compte de l'écart. Comment peut-on le calculer a posteriori ?

Si vous n'y participez pas, il est impossible de connaître l'écart à tout moment autre que l'heure actuelle ! Lorsque vous ouvrez un ordre, vous pouvez enregistrer la valeur du spread, par exemple, dans le commentaire de l'ordre. Vous pouvez également surveiller l'écart, en écrivant sa valeur moyenne dans le fichier ou le tampon de l'indicateur, par exemple, toutes les minutes. Cela dépend de l'objectif que vous poursuivez.
 
dkfl.zrjdktdbx:

Voici une partie du code. Je trie les ordres supprimés et déclenchés, et s'il y a un ordre déclenché au takeprofit, alors {C=0;A=1 ; Alert("C",C, "A",A);}} . C'est la chose même qui ne se produit pas alors.

Ici

En russe, si le chiffre magique est 2000 ET s'il s'agit de cette paire de devises ET si le prix de clôture est égal au takeprofit OU

si un magik est égal à 1000 ET s'il s'agit de cette paire de devises ET si le prix de clôture est égal au take profit.

Il semble n'y avoir rien d'absurde, mais soudain, cela ne fonctionne pas ! Je l'ai vérifié en détail et l'ai placé séparément dans l'étape if, par exempleOrderTakeProfit( )==OrderClosePrice( ).

Il semble donc fonctionner individuellement, mais ensemble, il ne veut pas !!!


Essayez de connecter la fonction "standard" de Kim I.V. qui consiste à déterminer si la dernière commande a été clôturée à l'emporter...
 
Zhunko:
Zigzag peut les trouver. Il existe de nombreux zigzags différents et encore plus de réglages. Il est donc possible d'en trouver un.

Merci !
 
MaxZ:
Si vous ne mettez pas la main dessus, il est impossible de connaître l'écart à un moment donné, autre que le moment présent ! !! Lorsque vous ouvrez un ordre, vous pouvez enregistrer la valeur du spread, par exemple, dans le commentaire de l'ordre. Vous pouvez également surveiller l'écart, en écrivant sa valeur moyenne dans le fichier ou le tampon de l'indicateur, par exemple, toutes les minutes. Cela dépend de l'objectif que vous poursuivez.

En substance, pour contrôler le courtier. Mais au moment de conclure la transaction. J'ai compris l'idée. L'opération est déclenchée, elle apparaît dans l'historique de l'opération, et c'est à ce moment que vous pouvez capturer l'écart et l'enregistrer dans le dossier. Merci !

 
Zhunko:
Zigzag peut les trouver. Il existe de nombreux zigzags différents et encore plus de réglages. Il est donc possible d'en trouver un.

Pouvez-vous me dire lequel ?
Raison: