Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 809

 
Seric29:

Você pode me mostrar como expandir um loop sem criar variáveis?

Desembrulhar, ou seja, fazer de trás para frente - não começar de zero, mas deum ArrayRange

e diminuir o contador

for(int i=ArrayRange(arr2,0)-1; i>=0; i--)
 

Onde posso encontrar informações sobre a criação de painéis comerciais com exemplos, etc.?

Ajuda na escrita de código para um painel como este:

***
 
Oligarhi2016:

Onde posso encontrar informações sobre a criação de painéis comerciais com exemplos, etc.?

Ajuda na escrita de código para um painel como este:

***

Use as funções do editor de mensagens:

Use os comandos doeditor de mensagens para formatar o texto e inserir imagens/códigos/tabelas:

 
Vladimir Karputov:

Use as funções do editor de mensagens:

Use os comandos doeditor de mensagens para formatar o texto e inserir imagens/códigos/tabelas:

onde "forma" é o nome do próprio painel e text_field_1 to text_field_10 é o lugar onde diferentes dados serão exibidos (preço médio por um determinado período de tempo, preço máximo, preço mínimo, SL, TP e assim por diante...) que mudarão periodicamente dependendo da situação do mercado

Para uma melhor compreensão do que estou falando, por favor, reserve estes nomes:

para o nome do painel (formulário): imya_paneli

nomes para os dados exibidos nos campos de texto: teckstovoe_pole_1 a teckstovoe_pole_10

nomes dos campos de texto (deixá-los como estão (EURUSD, GPBUSD, SL, TP, M1, M2, M3, M4, M5, M6))

E talvez o ponto mais importante: o formulário não deve ser transparente, ou seja, no local onde o formulário será exibido, não devem ser exibidas velas dentro do próprio formulário.


Desculpas PS, eu tive que anexar uma foto, porque não posso inseri-la em mensagens usando funções de editor de mensagens

Tentei todas as opções possíveis e códigos BB e variante html, provavelmente estou fazendo algo errado... Um botão para inserir uma imagem de alguma forma não é exibido no painel de funções do editor de mensagens. Anexei um screenshot só para o caso de

Arquivos anexados:
 
A depuração funciona na MQL4, estou cansado de colocar a função de impressão em cada segunda linha e, se sim, onde posso descobrir como utilizá-la?
 
É verdade que o incremento de prefixo ++i é mais rápido que o postfix i++ com uma diferença rumorosa de até 10%?
 
Há uma data atual (15.04.2019) e uma data inserida manualmente, por exemplo, 26.04.2019.... como calcular o número de dias com dias de folga para fazer 10 dias?
 
ponochka:
Há uma data atual (15.04.2019) e uma data inserida manualmente, por exemplo, 26.04.2019.... como calcular o número de dias com o fim de semana para obter 10 dias???
int  Bars(
   string           symbol_name,     // имя символа
   ENUM_TIMEFRAMES  timeframe,       // период PERIOD_D1
   datetime         start_time,      // с какой даты
   datetime         stop_time        // по какую дату
   );

Verifique se vai funcionar com o tempo no futuro. Caso contrário, somente verificando no dia da semana e somando sem dias de folga.

Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
Если указаны параметры start_time и stop_time, то функция возвращает количество баров в диапазоне дат. Если эти параметры не указаны, то функция возвращает общее количество баров. Если данные для таймсерии с указанными...
 
Seric29:
É verdade que o incremento de prefixo ++i funciona mais rápido do que o boato de que o postfix i++ é 10% de diferença?

confira você mesmo, aqui está um bom exemplohttps://www.mql5.com/ru/forum/287618/page15#comment_9810652

se você precisa de mais desempenho nos cálculos - definitivamente MQL5, somente C++ puro pode vencê-lo


Seric29:
A depuração funciona na MQL4, estou cansado de empurrar a função de impressão a cada segunda linha, se sim, onde ver como utilizá-la?

https://www.metatrader5.com/ru/metaeditor/help/development/debug

Funciona da mesma forma para o MT4, mas parece que a depuração na história não funciona, mas para tarefas normais - ponto de parada e olhar para as variáveis todas funcionam no MT4 sem problemas

Получаем количество десятичных знаков после запятой любых чисел (не только котировок) в обход Digits() на MQL4 и MQL5
Получаем количество десятичных знаков после запятой любых чисел (не только котировок) в обход Digits() на MQL4 и MQL5
  • 2018.12.07
  • www.mql5.com
Думаю не у одного меня была редкая ситуация когда нужно было получить количество десятичных знаков после запятой, а функция Digits() работает тольк...
 

Procurei na pasta Include e não consegui encontrar como funções como ArrayResize() ouArrayCopy() estão dispostas.Como ficou claro para mim que eles são usados lá por padrão, aqui está um exemplo de código

//+------------------------------------------------------------------+
//| Resizing (with removal of elements on the right)                 |
//+------------------------------------------------------------------+
bool CArrayDouble::Resize(const int size)
  {
   int new_size;
//--- check
   if(size<0)
      return(false);
//--- resize array
   new_size=m_step_resize*(1+size/m_step_resize);
   if(m_data_max!=new_size)
     {
      if((m_data_max=ArrayResize(m_data,new_size))==-1)
        {
         m_data_max=ArraySize(m_data);
         return(false);
        }
     }
   if(m_data_total>size)
      m_data_total=size;
//--- result
   return(m_data_max==new_size);
  }

extraído do arquivo ArrayDouble.mqh, não há acesso a estas funções e até mesmo vice-versa, elas são utilizadas no projeto de outras funções ou mecanismos. Eu olhei para outros arquivos e não entendi como obter acesso ao código interno de funções como ArrayResize() ouArrayCopy(), quem sabe olhar para o código interno dessas funções?