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

 
Vitaly Muzichenko:

Talvez eu não entenda alguma coisa, mas deve usar tmllongo = (longo)ObjectGetInteger(ChartID(),vlines_name[i],OBJPROP_TIME); substitua o nome da linha, não o índice, caso contrário não obterá resultados.

Sim, muito obrigado. Acrescentei uma linha em loop e funciona ))))

   for(int i = 0; i < vlines; i++)
   {
      vlines_name[i]    = ObjectName(ChartID(),i,0,OBJ_VLINE);
      long tml          = (long)ObjectGetInteger(ChartID(),vlines_name[i],OBJPROP_TIME);
      vlines_arr[i][0]  = tml;
      vlines_arr[i][1]  = (long)i;
   }
 

Olá: A tarefa é exibir candelabros de 2 instrumentos na carta, mas falta um instrumento nos locais. Devemos percorrer as barras do instrumento com todos os dados, comparando o tempo das barras de 2 instrumentos e quando nos depararmos com uma discrepância, o laço deve continuar para 1 instrumento e parar para outro até que os tempos das barras coincidam, de modo a que o gráfico tenha valores vazios onde as barras estão em falta. Como fazê-lo?

 
Como colocar um Perito no mercado?
O problema é que, ao adicionar um Perito, preciso de seleccionar o tipo de Perito. O meu Expert pertence ao tipo "neuronet", eu escolho, adiciono-o, e depois verifica-se que é impossível utilizar API externo para obter dados no Expert Advisor.
E como pode uma rede neural funcionar no computador do utilizador final? Ou devo anexar um manual de instalação de Tensoflow + Keras + Ta-Lib + um par de scripts em python?

Como é que esta questão é resolvida na prática? Certamente alguém fez especialistas em redes neuronais.
 

Boa tarde a todos! Por favor, aconselhar ou corrigir o código. É necessário desenhar um histograma sobre a barra zero, altura 500, cor vermelha.

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots   1
#property indicator_type1   DRAW_COLOR_HISTOGRAM
#property indicator_color1  Red
#property indicator_style1  0
#property indicator_width1  1
#property indicator_minimum 0.0


double                    ExtBuffer[];
double                    ExtColorsBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit()
  {
//---- buffers   
   SetIndexBuffer(0,ExtBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,ExtColorsBuffer,INDICATOR_COLOR_INDEX);
   
//----
  }
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
  
  ExtBuffer[0]=500;
  ExtColorsBuffer[0]=Red;
   
   return(rates_total);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
 
EfDim:

Boa tarde a todos! Por favor, aconselhar ou corrigir o código. É necessário desenhar um histograma sobre a barra zero, altura 500, cor vermelha.

A barra zero é a barra mais à esquerda. Taxas actuais_total-1

 
Alexey Viktorov:

Barra zero, esta é a barra mais à esquerda. Taxas actuais_total-1

Obrigado amigo!
 

Olá!

Por favor, ajude-me a resolver um problema.

//----------БЛОК 1---------
if(x)
 {
   func_1(a,b);
   ......
 }
//-----------БЛОК 2--------
if(z)
 {
  func(c,d);
  ....
 } 
//---------------------

Estes blocos precisam de funcionar nos seguintes modos:

1)Normal, ou seja, como escrito, verificar sequencialmente as condições de bloco

2)Bloco 1: a verificação da condição x é cancelada e o código interno não é executado; Bloco 2: a verificação da condição z é cancelada e o código interno é executado incondicionalmente

3)Bloco 1 : a verificação da condição x é cancelada e o código dentro é incondicionalmente executado; Bloco 2 : a verificação da condição z é cancelada e o código dentro não é executado

A troca de modos deve ser feita manualmente, nas configurações da EA.

(Só tive imaginação suficiente para mudar, três variantes de execução, mas depois o código é repetido, e eu gostaria de o evitar. Será possível?)

Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Среди программ для автоматического трейдинга можно выделить две большие категории: торговые роботы и индикаторы. Первые предназначены для совершения торговых операций на рынках, а вторые — для анализа котировок и выявления закономерностей в их изменении. При этом индикаторы могут использоваться непосредственно в роботах, образуя полноценную...
 

Boa tarde.

Há um código como este:

         // Нормализация входных данных
         Print(TimeToString((datetime)vlines_arr[i][0]));
         Print("размер buf_Dsl = ",ArraySize(buf_Dsl));
         ArrayPrint(buf_Dsl);
         double d1         = 0.0;
         double d2         = 1.0;
         double x_min      = buf_Dsl[ArrayMinimum(buf_Dsl)];
         double x_max      = buf_Dsl[ArrayMaximum(buf_Dsl)];
         for(int n = 0; n < ArraySize(buf_Dsl); n++)
         {
            inp_Dsl[n]=(((buf_Dsl[n]-x_min)*(d2-d1))/(x_max-x_min))+d1; // array out of range
         }

Não sei porque está a lutar...

2019.09.04 06:00
размер buf_Dsl = 6
 -7.25207 -12.75148 -14.52521 -13.95145 -12.49837  -3.17857
array out of range in '.....' (143,20)
Como posso sair da matriz?
 
Сергей Таболин:

Boa tarde.

Há um código como este:

Não sei porque é que se afoga...

Como se vai para além da matriz?

Na verdade está amaldiçoado eminp_Dsl[n]

 
Vladimir Karputov:

Na verdade, éinp_Dsl[n] que está a ser amaldiçoado.

Certo. Não definiu o tamanho... Obrigado.