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

 
Oleg Kolesov:
Olá! no artigo "Como submeter correctamente um produto ao mercado" apenas está especificado 1 ficheiro EX5-EX4?Pergunta? Consultor baseado em indicador, cálculos em ficheiro indicador na função de consultor iCustom(2 ficheiros), como submeter ao mercado? O Service Desk não responderá durante 3 dias?
Ligar indicadores à EA como recursos
 
Artem obrigado pela resposta, como é que o faço? Existe um ficheiro indicador, existe um ficheiro EA com função iCustom. O ficheiro deve ser incluído?
 
Oleg Kolesov:
Artem obrigado pela resposta, como é que o faço? Existe um ficheiro indicador, existe um ficheiro Expert Advisor com função iCustom. Há algum ficheiro a ser incluído?

Não espalhe as suas perguntas por diferentes tópicos do fórum - será mais fácil para todos:

Fórum sobre comércio, sistemas comerciais automatizados e teste de estratégias comerciais

Quaisquer perguntas de novatos sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos

Igor Makanu, 2019.06.13 18:09

Foi-lhe respondido no tópico de perguntas MQL5 - activar indicador como recurso, não sei como - comece por pesquisar o sítio "recurso".

https://docs.mql4.com/ru/runtime/resources

O Service Desk trata de assuntos financeiros, não de formação

Документация по MQL5: Программы MQL5 / Ресурсы
Документация по MQL5: Программы MQL5 / Ресурсы
  • www.mql5.com
В данном примере показано как проигрывать звуки из файлов Ok.wav и timeoit.wav, входящих в стандартную поставку терминала. Эти файлы находятся в папке означает папку, из которой запущен клиентский терминал MetaTrader 5.  Программным путем из mql5-программы каталог терминала можно узнать следующим образом: Расположение каталога данных терминала...
 

Compreendo o diálogo aqui. O MQL é grande! Tenho de o ler. Obrigado pela ajuda.

 
Boa tarde. Pergunta sobre o algoritmo de teste genético MT5. Depois de parar os testes (por exemplo, para reiniciar o PC), os resultados das corridas permanecem, mas o número de corridas restantes para completar o teste volta ao original. Começa tudo de novo, mas com os resultados já em vigor? A descrição do algoritmo afirma que a paragem não afectará o teste, mas ao reiniciar (sem alterações da EA, sem recompilação) parece recomeçar tudo de novo. Como é que isto deve ser percebido? Obrigado.
 

não podia procurar no Google nem resolver um problema elementar (((.

há um tempo de manutenção de posição em segundos, preciso de obter tempo como hora + minutos + segundos , (como converter tudo em dias/meses/horas/minutos/segundoshttps://www.mql5.com/ru/code/353 - não o que eu preciso. não preciso de dias e meses, preciso apenas de horas até 1000 h)

A verdade está algures por aqui, mas os minutos estão a ficar muito longos!

void OnStart()
  {
   int timeinsec=100000;
   int h,m,s;
   SecondsToHMS(timeinsec,h,m,s);
   printf("h = %d , m = %d , s = %d",h,m,s);
  }
//+------------------------------------------------------------------+
void SecondsToHMS(int seconds,int &hour,int &min,int &sec)
  {
   hour= int(seconds/3600);
   sec = seconds - (hour * 3600);
   min = int(seconds / 60);
   sec = seconds - (min * 60);
  }
//+------------------------------------------------------------------+
2019.06.18 10:22:48.245 tst EURUSD,H1: h = 27 , m = 1666 , s = 40
 
Igor Makanu:

Recebo muitos minutos!

Não se utiliza o número de segundos actualizado ao calcular os minutos.

 

Olá, quero fazer um alerta na condição de que o máximo da primeira vela seja igual ao máximo da segunda vela. Isto é, não exactamente igual, mas cerca de 5 pontos de margem de erro. Ajuda.

  {
//---
   if(rates_total<3) return(0);
   int limit=rates_total-prev_calculated;
   if(limit>1)
     {
      limit=rates_total-3;
      ArrayInitialize(BufferUP,EMPTY_VALUE);
      ArrayInitialize(BufferDN,EMPTY_VALUE);
     }
   for(int i=limit; i>=0; i--)
     {
      if (fabs(high[i+1]-high[i+2]) <= 5.0*_Point)

        {
         BufferDN[i+1]=high[i+1];
        }
     }
//--- return value of prev_calculated for next call

   return(rates_total);
  }

 
yiduwi:

Isto não é exactamente igual, mas aproximadamente, uma margem de erro de 5 pontos.

if (fabs(high[i+1]-high[i+2]) <= 5.0*_Point)

fxsaber:

Não se está a utilizar o número actualizado de segundos ao calcular os minutos.

Obrigado, esse é um dos erros, mas ainda não se sabe como passar de 159.002 segundos 44 horas 10 minutos 2 segundos (calculadora online )) )


aqui está a solução mas acho que me está a faltar algo

//+------------------------------------------------------------------+
void OnStart()
  {
   int timeinsec=159002;
   int h,m,s;
   SecondsToHMS(timeinsec,h,m,s);
   printf("h = %d , m = %d , s = %d",h,m,s);
  }
//+------------------------------------------------------------------+
void SecondsToHMS(int seconds,int &hour,int &min,int &sec)
  {
   int s=seconds;
   sec = s%60;
   s-=sec;
   Print("s = ",s);
   min = int(s / 60)%60;
   hour= int(s/3600);
  }
//+------------------------------------------------------------------+
2019.06.18 11:46:22.691 tstss EURUSD,H1: h = 44 , m = 10 , s = 2
 
Igor Makanu:

Obrigado. Pode dizer-me porque é que a seta está na segunda barra e não na primeira.

      if (fabs(high[i+1]-high[i+2]) <= 0.0*_Point)
        {
         BufferDN[i+1]=high[i+1];
        }