[¡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 542

 
¡¡¡Gracias!!! Voy a echar un vistazo. Oh, los hermanos están aquí.
 
Dimka-novitsek:
Gracias. Lo comprobaré. Oh, los hermanos están aquí.

¡Esa es la clase de pasta que manejas! Ya es hora de que te hagas con una caravana independiente con línea de red. ¡IMHO!

 

Algunos consejos. No he podido encontrar una respuesta en el foro, la biblioteca de códigos o en Internet, así que pido ayuda. Gracias de antemano.

1) Operaciones de archivo. Extracto del libro de texto: Un grupo de funciones para operaciones de archivo.

Hay tres directorios (con subdirectorios) en los que se pueden ubicar los archivos de trabajo:

/HISTORY/<corredor actual> - específicamente para la función FileOpenHistory;

/EXPERTOS/FILOS - caso general;

/TESTER/FILES - especialmente para las pruebas.

Se suprime el trabajo con archivos de otros directorios.

Pregunta: ¿Existen bibliotecas, o comandos, u otras formas de hacer que el EA acceda al directorio que el usuario especifica, es decir, que acceda al directorio que yo especifico?

2) Pregunta: ¿Existen comandos o bibliotecas en MQL4 que se puedan utilizar para apagar el terminal por orden del usuario, es decir, para especificar ciertas condiciones que apagarán el terminal. No sólo apagar el Asesor Experto, sino cerrar completamente el terminal...

 

¡Hola de nuevo!

Imagínate dónde demonios ha desaparecido el último experto... Esto es lo que queda. ¿Es posible recuperarlo?

 
Es decir, el asesor de la última versión dejó atrás dos estúpidas líneas...
 

Por favor, ayúdenme a entender el problema de buscar la divergencia en los osciladores correctamente. En este caso, que sea el MACD. He esbozado el siguiente algoritmo:

1) Cuente las barras desde el principio y busque los picos en el oscilador:

   for(int i=limit; i=>0; i--)
    {
      MACD[i]=iMACD(Symb,TimeFrame,FastEMA,SlowEMA,5,PRICE_CLOSE,0,0) 
      
      if(MACD[i]>0)
       {
         if(MACD[i]>MACD[i-1] && MACD[i]>MACD[i-2] &&
            MACD[i]>MACD[i+1] && MACD[i]>MACD[i+2])
           {
            //--- здесь вносим в массив данные о баре, чтобы его можно было снова найти (1)
           }
       }
      if(MACD[i]<0)
       {
         if(MACD[i]<MACD[i-1] && MACD[i]<MACD[i-2] &&
            MACD[i]<MACD[i+1] && MACD[i]<MACD[i+2])
           {
            //--- здесь вносим в массив данные о баре, чтобы его можно было снова найти (2)
           }
       }

2) Crear matrices que contengan las horas punta:

datetime Date_up[], Date_dn[];

e introducir en ellos el valor del MACD[i] si se cumple la condición. El último pico nuevo debe tener el índice [n] y el penúltimo [n+1];

3) Consideremos otra solución en la situación (1):

if(Date_up[n]<Date_up[n+1]
 { // находим индекс бара
  int i1=iBarShift(Symb,TF,Date_up[n],false);
  int i2=iBarShift(Symb,TF,Date_up[n+1],false);
  // находим пик на графике баров в пределах пяти баров
  double High1=iHighest(Symb,TF,MODE_HIGH,5,i1);
  double High2=iHighest(Symb,TF,MODE_HIGH,5,i2);
  
  if(High1>High2)
   {
    // ЕСТЬ ДИВЕРГЕНЦИЯ!!!
   }
 }

En realidad, el problema con el punto 2: ¿cómo organizar esa matriz como en una serie temporal para que los valores se desplacen en cada nuevo pico?

 
merkulov.artem:

Algunos consejos. No he podido encontrar una respuesta en el foro, la biblioteca de códigos o en Internet, así que pido ayuda. Gracias de antemano.

1) Operaciones de archivo. Extracto del libro de texto: Un grupo de funciones para operaciones de archivo.

Hay tres directorios (con subdirectorios) en los que se pueden ubicar los archivos de trabajo:

/HISTORY/<corredor actual> - específicamente para la función FileOpenHistory;

/EXPERTOS/FILOS - caso general;

/TESTER/FILES - especialmente para las pruebas.

Se suprime el trabajo con archivos de otros directorios.

Pregunta: ¿Existen bibliotecas, o comandos, u otras formas de hacer que el EA acceda al directorio que el usuario especifica, es decir, que acceda al directorio que yo especifico?

2) Pregunta: ¿Existen comandos o bibliotecas en MQL4 que se puedan utilizar para apagar el terminal por orden del usuario, es decir, para especificar ciertas condiciones que apagarán el terminal. ¿No sólo desactivar el Asesor Experto sino cerrar el terminal por completo?

1.https://www.mql5.com/ru/code/10873

Esta biblioteca sirve para trabajar con directorios fuera del sandbox. Se puede copiar, mover (renombrar), usar un enlace simbólico al directorio que se necesita, que es lo mismo que un archivo o directorio. Es decir, crear un enlace simbólico en la caja de arena, trabajar con él como con el directorio de su archivo, y luego borrarlo, o no borrarlo si lo necesita.

2. https://www.mql5.com/ru/code/8577

Se trata de una antigua biblioteca de funciones WinAPI con shell MQL4. Todas las operaciones con archivos y directorios. No lo recomiendo. Es más fiable que el primero.

3. https://www.mql5.com/ru/code/9951

 // 2.2.1. Функция закрывает окно терминала МТ4. Функция возвращает TRUE, если сообщение поставлено в очередь, иначе - FALSE.
 bool ServiceMetaTraderClose();

==================

Artem, ¿sabes que aquí están prohibidos los apodos con punto? Su perfil no es visible debido al punto.

 
...... <br / translate="no">

Artyom, ¿sabes que aquí están prohibidos los apodos con punto? Su perfil no es visible debido al punto.


Muchas gracias por el consejo. ¿Funciona sólo en Vista o también en 7? o nadie lo ha comprobado?

Hice mi perfil hace mucho tiempo, no sabía lo de dot. Intenté editarlo hace tiempo pero aparece el error "El enlace no funciona". Escribí a soporte, pero no hay respuesta. Así que lo acepté, cumple la función principal :)

 
merkulov.artem:


Muchas gracias por el consejo. ¿Funciona sólo en Vista o también en 7?

Creé el perfil hace mucho tiempo, no sabía lo del punto. Intenté editarlo hace tiempo y con diligencia, da error "El enlace no funciona". Escribí al soporte, silencio. Así que lo acepté, cumple su función principal :)

Dice desde Vista.
 
Dimka-novitsek:

¡Hola de nuevo!

1. Imagínate, ¿dónde demonios ha desaparecido el último experto? Esto es lo que queda.

2. ¿Es posible recuperarlo?


¡Buenos días!

1. ¡Conduces esa cantidad de dinero! Ya es hora de que te hagas con una cámara autónoma con línea en red. ¡IMHO! (Cuando no está solo en la computadora - tal eliminación no es sorprendente, lo más probable es que alguien al vapor, pero no importa - el código es demolido ...) Por otra parte, ¿cómo puede ser (sin el amaño) que el código esté casi borrado y se pulse el botón "Guardar" (disquete arriba a la izquierda)? Incluso si alguien borrara algo por las prisas, ¿por qué guardarlo? Una vez más, tenga en cuenta que al escribir un programa, es necesario realizar un ahorro intermedio, y en este caso, continuar con ellos (mediante la carga de la versión final del intermedio (final - es si el programa está terminado) guardar).

2. No se puede.

Razón de la queja: