Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 413

 

¿Se puede prescribir un código de este tipo?

(La distancia entre líneas debe ser de 10 pips)

int OnInit()
{

ObjectCreate("Средняя линия",OBJ_HLINE,0,0,Bid); 

ObjectCreate("Верхняя линия",OBJ_HLINE,0,0,Bid+0.0010); 

ObjectCreate("Нижняя линия",OBJ_HLINE,0,0,Bid-0.0010); 


return(INIT_SUCCEEDED);
}


¿O puede ocurrir que el EA dibuje la línea media, y luego la oferta cambie, y la segunda línea no se aleje de la línea media por 10 pips?

¿Es posible que la oferta cambie durante la ejecución del EA? ¿O el valor de Bid cambiará sólo si RefreshRates se está ejecutando?


¿Tal vez sería más correcto?

int OnInit()
{

sredn=Bid;
verhn=sredn+0.0010;
nizhn=sredn-0.0010;


ObjectCreate("Средняя линия",OBJ_HLINE,0,0,sredn); 

ObjectCreate("Верхняя линия",OBJ_HLINE,0,0,verhn); 

ObjectCreate("Нижняя линия",OBJ_HLINE,0,0,nizhn); 



return(INIT_SUCCEEDED);
}
 
igrok333:

¿Es posible escribir este código?

(la distancia entre líneas debe ser de 10 pips)


¿O puede ocurrir que el EA dibuje la línea media, y luego la Oferta cambie, y la segunda línea ya no esté a 10 pips de la línea media?


¿Está bien?

La oferta no cambiará si no hay una llamada a RefreshRates en el medio,

Pero no es del todo correcto usar Bid en OnInit(). Primero, la conexión puede romperse o el mercado puede estar cerrado, esto es uno; el soporte de Bid en OnInit es una característica, que puede ser cambiada, esto es dos :-) Y finalmente - el propósito de OnInit() es la inicialización, es decir, comprobar que todo está listo para el trabajo posterior y responder SÍ / NO. Confiar en las funciones comerciales o en la creación de objetos gráficos no es bueno. Es aceptable, pero no correcto.

 
Maxim Kuznetsov:

La oferta no cambiará si no hay una llamada de RefreshRates en el medio,

En primer lugar, la conexión puede no existir o el mercado puede estar cerrado, esto es uno; el propio soporte de Bid en OnInit es una característica, que puede ser cambiada, esto es dos :-) Y finalmente - el propósito de OnInit() es la inicialización, es decir, comprobar que todo está listo para el trabajo posterior y responder SÍ / NO. Confiar en las funciones comerciales o en la creación de objetos gráficos no es bueno. Es aceptable, pero no correcto.

Sí, en efecto.

Entonces tengo una operación abierta en la línea media.

Si quieres abrir una posición en la línea media, es mejor que muevas los oníticos a la función ontick, porque esperará a que se abra el nuevo onitick.

es mejor trasladar la construcción de la línea al principio de la función onítica

 

¿Es posible hacer que el script funcione en el probador?
Lo tiro por la ventana y no pasa nada. En un gráfico normal el script funciona

 
RomanRott:

¿Es posible hacer que el script funcione en el probador?

No y no es necesario. Todo puede probarse en cualquier gráfico o en modo de depuración.
 
RomanRott:

Me refiero a escribir algún código en mi indicador/asesor que conecte otros indicadores a la vez
¿Qué y cómo se añade?


Si quieres que otro indicador se abalance, no puedes hacerlo.

Es posible dibujar otro al lado de su indicador. Para ello, puede utilizar la función iCustom y utilizarla para extraer los datos que necesita.

 

He creado tres EAs en MT4 con diferentes "magias" y estrategias, los he combinado en un solo EA, cada estrategia funciona por separado, pero cuando enciendo tres a la vez, la tercera estrategia no modifica sus "magias" ¿POR QUÉ? todo en el probador.

Y además, debería poner un selimit, pero pone igual número de selimits. (si 2 sels, entonces 2 selimits apuesta, si 5 sels, entonces apuesta 5 selimits).

 
ZZuretc:

Me pueden asesorar, en MT4 creé tres EAs con diferentes "magias" y estrategias, los combiné en un solo EA, por separado cada estrategia funciona, pero al habilitar tres a la vez, la tercera estrategia no modifica sus "magias" ¿POR QUÉ? todo en el tester.

Y además, debería poner un selimit, y pone igual al número de ventas. (Si 2 sels, entonces 2 selimits pone, si 5 sels, entonces pone 5 selimits).


Qué puedo decir, no identifica correctamente sus órdenes, posiciones para cada una de las estrategias.

Tengo que mirar el código.

 
ZZuretc:

He creado tres EAs en MT4 con diferentes "magias" y estrategias, los he combinado en un solo EA, cada estrategia funciona por separado, pero cuando enciendo tres a la vez, la tercera estrategia no modifica sus "magias" ¿POR QUÉ? todo en el probador.

Y además, debería poner un selimit, pero pone igual número de selimits. (si 2 sels, entonces 2 selimits apuesta, si 5 sels, entonces apuesta 5 selimits).

Al combinar 3 ---> 1 hay que seguir una determinada regla. Cada estrategia tiene cabeza, torso y piernas. Toma las tres cabezas. Y el torso y las piernas, elige el mejor de los tres. Tres torsos y seis piernas es excesivo...

 
ZZuretc:
Estoy publicando experto, bibliotecas y archivos de inclusión, comprobar los errores, al principio funciona sin errores, pero luego puede dar uno diferente cada vez. (Para probar, pon un tic y alce 20)

Para empezar:

variables, visibilidad de las variables

¿cómo se declaran, dónde?

Razón de la queja: