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

 
¡Buenas tardes! ¿Qué pasa?
вершина =Low[iHighest( NULL, int timeframe, MODE_HIGH, i, start ) 

MODE_HIGH' - variable esperada C:\N-Archivos de programa (x86)\N-FXstart - MetaTrader\N-indicadores\N-policyclics.mq4 (46, 52)

MODE_HIGH es el identificador tomado de la tabla correspondiente è....

 
¿Por qué se necesita un int delante del marco temporal?
 
Gracias, ¡¡¡es una carrera!!!
 
Sí, así es, ¡¡¡Gracias!!!
 
extralifes:

Buenas tardes, señores.

Necesito su consejo sobre esta cuestión:

Estoy escribiendo un EA y me encontré con un problema. Mi Asesor Experto debe realizar cálculos cada minuto durante un número determinado de minutos. Después de eso, todos los datos deben reiniciarse y los cálculos deben realizarse desde el principio.

Y así el ciclo por ciclo. El ciclo de tiempo es de 5 a 60 minutos. Por favor, aconséjeme cómo describir esto correctamente en el código.

Por ahora el bucle de 5 minutos se ve así:

Le agradecería cualquier ayuda.


Propongo esta solución:

//+------------------------------------------------------------------+
//|                                             Circle X Minutes.mq4 |
//|                                             Copyright 2012, Roll |
//|                                https://www.mql5.com/ru/users/roll |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, Roll"
#property link      "https://www.mql5.com/ru/users/roll"
extern int minut=5;datetime t;int k;
//+------------------------------------------------------------------+
int init(){t=0;k=minut;return(0);}int deinit(){return(0);}
//+------------------------------------------------------------------+
int start(){if(k>60)k=0;if(k==0)return(0);F1();if(k>0){if(F()==true)k--;}return(0);}
void F1(){if(t==0&&TimeSeconds(TimeCurrent())>=0)
  {Alert("цикл из ", minut," минут - УСТАНОВКА: время сервера - ",TimeToStr(TimeCurrent(),
   TIME_SECONDS));t=TimeCurrent();}}
bool F(){if(t!=0&&t<TimeCurrent()&&TimeSeconds(TimeCurrent())>=0)
  {Alert("цикл из ", minut," минут - ПРОВЕРКА: время сервера - ",TimeToStr(TimeCurrent(),
   TIME_SECONDS));t=TimeCurrent()+59;return(true);}} 
 
Roll:


Sugiero esta solución:

No funciona. Aquí tienes una captura de pantalla:

El tiempo parece ser confuso + después del final del primer ciclo, uno nuevo no ha comenzado.

 

No sé cómo calcular el tiempo de vida desde la formación del patrón hasta 0 bar.

Si el patrón existe y no hay una referencia dura de precio y tiempo.

 

Buenas tardes, señores.

Necesito su consejo sobre esta cuestión: ¿Cómo escribir en el código del Asesor de Expertos para que desde el saldo que se retira la cantidad especificada, digamos que nuestro saldo = $ 80 cada vez que el saldo = $ 80 + $ 10 Asesor de Expertos de la mayor menos tomó $ 5, reduciendo el lote y el cierre de estos 10 $ y un nuevo informe comenzó en $ 85

 
extralifes:

No funciona. Aquí tienes una captura de pantalla:

El tiempo parece ser confuso + después del final del primer ciclo, uno nuevo no ha comenzado.


¿Qué tal otra opción?

//+------------------------------------------------------------------+
//|                                      Circle_X _Minutes_v.2.mq4 |
//|                                             Copyright 2012, Roll |
//|                                https://www.mql5.com/ru/users/roll |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, Roll"
#property link      "https://www.mql5.com/ru/users/roll"
extern int minut=5;datetime t;int k;
//+------------------------------------------------------------------+
int init(){t=0;k=minut;return(0);}int deinit(){return(0);}
//+------------------------------------------------------------------+
int start(){F1();if(k>60)return(0);if(k==0){t=0;k=minut;F1();}if(k>0){Sleep(59*950);k--;
if(k!=0)Alert("цикл из ", minut," минут - ПРОВЕРКА: время - ",TimeToStr(TimeLocal(),TIME_SECONDS));
  t=TimeLocal()+59;}return(0);}
void F1(){if(t==0&&TimeSeconds(TimeLocal())>=0)
  {Alert("цикл из ", minut," минут - УСТАНОВКА: время - ",TimeToStr(TimeLocal(),TIME_SECONDS));t=TimeLocal();}}
 

Hola,

Por favor, dame el ejemplo más sencillo para abrir una orden (inmediatamente, sin ningún tipo de if).
El libro de texto es muy complicado.