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

 
Maxim Kuznetsov:

NÃO, NÃO PODE...

É engraçado, mas o que o usuário selecionou na guia "Cores" normalmente NÃO está disponível dentro do indicador

Obrigado pela resposta.

Eu ainda tenho um sonho que o desenvolvedor no MT4 (para Windows) ADAPTIZOU os redirecionamentos no meu tablet....

Eu lhes escrevi, eles responderam, eles disseram que todos os seus esforços estão focados no MT5

 
kopeyka2:

Obrigado por sua resposta.

Eu ainda tenho um sonho que o desenvolvedor no MT4 (para Windows) ADAPTADO o redesenho para o tablet....

Eu lhes escrevi, eles responderam, disseram que todos os seus esforços estão concentrados no MT5.

No mt4 é improvável que haja algo de novo.

 
kopeyka2:

Hi.

Pergunta: Em MT4, é possível combinar a cor do buffer EZ com o gráfico, desde que a cor do indicador no gráfico tenha mudado?

No código

#indicadores de propriedade_color1 clrYellow

***

***

ObjectCreate(.......);

ObjectSetInteger(... indicators_color1);


Problema; quando você muda de cor no indicador, a cor da linha tampão muda, mas no gráfico é a mesma que em #propriedade. Precisa corresponder.

Até agora resolvido através da cor de entrada , MAS são duas entradas no código, duas mudanças nas configurações, e eu gostaria de uma configuração através do buffer.


Obrigado por qualquer feedback.

Diagramei-o a partir de um smartphone.


Levamos o indicador onde o gráfico é exibido e olhamos:

//+------------------------------------------------------------------+
//| Описание                                                         |
//+------------------------------------------------------------------+
void Descriptions(void)
  {
   int x=4;
   int y=1;
   int arr_colors[]={indicator_color1,indicator_color2,indicator_color3,indicator_color4,indicator_color5};
   string arr_texts[]={"Up direction","Down direction","Crossing to up","Crossing to down","Neutral"};
   string arr_names[COUNT];
   for(int i=0; i<COUNT; i++)
     {
      arr_names[i]=prefix+"label"+(string)i;
      arr_colors[i]=PlotIndexGetInteger(i,PLOT_LINE_COLOR);
      int shift=(i*(i<2 ? 90 : i<COUNT-1 ? 96 : 100)-(i>0 ? x : 0));
      x+=shift;
      Label(arr_names[i],x,y,CharToString(167),16,arr_colors[i],"Wingdings");
      Label(arr_names[i]+"_txt",x+10,y+5,arr_texts[i],10,clrGray,"Calibri");
     }
  }
//+------------------------------------------------------------------+

Uma gama de cores é declarada e rubricada com as cores especificadas pelo usuário nas configurações do indicador.

Em seguida, o valor da cor da matriz é passado para a função de saída da etiqueta de texto.

Tudo é padrão na função de saída da etiqueta de texto:

//+------------------------------------------------------------------+
//| Выводит текстовую метку                                          |
//+------------------------------------------------------------------+
void Label(const string name,const int x,const int y,const string text,const int size,const color clr,const string font)
  {
   if(ObjectFind(0,name)!=wnd)
      ObjectCreate(0,name,OBJ_LABEL,wnd,0,0,0,0);
   ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false);
   ObjectSetInteger(0,name,OBJPROP_HIDDEN,true);
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
   ObjectSetInteger(0,name,OBJPROP_CORNER,CORNER_LEFT_LOWER);
   ObjectSetInteger(0,name,OBJPROP_ANCHOR,ANCHOR_LEFT_LOWER);
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,size);
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//---
   ObjectSetString(0,name,OBJPROP_FONT,font);
   ObjectSetString(0,name,OBJPROP_TEXT,text);
   ObjectSetString(0,name,OBJPROP_TOOLTIP,"\n");
  }
//+------------------------------------------------------------------+

A cor passada para a função define a cor do marcador de texto. E tudo funciona...

 
Artyom Trishkin:

Pegamos o indicador no qual o gráfico é exibido e olhamos para ele:

Uma gama de cores é declarada e inicializada com as cores especificadas pelo usuário nas configurações do indicador.

Em seguida, o valor da cor da matriz é passado para a função de saída da etiqueta de texto.

Tudo é padrão na função de saída do rótulo de texto:

A cor passada para a função define a cor do rótulo do texto. E tudo funciona...

Considerei a opção de matriz... Não está claro COMO está conectado com o buffer...? A pergunta era sobre UM movimento de mudança de cor... para o tampão e o rótulo (linha).

Ou eu não entendo ?)))

Obrigado pelo exemplo))))


PS

pensou, talvez de alguma forma puxar (comparar) a cor do tampão ... Acho que isto é um disparate...

 

Saudações. Você pode me dizer como escrever um indicador que funcione apenas no preço pedido?

RSI = NormalizeDuplo((iRSI(NULL,0,14,0,0)),Dígitos());

 
Anatolij Anufriev:

Saudações. Você pode me dizer como escrever um indicador que funcione apenas no preço pedido?

RSI = NormalizeDuplo((iRSI(NULL,0,14,0,0)),Dígitos());

em barras MT4 - OHLC são construídas pela Bid, de fato, os preços Ask não estão disponíveis na história. como opção, colete Ask em carrapatos e use iRSIOnArray()

 

Qual é a melhor / mais confortável solução para utilizar bancos de dados com MQL4/5?

Há muitos artigos, é difícil escolher um

 
Igor Makanu:

em barras MT4 - OHLC são construídas pela Bid, na verdade os preços Ask não estão disponíveis na história, alternativamente coletar em Ask ticks e usar iRSIOnArray()

Obrigado

 
Sergey Likho:

Qual é a melhor / mais confortável solução para utilizar bancos de dados com MQL4/5?

Há muitos artigos, é difícil escolher um.

Se você não tiver um artigo, procure "Artigos" no fórum. Você pode encontrar todas as informações na seção "Fórum". Há muitas coisas que foram combinadas com MT4, SQL e aplicações como MathLab ou R... Procure o que quiser, procure muito bem neste fórum

https://www.mql5.com/ru/search#!keyword=sql&module=mql5_module_articles

Поиск - MQL5.community
Поиск - MQL5.community
  • www.mql5.com
Поиск выполняется с учетом морфологии и без учета регистра. Все буквы, независимо от того, как они введены, будут рассматриваться как строчные. По умолчанию наш поиск показывает страницы...
 

Por alguma razão, não consigo pegar uma barra no laço, que começa às 15 horas.

Se eu escrever if(i<24) como condição, o registro exibe a hora de cada barra para o dia, mas a condição exigida não é cumprida:


   Counted_bars=IndicatorCounted(); // Количество просчитанных баров 
   i=Bars-Counted_bars-1;           // Индекс первого непосчитанного
   while(i>=0)                      // Цикл по непосчитанным барам
     {
      
      if( TimeHour(iTime(NULL,PERIOD_H1,i)==15)  )
      //if(i<24)
      Print("TimeHour = ", TimeHour(iTime(NULL,PERIOD_H1,i)));
      
      CrossDown[i]=High[i]+250*Point;
   
      i--;                          // Расчёт индекса следующего бара
     }
Razão: