[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 266

 
snowman647 >> :

Muchas gracias.

Esta es la pregunta

Escribí un EA con algunas funciones importadas de una DLL - intento ejecutar un probador de estrategias y obtengo

¿No puedo utilizar la DLL para probar la estrategia de mi EA?

¿o qué tipo de error?

Para responder a mi propia pregunta Servicio - Configuración - Activar la importación de DLL

 

Por favor, aconseje la fórmula de MA Smoothed. Aquí hay una ilustración por si acaso :)


MA

¿Cómo se plancha?
 
IlyaA >> :

Por favor, aconseje la fórmula de MA Smoothed. Aquí hay una ilustración por si acaso :)


MA

¿Cómo se plancha?


>> https://www.metatrader5.com/ru/terminal/help/indicators/trend_indicators/ma

 

Señores, ¿podrían sugerir un código sencillo para establecer los precios de las órdenes pendientes de manera que terminen en 0 o 5?

Por cierto, ¿cómo puedo establecer la multiplicidad de precios pendientes?

Lo he intentado con el resto de la división o la comparación de porcentajes, pero no lo he entendido a la primera.

Agradezco a las personas que han respondido.

 
rosomah писал(а) >>

Señores, ¿podrían sugerir un código sencillo para establecer los precios de las órdenes pendientes de manera que terminen en 0 o 5?

Por cierto, ¿cómo puedo establecer la multiplicidad de precios pendientes?

Lo he intentado con el resto de la división o la comparación de porcentajes, pero no lo he entendido a la primera.

Gracias a los que han respondido.

double NormalizeDouble( double value, int digits) 

Redondear un número de punto flotante a una precisión especificada.

valor - Valor con coma flotante.
dígitos - Un formato de precisión, el número de dígitos después del punto decimal (0-8).

 

Amigos, ¿podéis decirme en qué me he equivocado?


Hay un indicador BrainTrend1N - colorea las barras dependiendo de la dirección del movimiento del precio.


Estoy escribiendo un Asesor Experto que compraría cuando una barra es ascendente (de color azul por defecto) y vendería cuando una barra es descendente (de color rojo por defecto).


Estoy accediendo a los búferes de los indicadores apropiados desde el EA, pero desafortunadamente el EA no hace ningún trato durante las pruebas.


¿Tiene algún consejo sobre cómo afrontarlo?


Muchas gracias de antemano.

Archivos adjuntos:
 
vasya_vasya писал(а)

Gracias, pero eso no es lo que he preguntado.

Un EA que siga un par, que coloque órdenes pendientes con un precio que termine en "0",

y otro, digamos, en el par adyacente coloca órdenes pendientes que terminan en "5". Y otro, por ejemplo, pone órdenes pendientes hasta el "3" o el "8", da igual.

Se trata del último dígito del precio.

Prefiero utilizar colgantes colocando de 5 a 10 a la vez para evitar confusiones.

Ahora estoy mejorando la colocación de órdenes pendientes y quiero manejar este tema en mis Asesores Expertos para mayor claridad.

¿Cómo fijar el último dígito de un precio pendiente?

¿O ya tengo la respuesta?

 
rosomah писал(а) >>

Gracias, pero eso no es lo que he preguntado.

Un EA que siga un par, que coloque órdenes pendientes con un precio que termine en "0",

y otro, digamos, en el par adyacente coloca órdenes pendientes que terminan en "5". Y otro, por ejemplo, establece las órdenes pendientes que terminan en "3" u "8".

Se trata del último dígito del precio.

Coloco colgantes principalmente para evitar confusiones y pongo de 5 a 10 a la vez.

Ahora estoy mejorando la colocación de órdenes pendientes y quiero manejar este tema en mis Asesores Expertos para una mejor visualización.

¿Cómo fijar el último dígito de un precio pendiente?

¿O ya tengo la respuesta?

Ejemplo

if(
NormalizeDouble 
( x/10,4)==x/10)
- condición para el vencimiento 
en cero
if(NormalizeDouble( x/5,4)==x/5 )- condición para el vencimiento en cinco 

para comprobar el final de 123456789

la función

MathCeil( doble x)

Ejemplo

doble xx;

xx=Oferta/Punto-(MathCeil(Oferta/Punto/10)-1)*10;
Print("Oferta = "+Oferta+" Punto = "+xx);

 
rosomah >> :

Gracias, pero eso no es lo que he preguntado.

Un EA que siga un par, que coloque órdenes pendientes con un precio que termine en "0",

y otro, digamos, en el par adyacente coloca órdenes pendientes que terminan en "5". Y otro, por ejemplo, establece las órdenes pendientes que terminan en "3" u "8".

Se trata del último dígito del precio.

Coloco colgantes principalmente para evitar confusiones y pongo de 5 a 10 a la vez.

Ahora estoy mejorando la colocación de órdenes pendientes y quiero manejar este tema en mis Asesores Expertos para una mejor visualización.

¿Cómo fijar el último dígito de un precio pendiente?

¿O ya tengo la respuesta?

Si el número es de tipo entero, es elemental, por ejemplo


si ((número % 10) == n) {

// el número tiene una última cifra n (que termina en n), donde n es un número entero en el rango de 0 a 9

}


Si el número no es un entero, siempre se puede convertir a un tipo entero.

 

¡Buenos días a todos!

¿Sabéis la razón por la que un probador de estrategias puede colgarse?

Cuando se optimiza un Asesor Experto simple, el probador o bien "muere" de inmediato, o se cuelga después de un cierto número de pasadas. Sólo hay unos pocos millones de conjuntos de enumeraciones, y he intentado reducirlos a unos pocos miles, pero se sigue resistiendo. Sólo sigue escribiendo "optimización iniciada" en el registro. El Asesor Experto es muy primitivo - señales en el CCI, la apertura de la orden al cruzar los niveles superiores o inferiores por el indicador (los niveles son definidos por la optimización), el cierre de la orden y la apertura simultánea de la siguiente ocurren en la señal opuesta o en el Take Profit o Stop Loss (los niveles TP y SL también son definidos por la optimización). Es la versión "siempre en el mercado" con topes. Y la versión anterior de este EA - al entrar en base a las mismas señales, pero cerrando sólo con stops - probado y optimizado sin problemas. Lo he intentado todo: he actualizado el historial de minutos, he cambiado de terminal y de ordenador, he probado todas las variantes de pruebas (por precios abiertos, por puntos de control y por todos los ticks), he bailado con la pandereta, he pronunciado el nombre... pero nada funciona... :-(

El erizo sabe que, en el mundo real, ese experto fracasará, pero lo necesito por dos razones:

a) Estoy aprendiendo a programar en él;

b) Quiero intentar utilizarlo (no este experto en particular, sino un CCI modificado) como locomotora para poder poner condiciones adicionales.

Así que la pregunta de por qué la optimización no funciona es importante para mí: si es mi código glitchy o algunas características específicas de MT4.