¿Cómo codificar? - página 314

 

Asesor experto en gráficos fuera de línea

Hola,

he creado un Asesor Experto para un gráfico offline que tiene el siguiente código:

int init()

{

start();

return(0);

}

int inicio()

{

while (!IsStopped())

{

RefreshRates();

//código de ejecución

Sleep(1000);

//imprime cada 5 minutos un mensaje "estoy vivo"

}

}

Después de algunos minutos el mensaje "estoy vivo" se detuvo.

¿Hay algo que pueda hacer al respecto o como he leído en otros temas, es un problema de todos los EAs con gráficos offline?

Muchas gracias

 

¿como añadir una nueva barra de sonido?

Necesito una simple personalización de un EA que tengo.

Este EA es RangeBars EA y necesito insertar sólo una opción, la oportunidad de reproducir un sonido cuando una nueva barra se traza en el gráfico.

También necesito la oportunidad de activar/desactivar esta función y elegir el nombre del sonido.

Por favor, ¿alguien puede decirme cómo hacerlo?

rangebars.zip

Archivos adjuntos:
rangebars.zip  11 kb
 

Utilizar la información de M15 para entrar o salir de la operación en M5

Quiero calcular la MA u otro indicador técnico en un marco de tiempo superior para tomar la decisión de entrar o salir de la operación en un marco de tiempo inferior. No quiero especificar el periodo en el indicador. Intento usar PERIOD_M15 u otro pero el valor no es correcto cuando se compara con el real.

 

...

Si lo usas así :

iMA(NULL,PERIOD_M15,CalculatingPeriod,0,CalculatingMethod,CalculationPrice,Shift);

[/PHP]

it has to return the correct value. Here is an example of a 15 minute 14 period EMA of close of the first closed bar

iMA(NULL,PERIOD_M15,14,0,MODE_EMA,PRICE_CLOSE,1);

If you want to use that from back-tests then you have to add one thing :

[PHP] y = iBarShift(NULL,PERIOD_M15,Time[shift]);

iMA(NULL,PERIOD_M15,14,0,MODE_EMA,PRICE_CLOSE,y+1);

donde shift es el número de la barra del marco de tiempo que está probando

Premeus:
Quiero calcular la MA u otro indicador técnico en el marco de tiempo superior para tomar la decisión de entrar o salir de la operación en el marco de tiempo inferior. No quiero especificar el periodo en el indicador. Trato de usar PERIOD_M15 u otro pero el valor no es correcto cuando se compara con el real.
 

Gracias mladen, no estoy seguro de que debe obtener el valor correcto o no.

 

Buy_Script / Cómo codificar

Hola codificadores

¿qué hacer cuando tengo más entradas?

donde debo insertar ticket_2; ticket_3 y ...

¿como codificar?

//+------------------------------------------------------------------+

//| función de inicio del programa de script |||.

//+------------------------------------------------------------------+

int inicio()

{

int ticket_1;

if(Dígitos < 4)

{

ValorPunto = 0,01;

iDigits = 2;

}

si no

{

ValorPunto = 0,0001;

iDigits = 4;

}

Gracias por la ayuda

 

Cómo evitar que el EA funcione durante el arranque de MT4

Hola Mladen,

Hace unos días, después de reiniciar mi VPS, reinicié MT4. Sin embargo, un EA en la plataforma cerró accidentalmente algunas operaciones que no deberían haberse cerrado, debido a los datos inestables durante el arranque de MT4. ¿Podría sugerirme algunos códigos que pueda insertar en mi EA para evitar que esto ocurra?

Gracias de antemano

pooh

 

...

pooh123

Lo primero que se me ocurre es evitar que funcione en el primer tick que reciba

Eso se podría hacer si colocas algo así al principio del inicio

static bool firstTime=true; if (firstTime) { firstTime = false; return(0); }

Pero no estoy 100% seguro de que eso evite todos los errores como el que tuviste (cuando empieza a descargar datos por ejemplo eso se puede alargar - qué hacer entonces). Si se me ocurre una idea mejor la publicaré aquí

pooh123:
Hola Mladen,

Hace unos días, después de reiniciar mi VPS, reinicié MT4. Sin embargo, un EA en la plataforma cerró accidentalmente algunas operaciones que no deberían haberse cerrado, debido a la inestabilidad de los datos durante el arranque de MT4. ¿Pueden sugerirme algunos códigos que pueda insertar en mi EA para evitar que esto ocurra?

Gracias de antemano

pooh
 
mladen:
pooh123

Lo primero que se me ocurre es evitar que funcione en el primer tick que reciba

Eso se podría hacer si se coloca algo así al principio del inicio

static bool firstTime=true; if (firstTime) { firstTime = false; return(0); }
Pero no estoy 100% seguro de que evitará todos los errores como el que tenía (cuando se inicia la descarga de datos, por ejemplo, que puede llegar a ser largo - lo que hay que hacer entonces). Si se me ocurre una idea mejor la publicaré aquí

Gracias Mladen por la pronta respuesta. Esto es de gran ayuda.

pooh

 

Hola.

¿Existe una función que me permita calcular esta operación?

x^0,5 (x= valor conocido)

Y otra pregunta.

Tengo un broker de 5 dígitos. ¿Es posible obtener sólo los primeros 4 decimales del valor conocido? Gracias

Gracias