Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 389

 
Vinin:


¿Puedo preguntar qué es lo que da tanto miedo?


El producto de los minutos por los segundos multiplicado por las horas.
El movimiento de los precios no es caótico, sino "codificado".
Para descifrar este movimiento, es necesario sintetizar el movimiento del precio con un patrón - una línea móvil. Elegí el continuo del tiempo.
La síntesis del movimiento del precio con el movimiento del tiempo debe realizarse utilizando una fórmula especial que no le revelaré.
El indicador anterior se basa en una fórmula reducida.
La fórmula completa (que he calculado para satisfacer mi interés) es 37 veces más complicada que la fórmula reducida.

El indicador de la fórmula completa se ha construido hoy a las 12:00 horas de Moscú.
El espectáculo que había imaginado se reveló a mis ojos.
Vi un patrón: líneas móviles cuyo movimiento posterior se puede calcular, y como su movimiento está directamente relacionado con el movimiento del precio, el movimiento del precio será predecible.
 

Hay otra opción complicada.

#include <WinUser32.mqh>

int delay = 180;
datetime read_now;
int hWnd = 0;

void init()
 {
  read_now = TimeLocal() + delay;
  hWnd = WindowHandle(Symbol(), Period());
  for (ini i = 0; i < 300; i++) PostMessageA(hWnd, RegisterWindowMessageA("MetaTrader4_Internal_Message"), 2, 1);
 }
void start()
 {
  while(!IsStopped())
   {
    int how_many_remains = read_now - TimeLocal();
    Comment(StringConcatenate(StringSubstr("-", (how_many_remains%60 >= 0), 0),
                              StringSubstr("0", (MathAbs(how_many_remains/60) > 9), 0),
                              MathAbs(how_many_remains/60), ":",
                              StringSubstr("0", (MathAbs(how_many_remains%60) > 9), 0),
                              MathAbs(how_many_remains%60)));
    Sleep(1000);
   }
 }
Mientras se procesa esta pila de mensajes, el init se completará y pasará a esperar un tick en la salida.
 
Zhunko:

Establece un calendario con tu experto. El experto trabajará.

Y tu código también funciona, es decir, start() no debe iniciarse con init() + while(!IsStopped()), basta con cambiar TimeCurrent() por TimeLocal() en el EA de prueba y poner while(!IsStopped()){} en tu script en void start() (por supuesto, iniciar desde otro gráfico, Symbol() - Period() establecido para el gráfico con el EA). Gracias, ahora lo he entendido.
 
gyfto:
Y tu código también funciona, es decir, start() no debe iniciarse con init() + while(!IsStopped()), basta con cambiar TimeCurrent() por TimeLocal() en el EA de prueba y poner while(!IsStopped()){} en void start() en tu script (por supuesto, iniciar desde otro gráfico, Symbol() - Period() fijar el gráfico con el EA). Gracias, ahora lo he entendido.

Funciona y funciona. Debido a la función de tiempo equivocado, no se puede ver que funciona.

No he mirado su código. ¿Quién sabe lo que querías decirles...?

 
Zhunko:

Tan indecente.


Lo sé )))

Zhunko:
void init()
 {
  ServiceRefreshChart(hWnd, 100);
 }
void start()
 {
  ServiceStopRefreshChart(hWnd);
  while(!IsStopped())
   {
    ...
    Sleep(1000);
   }
 }

Lo tengo...

Zhunko:

Hay otra opción complicada.


Peligro de muerte clínica de la CPU en el VPS.

 
gyfto:

Peligro de muerte clínica de la CPU en el VPS.

¿Es su experiencia personal?

Sólo un gran número de mensajes asíncronos a la ventana. Esto no debería causar una caída del sistema y un aumento de la carga de la CPU.

El sistema envía cientos de miles de estos mensajes a todas las ventanas.

 
Zhunko:

No he mirado su código. ¿Quién sabe lo que querías decirles...?

No hay nada allí, es sólo un shell práctico para ejecutar scripts WSH para el análisis.
Zhunko:

¿Es esta su experiencia personal?


Así es, por la experiencia de la vida. Si la carga de la CPU es del 100%, ni siquiera puedes ir al VPS, tienes que contactar con el soporte técnico y pedir que se reinicie el VPS. Y la carga de la CPU la consiguen mis scripts de WSH muy fácilmente, tengo que vigilar cada bit extra de memoria... Bien si estoy en VPS, pero si no estoy, entonces el reinicio de la VM es una emergencia programada para TC. Estoy acostumbrado...
 
De acuerdo.
He descubierto la función trigonométrica:
MathCos

Pero no entiendo cómo hacer una onda sinusoidal utilizando esta función.


y = 2cos(x*x)


Este problema me está poniendo de los nervios.

 
Link_x:

Pero no entiendo cómo hacer una onda sinusoidal utilizando esta función.

y = 2cos(x*x)

Este problema puso a prueba mi sistema nervioso.


Hay que sustituir el ángulo en radianes. Si conviertes los grados a radianes (180 grados = pi radianes) tienes que:

1 radián=180/PI (PI =3,14.... tomar el valor exacto hasta el 20º dígito y anotarlo en #definе)

 
Link_x:

El producto de los minutos por los segundos multiplicado por las horas.
El movimiento de los precios no es caótico, sino "codificado".
Para descifrar este movimiento, hay que realizar una síntesis del movimiento del precio con una línea de movimiento del patrón. Elegí el continuo del tiempo.
La síntesis del movimiento del precio con el movimiento del tiempo debe realizarse utilizando una fórmula especial que no le revelaré.
El indicador anterior se basa en una fórmula reducida.
La fórmula completa (que he calculado para satisfacer mi interés) es 37 veces más complicada que la fórmula reducida.

El indicador de la fórmula completa se ha construido hoy a las 12:00 horas de Moscú.
El espectáculo que había imaginado se reveló a mis ojos.
Vi un patrón: líneas móviles cuyo movimiento posterior se puede calcular, y como su movimiento está directamente relacionado con el movimiento del precio, el movimiento del precio será predecible.


Pero no tienes este trabajo, tienes un trabajo muy diferente allí