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

 
Artyom Trishkin:

Faça-o. Em seguida, o código aqui.

A propósito, Artem.

A tarefa em mãos traz à tona uma questão interessante.

Para verificar TUDO, você precisa de um procedimento de "importação de dados".

Ou seja, as matrizes dinâmicas devem ser carregadas com seus próprios dados dinâmicos de fontes de terceiros.

Eu não sei se o MT4/MT5 tem esse procedimento - ou não?

Como importar dados em MT4/MT5?

Isto é possível???

-------------------------------------------------------------------

Estou interessado em importar dados dinâmicos, não apenas ler dados de uma matriz.

---------------------------------------------------------------------------------------------------------------

A propósito, é aqui que http://tol64.blogspot.com/2015/12/easy-and-fast-gui-mql.html esta importação deve ser feita por construção.

Simplesmente não há maneira de fazê-lo sem ele.

------------------------------------------------------------------------------------------

Não vejo a importação em MT4/MT5 ou suas extensões.

Dê-me a importação!!!

Библиотека "Easy And Fast GUI" для создания графических интерфейсов на MQL
  • tol64.blogspot.com
С этой статьи я начинаю еще одну серию, относящуюся к разработке графических интерфейсов. На текущий момент нет ни одной библиотеки кода, которая позволяла бы легко и быстро создавать качественные графические интерфейсы в MQL-приложениях. Я имею в виду графические интерфейсы, к которым мы все привыкли в известных операционных системах. Цель проекта — дать конечному пользователю такую возможность и научить это делать с помощью моей библиотеки. Я постарался сделать ее максимально понятной в изучении, с возможностями дальнейшего развития.
 
Aleksey Lebedev:

Este é um disparate feroz, digno de ser incluído nos anais do fórum.

"Ah, a moussa! saiba que ela é forte,
"Aquele latido no elefante!"

https://ru.wikisource.org/wiki/%D0%A1%D0%BB%D0%BE%D0%BD_%D0%B8_%D0%9C%D0%BE%D1%81%D1%8C%D0%BA%D0%B0_(%D0%9A%D1%80%D1%8B%D0%BB%D0%BE%D0%B2)

Alexey!

Vou fazer um corte de você, no fórum!!!

Desculpe!

 

Boa tarde!

Você poderia aconselhar como implementar corretamente o preenchimento do buffer indicador com dados, copiando do buffer de outro indicador chamado via iCustom? A idéia é poder chamar o mesmo indicador, construído com base nos dados de outro instrumento na janela do instrumento atual.

Como resultado, o buffer de dados está vazio, o gráfico não é plotado. O tampão de cor não é importante.

//---- indicator settings
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots   1
#property indicator_type1   DRAW_COLOR_HISTOGRAM
#property indicator_color1  Green,Red
#property indicator_style1  0
#property indicator_width1  3

//--- input data
input string OtherSymbol=""; //Название символа, по которому считать. Если пусто - текущий символ
//---- indicator buffers
double                    DataBuffer[];
double                    ColorsBuffer[];
//---- external indicator handle
int                       CustomHandle=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {  
   SetIndexBuffer(0,DataBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,ColorsBuffer,INDICATOR_COLOR_INDEX);
   IndicatorSetString(INDICATOR_SHORTNAME,"PercentChangeHistogram");
   IndicatorSetInteger(INDICATOR_DIGITS,2);
//----
   if (OtherSymbol!="") //если есть имя другого символа, рекурсивно вызываем индикатор через iCustom 
      { 
      CustomHandle=iCustom(OtherSymbol,_Period,"PercentChangeHistogram","");
     if (CustomHandle==-1)
         {Alert ("iCustom function initialization failed!");
         return (INIT_FAILED);}
     }
   return (INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|  OnCalculate                                                     |
//+------------------------------------------------------------------+
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[])
  {
   if(rates_total<2)
      return(0);
   int start=prev_calculated-1;
   if(start<1) start=1;
   //---
   if (OtherSymbol=="")// если input переменная содержит пустую строку, заполняем индикаторный массив через простой расчет функцией CalculateData
                       // если input переменная содержит не пустую строку, пытаемся заполнить индикаторный массив копированием данных другого индикатора
   CalculateData(start,rates_total,open,close);
   else
   CopyBuffer(CustomHandle,0,start,rates_total-prev_calculated,DataBuffer);
   //---
   return(rates_total);
  }
  
...
 
Aleksey Lebedev:

Isso é um monte de besteiras dignas dos anais do fórum.

Alexey!

Há quanto tempo você é um comerciante? -

- Nenhum?

Os comerciantes costumavam raciocinar de forma clara e simples?

- Que conta você tem, Alexey - em mais ou menos, e quantos anos?

- Ou você não tem nenhuma conta comercial?

- Ou, você está apenas sem cérebro, e decidiu ensinar outros comerciantes?

- Há muitos deles.

--------------------------------------------------------------------------------------

- Eu tenho uma conta de comerciante e é uma boa conta. Muito tempo. 20 anos. E eu não vou ensinar ninguém.

- Esse é o paradoxo.

 
neverness:

Alexey!

Há quanto tempo você é um comerciante? -

- Nenhum?

Os comerciantes costumavam raciocinar de forma clara e simples?

- Que conta você tem, Alexey - em mais ou menos, e quantos anos?

- Ou você não tem nenhuma conta comercial?

- Ou, você está apenas sem cérebro, e decidiu ensinar outros comerciantes?

- Há muitos deles.

--------------------------------------------------------------------------------------

- Eu tenho uma conta de comerciante e é uma boa conta. Muito tempo. 20 anos. E eu não vou ensinar ninguém.

- Esse é o paradoxo.

Foi dada uma resposta no lado técnico da moeda, e ela não deve estar de forma alguma ligada à qualidade do comércio.

 
Vitaly Muzichenko:

Você recebeu uma resposta na parte técnica da moeda, e ela não deve estar ligada à qualidade do comércio.

Por que isso acontece?

Ou você acha que os comerciantes são "idiotas analfabetos" que jogam e apostam no mercado?

Então eu sou um deles.

Somente eu tomo sem dificuldade o integral de dx. E você? - O quê, você tem algum problema?

Você obviamente não é um comerciante, assim como muitos outros "especialistas" neste fórum!

Para um comerciante, o mercado FOREX é uma "vaca sagrada", que é SEMPRE DIREITA.

Se você pode empurrar sua idéia através deste mercado - você é um herói!

Se o mercado o derrubar, então você sabe o que o espera!

--------------------------------------------------------------------------------------------------------

Mas ninguém é banido no mercado Forex - outro paradoxo!!!

Se você está certo ou errado - não importa! Tudo é pago!!!!

 
Artyom Trishkin:

Novamente. Olhe com atenção para a foto:


Obrigado pela dica.

 
neverness:

Por que isso acontece?

Ou você acha que os comerciantes são "idiotas analfabetos" que jogam e apostam no mercado?

Então eu sou um deles.

Somente eu tomo sem dificuldade o integral de dx. E você? - O quê, você tem algum problema?

Você obviamente não é um comerciante, assim como muitos outros "especialistas" neste fórum!

Para um comerciante, o mercado FOREX é uma "vaca sagrada", que é SEMPRE DIREITA.

Se você pode empurrar sua idéia através deste mercado - você é um herói!

Se o mercado o derrubar, então você sabe o que o espera!

--------------------------------------------------------------------------------------------------------

Mas ninguém é banido no mercado Forex - outro paradoxo!!!

Se você está certo ou errado - não importa! Tudo é pago!!!!

Você fala de matrizes, e você fala de Forex! Um paradoxo, no entanto!

 
neverness:


- E eu tenho uma conta de comerciante, e uma conta decente, por isso. Por muito tempo. 20 anos. E eu não vou ensinar ninguém.

- Esse é o paradoxo.

Parece que você está dizendo sua idade, não sua antiguidade.
 

Eu li sua mensagem, tudo parece bem :-) mas e a pergunta que provocou essa confusão?

Declarar um array viaSetIndexBuffer(1, tmp1) não faz nada. É claro que posso aumentar o tamanho da matriz no mesmo loop, mas quero saber de uma maneira mais simples e eficiente.

Razão: