Questions des débutants MQL5 MT5 MetaTrader 5 - page 946

 
Nauris Zukas:

OK, laissez-moi poser la question différemment. Par exemple, je peux écrire toutes les données dans le fichier (FileWrite), puis je peux tout faire avec l'indicateur et compiler et même le terminal est fermé, mais je peux toujours ensuite me référer au fichier pour les données (FileReadString), elles seront là. Question, est-il possible d'écrire toutes les données non pas dans un fichier, mais dans la mémoire de l'ordinateur (ou du terminal), comme dans un tableau ? Le tableau ne convient pas, car il est remis à zéro lorsque vous compilez l'indicateur. Les données doivent être sauvegardées lorsque le terminal est ouvert.

Ressources.

 
fxsaber:

Ressources.

Merci, je vais probablement commencer par là.

 

J'ouvre un poste de testeur. 10 transactions de 0,1 lot chacune.

Après cela, je demande des ordres et, entre autres choses, j'obtiens un identifiant de position selon le ticket d'ordre:

long pos_id=HistoryOrderGetInteger(order_ticket,ORDER_POSITION_ID);

10 opérations, chacune correspondant à un ordre différent. Cependant, je ne peux obtenir un identifiant que pour les deux premiers ordres qui correspondent aux deux premières transactions. L'identifiant pour les commandes ultérieures est 0.

Quel est ce mystère ?

Offre - Commande

2 - 2

3 - 5

4 - 8

5 - 11

...

11 - 29


Après chaque transaction ouverte, je place deux autres limiteurs comme stops. Par conséquent, les tickers des transactions et des ordres sont différents. Ainsi, je peux obtenir un identifiant de position non nul uniquement pour les ordres avec les tickets 2 et 5. Oui, cette position a déjà été fermée. Il n'y a pas de poste ouvert actuellement.

 
Juer:

J'ouvre un poste de testeur. 10 transactions de 0,1 lot.

***

Comment ouvrir UNE position dans DIX métiers ?

Comment obtenir DIX transactions en envoyant UN seul ordre de transaction?


Ou décrivez plus précisément la situation (type de compte de trading, nom de l'instrument, sens de chaque transaction).

 
Vladimir Karputov:

Comment faites-vous pour ouvrir UNE position avec DIX transactions ?

Comment faites-vous pour ouvrir UN ordre de transaction et obtenir DIX transactions ?


Ou décrivez plus précisément la situation (type de compte de trading, nom de l'instrument, sens de chaque transaction).

J'ouvre probablement une position avec une seule transaction. Mais d'autres transactions comme IN dans la même direction appartiennent à la même position.

Où ai-je écrit que j'ai envoyé un ordre de bourse ?

10 transactions dans la même direction (achat dans ce cas). 10 commandes. Mais lorsqu'on demande l'historique des commandes, seuls les deux premiers ont un identifiant de position. Les autres ont 0.

 
Juer:

Je suppose que j'ouvre une position avec une seule transaction. Mais d'autres transactions comme IN dans la même direction appartiennent à la même position.

Où ai-je écrit que j'ai envoyé un ordre de bourse ?

10 transactions dans une seule direction (achat dans ce cas). 10 commandes. Mais lorsqu'on demande l'historique des commandes, seuls les deux premiers ont un identifiant de position. Les autres ont 0.

Veuillez répondre plus précisément :Ou décrivez plus précisément la situation (type de compte de trading, nom de l'instrument, sens de chaque transaction).

 
Vladimir Karputov:

Veuillez répondre plus précisément :Ou décrivez la situation plus précisément (type de compte de trading, nom de l'instrument, sens de chaque transaction)

Serveur BICMarkets-Demo, EURUSD. Achat d'opérations, 10 opérations. Et ensuite, 10 transactions vendues (out). Ensuite, j'essaie d'obtenir l'ID de la position par le numéro d'ordre (voir ci-dessus).

Quel est le type de compte ? Qu'est-ce que c'est ? Couverture ou non ? Je ne sais même pas.

 
Juer:

Serveur BICMarkets-Demo, EURUSD. Achat d'opérations, 10 opérations. Et ensuite 10 opérations de vente (out). Ensuite, j'essaie d'obtenir l'ID de la position à partir du numéro d'ordre (voir ci-dessus).

Type de compte ? Qu'est-ce que c'est ? Couverture ou non ? Je ne sais même pas.

Type de compte : compensation ou couverture. Il n'y a pas de troisième :) . Oh, maintenant il y a déjà 20 échanges. Au début, c'était 10. Si vous voulez une réponse normale, posez une question normale.

Lister les métiers étape par étape. Fournissez un journal du terminal - afin que nous puissions le comparer avec ce que vous dites et ce que vous pensez.

 

Je regarde les classes standard et je vois souvent des parenthèses inutiles, comme il me semble.

//+------------------------------------------------------------------+
//| Get the property value "POSITION_TYPE"                           |
//+------------------------------------------------------------------+
ENUM_POSITION_TYPE CPositionInfo::PositionType(void) const
  {
   return((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE));
  }

A quoi servent les parenthèses au début et à la fin ici ?

A quoi servent-ils ici?

//--- return the result
   return( str);
 
pivomoe:

Je regarde les classes standard et je vois souvent des parenthèses inutiles, comme il me semble.

A quoi servent les parenthèses au début et à la fin ici ?

A quoi servent-ils ici?

Pour la lisibilité

Raison: