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

 
Obrigado. Exactamente o que eu preciso. Fez um guião e... mediu-o. TERMINAL_MEMORY_TOTAL e TERMINAL_MEMORY_AVAILABLE erro na documentação, nunca compreendeu o que eles dão e em que medidas, mas parece não ser o que se pretende.
 
paladin800:

Aconselhar como verificar as condições no código, por exemplo

Cumulativamente 1 é o mais normal.
 
Estou a utilizar a biblioteca padrão para obter a licitação actual:

CSymbolInfo m_symbol;

m_symbol.Bid()


No testador (All ticks, M1) percebo que não é a oferta actual mas sim o preço de abertura do bar. Talvez me tenha escapado alguma coisa? Como posso verificar correctamente o preço das carraças para obter resultados correctos no testador?

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
tyun:
Estou a utilizar a biblioteca padrão para obter a licitação actual:

CSymbolInfo m_symbol;

m_symbol.Bid()


No testador (All ticks, M1) percebo que não é a oferta actual mas sim o preço de abertura do bar. Talvez me tenha escapado alguma coisa? Como posso verificar correctamente o preço das carraças para obter resultados correctos no testador?

https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/csymbolinfo/csymbolinforefreshrates
Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo / RefreshRates
Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo / RefreshRates
  • www.mql5.com
Стандартная библиотека / Торговые классы / CSymbolInfo / RefreshRates - Документация по MQL5
 

Abro um negócio usando o CTrade com uma paragem de perda.

E como posso apanhar o momento de fechar um negócio pelo método Stop Loss in OnTrade ou OnTransactionTrade?

Conheço o bilhete, conheço o mostrador, mas eles são sempre diferentes na OnTransactionTrade (embora compreenda porquê)

 
WiND:

Abro um negócio usando o CTrade com uma paragem de perda.

E como posso apanhar o momento de fechar um negócio pelo método Stop Loss in OnTrade ou OnTransactionTrade?

Conheço o bilhete, conheço o mostrador, mas eles são sempre diferentes na OnTransactionTrade (embora compreenda porquê)

A partir do comentário pode descobrir se a posição foi encerrada por Stop Loss/TakeProfit. Para Stop Loss verifique a sl no comentário e para Take Profit tp.
 
tol64:
De acordo com o comentário, podemos descobrir se a posição foi encerrada por Stop Loss/TakeProfit. Para Stop Loss verifique o comentário sl, e para Take Profit verifique o tp.

Pensei no comentário, mas tanto quanto me lembro, os comentários podem ser alterados pelo servidor.

Em geral, não me interessa se está fechado por arrombamento, por roubo ou manualmente.

O principal é identificar o momento de encerramento de uma determinada encomenda.

 
WiND:

Pensei no comentário, mas tanto quanto me lembro, os comentários podem ser alterados pelo servidor.

Em geral, não me interessa se está fechado por arrombamento, por roubo ou manualmente.

O principal é identificar o momento de encerramento de uma determinada encomenda.

Também pode utilizar o identificador DEAL_ENTRY_OUT da enumeração ENUM_DEAL_ENTRY para compreender que a posição foi encerrada.

Referência: Propriedades dos ofícios.

 

Olá!

Tenho uma EA em MQl4 que precisa de ser convertida para MQL5. Por favor ajude-me a compreender a função CopyBuffer().

No MQl4, o código tem este aspecto:

....
int start()
{ 
   induk_real1 = iCustom(NULL, PERIOD_H1, "Laguerre", gamma, 950, 0, 0);
   induk1 = NormalizeDouble(induk_real1,2);
 
   if(OrdersTotal( )<1){
  
   if(induk1==1) {

......
}}}

Na MQL5 é assim que se parece. O erro 'CopyBuffer' - nenhuma das sobrecargas pode ser aplicada à chamada de função.

....
int OnInit()
  {
   SymbolSelect(_Symbol,true);
   induk_handle = iCustom(NULL,PERIOD_H1,"Laguerre",gamma); 
   return(0);
  }
void OnDeinit(const int reason)
  {
  }
void OnTick()
  {
   CopyBuffer(induk_handle,0,1,2,induk_real1);
   induk1 = NormalizeDouble(induk_real1,2);
   
    if(OrdersTotal()<1){
    if(induk1==1) {
    ......
     }}}   
 
Aid:

Olá!

Tenho uma EA em MQl4 que precisa de ser convertida para MQL5. Por favor ajude-me a compreender a função CopyBuffer().

No MQl4, o código tem este aspecto:

Na MQL5 é assim que se parece. O erro 'CopyBuffer' - nenhuma das sobrecargas pode ser aplicada à chamada de função.

induk_real1 - deve haver uma matriz.