Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 898

 
Sile Si:

Ok, é isso que eu faço.

Depois comparo o id da transacção com o ticker da posição, e penso ter seleccionado a transacção,

mas devolve o preço da posição. Porquê?

Pergunta para o fundo da minha mente: usa

PositionGetDouble(POSITION_PRICE_OPEN)

Recebe o preço do negócio? Ou ainda é o preço da posição?

 
Alexey Kozitsyn:

Pergunta para as suas perguntas: com a ajuda de

Recebe o preço de transacção? Ou ainda é o preço da posição?

Bem, se eu tiver pré-seleccionado uma troca, então é o preço da troca. Não consegui encontrar o preço de abertura na documentação.

 
Sile Si:

Bem, se eu pré-seleccionei uma troca, então esse é o preço da troca. Não consegui encontrar o preço de abertura do negócio na documentação.

Como se selecciona o comércio? Que função?

Afinal, não há uma forma trivial de determinar o preço de abertura de uma transacção (não uma posição) em MT5. Em casos particulares é possível (quando um acordo por parâmetros coincide com uma posição), mas não há uma forma universal.

 
Ihor Herasko:

Como se selecciona a transacção? Que função?

Afinal, não há uma forma trivial de determinar o preço de abertura de uma transacção (não uma posição) em MT5. Em casos particulares, é possível (quando os parâmetros do acordo coincidem com a posição), mas não há uma forma universal.

Escolher um acordo por id

DEAL_POSITION_ID

Identificador da posição, na abertura, modificação ou encerramento da qual este acordo estava envolvido. Cada posição tem um identificador único, que é atribuído a todos os acordos feitos sobre o símbolo durante a vida útil da posição.

longo

 
Sile Si:

Negócio seleccionado por id

DEAL_POSITION_ID

Identificador da posição, na abertura, modificação ou encerramento da qual este acordo estava envolvido. Cada posição tem um identificador único, que é atribuído a todos os negócios feitos no instrumento durante a vida útil da posição.

longo


No testador, o preço médio é considerado correcto. Na conta real, mostra o preço de outra pessoa no comentário.

Em contas como a Netting, a posição e o comércio são conceitos diferentes. Acabou de nos mostrar a selecção de posição.

 
Como posso encontrar o máximo para N barras em mql5? Semelhante ao iHighest
 
lil_lil:
Como em mql5 encontrar o máximo para N barras? Semelhante ao iHighest

O que há de errado com o iHighest?

 
lil_lil:
Em mql5 como encontrar o valor máximo de N barras? Semelhante ao iHighest

CopyHigh para uma matriz eArrayMaximum para esta matriz.

Este será o valor máximo, ao contrário do iHighest que devolve o índice da barra com o valor máximo.

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyHigh
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyHigh
  • www.mql5.com
Функция получает в массив high_array исторические данные максимальных цен баров для указанной пары символ-период в указанном количестве. Необходимо отметить, что отсчет элементов от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар. При копировании заранее неизвестного количества...
 
lil_lil:
Como posso encontrar o máximo para N barras em mql5? Semelhante ao 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;
  }
//+------------------------------------------------------------------+
 
Obrigado.