[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 455

 
neon51r:


¿Es posible completar las Líneas de Fibonacci?


Una vez dibujadas estas líneas en el gráfico, el precio de ese nivel se escribiría automáticamente contra los niveles.

Y cambiaría automáticamente a medida que la fibra se estira

Claro que sí, ¿por qué no?
 
Vinin:


Dibujar algo


Gracias, y ¿qué has arreglado, por favor, dime? No soy bueno comparando código
 
VladislavVG:
Claro que sí, ¿por qué no funciona?

Todos)) No sé mql

¿Puede decirme qué debo editar?) y ¿qué archivo debo editar?

 
neon51r:

Todos)) No sé mql

¿Puede decirme, por favor, qué hay que cavar?) y ¿qué archivo debo editar?

Tú eliges:

  1. Trabajo

  2. Cuaderno de trabajo y documentación
 
Reshetov:

Para elegir.

Gracias)

Todo decidido. Gracias:%)

 
sss2019:

Gracias, ¿qué has arreglado, por favor dime? No soy bueno comparando código

double mass1[];
double mass2[];
 

¿Puede aconsejarnos sobre la aplicación técnica de esto?

Si se pierde la conexión a Internet en la estación de trabajo, entonces el teléfono o el módem gsm conectado a la estación de trabajo (la misma) enviará un mensaje sms?

 
solar:

¿Puede aconsejarnos sobre la aplicación técnica de esto?

Si la conexión a Internet en la estación de trabajo se pierde, a continuación, conectado a la estación de trabajo (el mismo) teléfono o gsm-módem, realizado el envío de mensajes SMS?

Tengo un programa que envía un mensaje a ICQ. Página con archivos y descripción ... https://www.mql5.com/ru/code/10352

En el código del Asesor Experto se puede poner la función de enviar un mensaje cuando se rompe el internet y se conecta ....

 
ilunga:
exactamente

He modificado un poco el guión:

//+------------------------------------------------------------------------------------------+
//|                                                                     ArraySetAsSeries.mq4 |
//+------------------------------------------------------------------------------------------+
//|                         script program start function                                    |
//+------------------------------------------------------------------------------------------+
//------------------------------------ НАЧАЛО START -------------------------------------- 1 -
int start()                                                              //функция start
  {                                                                      //начало start
   double Timestart=GetTickCount();                                      //переменная, с помощью которой вычисляется время (в милисекундах) начала выполнения скрипта
   double array1[][6];                                                   //объявляем массив-источник (массив, из к-о будут скопированы данные)
   double array2[][6];                                                   //объявляем массив-приемник (массив, куда будут скопированы данные), к-й на
                                                                         //момент объявления заполнен некоторыми данными
   int element_1=ArrayCopyRates(array1);                                 //копируем данные баров текущего графика в массив array1 
   int element_2=ArrayCopy(array2,array1,0,0,WHOLE_ARRAY);               //копируем данные всех баров в пользовательский массив
   bool element_3=ArrayGetAsSeries(array2);                              //проверка: является ли массив array1 массивом-таймсерией
   bool try_1=ArraySetAsSeries(array2,false);                            //устанавливаем НАПРАВЛЕНИЕ индексирования массива  
   bool element_4=ArrayGetAsSeries(array2);                              //проверка: является ли массив array2 массивом-таймсерией
   double element=array2[0][1];                                          //получаем значение цены открытия нулевого бара
//----------------------------------------------------------------------------------------- 2 -
   Comment("\nФункция ArrayCopyRates(array1) вернула: ",element_1,
           "\nФункция ArrayCopy(array2,array1,0,WHOLE_ARRAY) вернула: ",element_2,
           "\nФункция ArrayGetAsSeries(array2) вернула: ",element_3,
           "\nФункция ArraySetAsSeries(array2;false) вернула: ",try_1,
           "\nФункция ArrayGetAsSeries(array2) вернула: ",element_4,
           "\nЦена открытия нулевого бара (т.е. бара с ИНДЕКСОМ 0) равна: ",element,
           "\nСкрипт выполнялся всего ",GetTickCount()-Timestart," миллисекунд, из них: ",
           MathFloor((GetTickCount()-Timestart)/1000)," секунд ",((GetTickCount()-Timestart)/1000-MathFloor((GetTickCount()-Timestart)/1000))*1000,
           " миллисекунд");//печать сообщения на экран
//----------------------------------------------------------------------------------------- 3 -
   return(0);                                                             //выход из start
  }                                                                       //конец start
//-------------------------------------- КОНЕЦ START -------------------------------------- 4 -

El resultado es el siguiente:


Naturalmente, surgió una pregunta: En este caso copié los datos de las barras del gráfico actual en un array bidimensional array1 utilizando la función ArrayCopyRates(array1). Luego en la siguiente línea con la función ArrayCopy(array2,array1,0,0,WHOLE_ARRAY) copié los datos de array1 en array2. Luego, utilizando la función ArrayGetAsSeries, comprobé si array2 es un array-serie de tiempo. Y resultó (como puedes ver en la captura de pantalla), que el array es un array de series temporales, aunque no lo había "procesado" con la función ArraySetAsSeries antes.

Pregunta: por qué en el primer caso (pregunta anterior) necesitaba utilizar la función ArraySetAsSeries (para hacer que mi array se organizara como un array de series temporales), mientras que en este caso no necesito dicho procesamiento.

P.S. Perdón por la insistencia, sólo quiero entenderlo bien, para que no queden "lagunas en la historia". Gracias por todas las respuestas anteriores.

 
7777877:

He cambiado un poco el guión:


double array1[][6];                                                   //объявляем массив-источник (массив, из к-о будут скопированы данные)
double array2[][6];                                                   //объявляем массив-приемник (массив, куда будут скопированы данные), к-й на
Inmediatamente una pregunta. ¿Por qué la matriz es bidimensional?