Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 668

 
Artyom Trishkin:

Hazlo. Entonces el código aquí.

Por cierto, Artem.

La tarea que nos ocupa plantea una cuestión interesante.

Para comprobar TODO, se necesita un procedimiento de "importación de datos".

Es decir, las matrices dinámicas deben cargarse con sus propios datos dinámicos de fuentes de terceros.

No sé si MT4/MT5 tiene este procedimiento - o no?

¿Cómo importar datos en MT4/MT5?

¿Es esto posible?

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

Me interesa importar datos dinámicos, no sólo leer datos de un array.

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

Por cierto, aquí es donde http://tol64.blogspot.com/2015/12/easy-and-fast-gui-mql.html esta importación debe ser por la construcción.

Simplemente no hay manera de hacerlo sin él.

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

No veo la importación en MT4/MT5 o sus extensiones.

¡¡¡Dame la importación!!!

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

Esto es un disparate feroz, digno de pasar a los anales del foro.

"¡Ah, la musa! Saber que es fuerte,
"¡Eso ladra al 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!

¡¡¡Te voy a hacer una chuleta, en el foro !!!

Lo siento.

 

¡Buenas tardes!

¿Podríais aconsejar cómo implementar correctamente el llenado del buffer del indicador con datos copiando desde el buffer de otro indicador, llamado a través de iCustom? La idea es poder llamar al mismo indicador, construido en base a los datos de otro instrumento en la ventana del instrumento actual.

Como resultado, el buffer de datos está vacío, el gráfico no se traza. El tampón de color no es 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:

Es una chorrada digna de los anales del foro.

¡Alexey!

¿Desde cuándo es usted comerciante? -

- ¿Ninguna?

Los comerciantes solían razonar simple y llanamente...

- ¿Qué cuenta tienes, Alexey, en más o en menos, y cuántos años?

- ¿O no tiene ninguna cuenta comercial?

- ¿O simplemente eres un descerebrado y has decidido enseñar a otros comerciantes?

- Hay muchos.

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

- Tengo una cuenta de comerciante, y es buena. Mucho tiempo. 20 años. Y no voy a enseñar a nadie.

- Esa es la paradoja.

 
neverness:

¡Alexey!

¿Desde cuándo es usted comerciante? -

- ¿Ninguna?

Los comerciantes solían razonar simple y llanamente...

- ¿Qué cuenta tienes, Alexey, en más o en menos, y cuántos años?

- ¿O no tiene ninguna cuenta comercial?

- ¿O simplemente eres un descerebrado y has decidido enseñar a otros comerciantes?

- Hay muchos.

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

- Tengo una cuenta de comerciante, y es buena. Mucho tiempo. 20 años. Y no voy a enseñar a nadie.

- Esa es la paradoja.

Se le ha dado una respuesta sobre el lado técnico de la moneda, y no debería estar relacionado con la calidad del comercio en absoluto.

 
Vitaly Muzichenko:

Se le ha dado una respuesta sobre el lado técnico de la moneda, y no debería estar relacionado con la calidad del comercio en absoluto.

¿Por qué?

¿O cree que los operadores son "idiotas analfabetos" que juegan y apuestan en el mercado?

Entonces yo soy uno de ellos.

Sólo tomo la integral de dx sin dificultad. ¿Y tú? - ¿Qué, tienes un problema?

Es evidente que no eres un comerciante, al igual que muchos otros "expertos" de este foro.

Para un trader, el mercado FOREX es una "vaca sagrada", que SIEMPRE tiene razón.

Si eres capaz de impulsar tu idea en este mercado, ¡eres un héroe!

Si el mercado le da un vuelco, ¡ya sabe lo que le espera!

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

Pero no se prohíbe a nadie en el mercado de divisas: ¡¡¡otra paradoja!!!

Si tienes razón o no - ¡no importa! ¡¡¡Todo está pagado!!!

 
Artyom Trishkin:

Otra vez. Mira atentamente la imagen:


Gracias por la pista.

 
neverness:

¿Por qué?

¿O cree que los operadores son "idiotas analfabetos" que juegan y apuestan en el mercado?

Entonces yo soy uno de ellos.

Sólo tomo la integral de dx sin dificultad. ¿Y tú? - ¿Qué, tienes un problema?

Es evidente que no eres un comerciante, al igual que muchos otros "expertos" de este foro.

Para un trader, el mercado FOREX es una "vaca sagrada", que SIEMPRE tiene razón.

Si eres capaz de impulsar tu idea en este mercado, ¡eres un héroe!

Si el mercado le da un vuelco, ¡ya sabe lo que le espera!

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

Pero no se prohíbe a nadie en el mercado de divisas: ¡¡¡otra paradoja!!!

Si tienes razón o no - ¡no importa! ¡¡¡Todo está pagado!!!

Hablas de matrices y hablas de Forex. Sin embargo, ¡una paradoja!

 
neverness:


- Y tengo una cuenta de comerciante, y una decente. Durante mucho tiempo. 20 años. Y no voy a enseñar a nadie.

- Esa es la paradoja.

Parece que estás diciendo tu edad, no tu antigüedad.
 

He leído tu mensaje, todo parece estar bien :-) pero ¿qué pasa con la pregunta que provocó esta confusión?

Declarar un array medianteSetIndexBuffer(1, tmp1) no hace nada. Por supuesto, puedo aumentar el tamaño del array en el mismo bucle, pero quiero conocer una forma más sencilla y eficiente.

Razón de la queja: