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

 
Alguém pode sugerir como obter (apanhar) o momento em que uma posição é fechada em MT5? Na verdade, precisamos de ter as propriedades da última posição fechadas.
 
significado programático
 
SkyTreker:
Alguém pode sugerir como obter (apanhar) o momento em que uma posição é fechada em MT5? Na verdade, é necessário obter as propriedades da última posição fechada.
Ver OnTrade() e HistoryOrderGet()
 
Boa tarde! Pode dar-me uma dica, não consigo gerir a estrutura da consulta. Devo ter-me esquecido. Provavelmente algo estúpido, uma timpirataria. Na verdade, eu queria saber a que é que o lote está à altura.
//+------------------------------------------------------------------+
//|                                                     депозита.mq5 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
  Print ( ACCOUNT_BALANCE );
  
   MqlTradeRequest request={0};
      MqlTradeResult result={0};
      
 struct MqlTradeRequest
  {
   ENUM_TRADE_REQUEST_ACTIONS    action=TRADE_ACTION_DEAL;           // Тип выполняемого действия
  
   double                        volume=1;           // Запрашиваемый объем сделки в лотах     
   ENUM_ORDER_TYPE               type=ORDER_TYPE_SELL;             // Тип ордера
   }
   
   
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+
 

Estou a mudar da MQL4, não consigo compreender como encontrar barras altas e baixas com o tempo+TF. Foi fácil determinar a mudança por tempo e alta e baixa por deslocamento.

---------------------------------------------------------------

parece ser CopyHigh, etc.

int  CopyHigh(
   string           symbol_name,      // имя символа
   ENUM_TIMEFRAMES  timeframe,        // период
   datetime         start_time,       // с какой даты
   int              count,            // сколько копируем
   double           high_array[]      // массив для копирования максимальных цен
   );

Tenho de empenar uma matriz para obter um valor?

+ Mais uma pergunta: por exemplo, se eu definir o gráfico das horas para as 19:20 dá-me uma barra alta que abre às 19:00 e eu não recebo nada e recebo uma barra alta que abre às 20:00 ?

 
Aqui, não percebo mesmo. Também não é nada disso.
struct MqlTradeRequest
  {
    request.    action=TRADE_ACTION_DEAL;           // Тип выполняемого действия
  
    request.                        volume=1;           // Запрашиваемый объем сделки в лотах     
    request.               type=ORDER_TYPE_SELL;             // Тип ордера
    OrderSend(request,result);
   }
   

'MqlTradeRequest' - estrutura ou classe já definida depósito.mq5 20 9

E não é este o caso.

struct MqlTradeRequest
  {
    request.    action=TRADE_ACTION_DEAL;           // Тип выполняемого действия
  
    request.                        volume=1;           // Запрашиваемый объем сделки в лотах     
    request.               type=ORDER_TYPE_SELL;             // Тип ордера
    
   }
   
  OrderSend(request,result); 
//---

'MqlTradeRequest' - estrutura ou classe já definida depósito.mq5 20 9

Eu assumiria que se não se especificam os stops-profits, então eles não existem, se não se especifica um par de moedas, então é aquele em cujo gráfico o robô está, o preço de uma ordem ágil de acordo com o meu intelecto também não parece ser necessário! Eu leio inglês. Suponho que sim.

E que classe não está definida nesta estrutura? O compilador ficou preso no seu cérebro!

AAH! A estrutura já está definida! Compilou!!!

 
Sabe, eu fiz.
Print ( ACCOUNT_BALANCE );
   Print (SYMBOL_MARGIN_INITIAL);//Начальная (инициирующая) маржа обозначает размер необходимых залоговых средств в маржинальной валюте для открытия позиции объемом в один лот. Используется при проверке средств клиента при входе в рынок.
  
Obtivemos 37 e 42 !!!!!. O que são trinta e sete? O que são quarenta e dois? Vejo um saldo de 17 155, 43 e quais são esses números?
 
Dimka-novitsek:
Colocar em 37 e 42 !!!!! O que são trinta e sete? O que são quarenta e dois? Vejo um saldo de 17,155, 57 e quais são esses números?
O que diz a referência? https://www.mql5.com/ru/docs/constants/environment_state/accountinformation
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация о счете - Документация по MQL5
 
Dimka-novitsek:
Coloco em 37 e 42 !!!!!. O que são trinta e sete? O que são quarenta e dois? Vejo um saldo de 17.155, 43 e quais são estes números?

ACCOUNT_BALANCE é um identificador numérico

correcto éAccountInfoDouble(ACCOUNT_BALANCE) eSymbolInfoDouble( Symbol(),SYMBOL_MARGIN_INITIAL)

por outras palavras, o identificador pode ser representado tanto alfabeticamente como numericamente

por outras palavras ACCOUNT_BALANCE eSYMBOL_MARGIN_INITIAL são apenas números

 
OBRIGADO!!!