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

 
alexey1979621:
Gracias. Sé lo de la llamada del indicador. Pero los parámetros ajustables del indicador deben ser listados cuando los aplicamos en pruebas o en operación y como este EA no puede ser probado en el tester (ya que dos pares están involucrados en el comercio), simplemente no podemos elegir estos parámetros en el historial.

Algo me dice que no entiendes del todo de lo que estamos hablando. Este indicador toma lecturas de dos pares de divisas diferentes, estos pares se establecen en la configuración externa del indicador. Y si usted aplica a este indicador con parámetros por defecto en diferentes Asesores Expertos en diferentes pares de divisas, obtendrá valores erróneos de él. Y no importa si lo pruebas o lo falsificas - ¡tienes que prescribir el trabajo con el indicador correctamente!
alexey1979621:
Otra pequeña pregunta que tenemos en dos instrumentos comercios abiertos ya sea para vender o para comprar, pero si necesitamos uno para abrir para vender para un instrumento y otro para abrir para comprar, entonces ¿cómo?

Cómo se especifican las condiciones de apertura, así se abrirán las órdenes. Si no sabes lo que dice el indicador, no puedo ayudarte.

alexey1979621:
Había 5 EAs trabajando (hermanos gemelos - para diferentes pares), por supuesto con diferentes Majics.

En su versión, el trabajo con el Mago no está especificado correctamente. Las órdenes se abren con el Magik especificado, pero la comprobación de las órdenes en el mercado se realiza con el Magik por defecto. Debería ser así:

NumberOfPositions (/*рабочий символ*/, -1, Magic);
 

alexey1979621, ¿por qué no tratar de escribir primero un EA en un par sin errores, y luego multi-divisas?

 

Tratando de organizar un tic para un experto - no hubo suerte. El fin de semana me tomó por sorpresa. ¿Cómo organizarlo adecuadamente? Por ejemplo, tenemos el siguiente Asesor Experto elemental:

int delay = 180;
datetime read_now;
int init(){
   read_now = TimeCurrent() + delay;
}
int start(){
   int how_many_remains = read_now - TimeCurrent();
   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)
   ));
   return(0);
}

- ¿cómo simular los ticks e iniciar un temporizador?

Entiendo que es fin de semana, pero en el mercado el calendario de vacaciones no coincide con el de la RF, y hay trabajo que hacer...

 
gyfto:

Tratando de organizar un tic para un experto - no hubo suerte. El fin de semana me tomó por sorpresa. ¿Cómo organizarlo adecuadamente? Por ejemplo, tenemos el siguiente Asesor Experto elemental:

- ¿cómo simular los ticks e iniciar un temporizador?

Entiendo que es un fin de semana, pero en el mercado el horario de los días festivos no coincide con los de la RF, y uno sigue teniendo que trabajar...


¿Por qué sufrir por algo que no es necesario?

habrá un lanzamiento oficial de las nuevas construcciones alrededor del 20 de enero y.

Hay un temporizador implementado, con la frecuencia que usted necesita con eso y será llamado.

Es mejor gastar tu energía en estudiar el 5, para no tener miles de preguntas estúpidas.

 
ALXIMIKS:


Hay un temporizador implementado


Esto es a modo de indicación hasta el siguiente análisis de datos. A las 03:00 se inicia el análisis desde el propio EA mediante un script de terceros, a las 00:00 se muestran los datos en el gráfico, y todo vuelve a iniciarse con la frecuencia de actualización de datos configurada en segundos. ¿Sería más fácil implementar una pantalla de cuenta atrás como ésta en un cinco?
 
Desgraciadamente, no soy competente en la materia, pero he guardado https://forum.mql4.com/ru/59441 para que lo leas con tranquilidad, quizás te sea útil.
 
#property indicator_separate_window
#property indicator_buffers 3
#property  indicator_color1 Gold
#property  indicator_color2 Gold
#property  indicator_color3 Gold
//+---------------------------------------------------------------------+
extern double _N_ = 1; 
extern double _M_ = -1; 
extern int History = 10000;
//+---------------------------------------------------------------------+
int p; 
//+---------------------------------------------------------------------+
double Buf_0[];
double Buf_1[];
double Buf_2[];
double RSI;
double ADX_Main; 
double ADX_dD;
double ADX_DD;
double price;
//+---------------------------------------------------------------------+  
bool R_adx;
bool R_time;
bool R_adx_time;
bool R_rsi_time;
bool R_rrsi_time;
//+---------------------------------------------------------------------+
int init()
{
//+---------------------------------------------------------------------+  
SetIndexBuffer(0,Buf_0);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
//+---------------------------------------------------------------------+  
SetIndexBuffer(1,Buf_1);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
//+---------------------------------------------------------------------+  
SetIndexBuffer(2,Buf_2);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1);
//+---------------------------------------------------------------------+  
return;
}
//+---------------------------------------------------------------------+
int start()
{
//+---------------------------------------------------------------------+  
for(
p=0;
p<History;
p++)
{
//+---------------------------------------------------------------------+  
price = Bid;
//+---------------------------------------------------------------------+  
ADX_Main    = iADX(Symbol(),0,25,0,0,p);
ADX_dD      = iADX(Symbol(),0,25,0,1,p);
ADX_DD      = iADX(Symbol(),0,25,0,2,p);
RSI         = iRSI(Symbol(),0,25,0,p);
//+---------------------------------------------------------------------+  
R_adx         = (ADX_DD - ADX_dD) * ADX_Main; 
R_time        = Seconds() * Minute() * Hour(); 
//+---------------------------------------------------------------------+  
R_adx_time    = _N_ * (R_time + R_adx); 
R_rsi_time    = _N_ * (R_time + RSI);
R_rrsi_time   = _M_ * (R_time + RSI);
//+---------------------------------------------------------------------+  
Buf_0[p] = R_adx_time;
Buf_1[p] = R_rsi_time;
Buf_2[p] = R_rrsi_time;
//+---------------------------------------------------------------------+  
return; 
}
}
//+---------------------------------------------------------------------+  
¡Hola de nuevo!
¡Feliz Año Nuevo a todos!

Otro rumor de ayuda.
El indicador "H" no muestra ninguna línea.

No puedo entender de qué se trata.

El código del indicador "H" se muestra arriba.
 
ALXIMIKS:
He guardado https://forum.mql4.com/ru/59441 para que lo leas con tranquilidad, quizá te resulte útil.

Ya he implementado el parsing en sí, por qué. Me interesa saber cómo emular el tick para hacer funcionar este temporizador. Necesito tiempo para reciclar a mql5 que perderé y el tiempo es dinero.
 
Link_x:
¡Hola de nuevo!
¡Feliz Año Nuevo a todos!

Otro rumor de ayuda.
El indicador "H" no muestra ninguna línea.

No puedo entender de qué se trata.

El código del indicador "H" se muestra arriba.

Los valores extremos están saliendo algo como resultado del cálculo...
 
evillive:

Los valores excepcionales salen algo como resultado del cálculo...
Lo importante es que se muestren. :)

R_adx_time    = _N_ * (R_time + R_adx) / 500; 
R_rsi_time    = _N_ * (R_time + RSI) / 50 0;
R_rrsi_time   = _M_ * (R_time + RSI) / 50 0;
Si se hace esto, los valores límite se evaporan, pero el problema persiste.
Razón de la queja: