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

 
Sile Si:

Ok, c'est ce que je fais.

Ensuite, je compare l'identifiant de la transaction avec le ticker de la position, et je pense avoir sélectionné la transaction,

mais il renvoie le prix de la position. Pourquoi ?

Question pour l'arrière de mon esprit : utilisez-vous

PositionGetDouble(POSITION_PRICE_OPEN)

Vous obtenez le prix de l'échange ? Ou est-ce toujours le prix de la position ?

 
Alexey Kozitsyn:

Question pour vos demandes : avec l'aide de

Obtenez-vous le prix de la transaction ? Ou est-ce toujours le prix de la position ?

Eh bien, si j'ai présélectionné une transaction, alors c'est le prix de la transaction. Je n'ai pas pu trouver le prix d'ouverture dans la documentation.

 
Sile Si:

Eh bien, si j'ai présélectionné un échange, alors c'est le prix de l'échange. Je n'ai pas trouvé le prix d'ouverture de l'opération dans la documentation.

Comment choisissez-vous le métier ? Quelle fonction ?

Après tout, il n'existe aucun moyen trivial de déterminer le prix d'ouverture d'une transaction (et non d'une position) dans MT5. Dans certains cas particuliers, c'est possible (lorsqu'un accord par paramètres coïncide avec une position), mais il n'existe pas de méthode universelle.

 
Ihor Herasko:

Comment sélectionner la transaction ? Quelle fonction ?

Après tout, il n'existe aucun moyen trivial de déterminer le prix d'ouverture d'une transaction (et non d'une position) dans MT5. Dans certains cas particuliers, c'est possible (lorsque les paramètres de l'opération coïncident avec la position), mais il n'existe pas de méthode universelle.

Choix d'un marché par identification

DEAL_POSITION_ID

Identifiant de la position, dans l'ouverture, la modification ou la fermeture de laquelle cette affaire a été impliquée. Chaque position possède un identifiant unique, qui est attribué à toutes les transactions effectuées sur le symbole pendant la durée de vie de la position.

long

 
Sile Si:

Affaire sélectionnée par id

DEAL_POSITION_ID

Identifiant de la position, en ouverture, modification ou fermeture de laquelle cette affaire a été impliquée. Chaque position possède un identifiant unique, qui est attribué à toutes les transactions effectuées sur l'instrument pendant la durée de vie de la position.

long


Dans le testeur, le prix moyen est considéré comme correct. Sur le compte réel, il affiche le prix de quelqu'un d'autre dans le commentaire.

Sur des comptes comme Netting, la position et la transaction sont des concepts différents. Vous venez de nous montrer la sélection des positions.

 
Comment trouver le maximum pour N barres dans mql5 ? Similaire à iHighest
 
lil_lil:
Comment dans mql5 trouver le maximum pour N barres ? Similaire à iHighest

Quel est le problème avec iHighest?

 
lil_lil:
Dans mql5 comment trouver la valeur maximale de N barres ? Similaire à iHighest

CopieHigh dans un tableau etArrayMaximum dans ce tableau.

Il s'agira de la valeur maximale, contrairement à iHighest qui renvoie l'indice de la barre avec la valeur maximale.

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyHigh
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyHigh
  • www.mql5.com
Функция получает в массив high_array исторические данные максимальных цен баров для указанной пары символ-период в указанном количестве. Необходимо отметить, что отсчет элементов от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар. При копировании заранее неизвестного количества...
 
lil_lil:
Comment trouver le maximum pour N barres dans mql5 ? Similaire à iHighest
//+------------------------------------------------------------------+
//| Возвращает индекс максимального значения таймсерии High          |
//+------------------------------------------------------------------+
int Highest(const int count,const int start)
  {
   double array[];
   ArraySetAsSeries(array,true);
   return(CopyHigh(Symbol(),PERIOD_CURRENT,start,count,array)==count ? ArrayMaximum(array)+start : WRONG_VALUE);
  }
//+------------------------------------------------------------------+
//| Возвращает индекс минимального значения таймсерии Low            |
//+------------------------------------------------------------------+
int Lowest(const int count,const int start)
  {
   double array[];
   ArraySetAsSeries(array,true);
   return(CopyLow(Symbol(),PERIOD_CURRENT,start,count,array)==count ? ArrayMinimum(array)+start : WRONG_VALUE);
   return WRONG_VALUE;
  }
//+------------------------------------------------------------------+
 
Merci.