Ayuda a la codificación - página 119

 
Tomcat98:
Hola a todos,

pregunta a los codificadores sobre las "condiciones comerciales":

Si digo;

Primer código:

"

if ( Blah Blah < Blah Blah)

si ( Blah Blah > Blah Blah) resultado = (OP_SELL);

"

Segundo código:

"

( Blah Blah Blah) resultado = (OP_SELL);

"

¿Es el "primer código" lo mismo que el "segundo código"?

¿En el "primer código" las 2 condiciones tienen que ser llenadas en conjunto o sólo una para operar una "VENTA"?

¿Es el "segundo código" más restrictivo?

¿Pueden aclararme esto?

Lo siento por este Blah Blah ... Loooll

Muchas gracias.

Tomcat98

No te preocupes por el bla bla Esos dos fragmentos de código son, en general, exactamente iguales. Probablemente hay algunas diferencias menores en lo que respecta al código compilado, pero en lo que respecta a la ejecución se evalúan exactamente al mismo resultado. Ninguno de los fragmentos es más restrictivo

 
mladen:
No te preocupes por el bla bla Esos dos fragmentos de código son, en general, exactamente iguales. Probablemente hay algunas diferencias menores en lo que respecta al código compilado, pero en lo que respecta a la ejecución se evalúan exactamente al mismo resultado. Ninguno de los fragmentos es más restrictivo

Qué respuesta tan rápida. Muchas gracias por la respuesta.

Tenía dudas sobre estos códigos, pero ahora ya no.

Te agradezco mucho Mladen.

Que tengas una buena semana comercial.

Tomcat98

 
TheGMan:
Hola mladen, este indicador fue ajustado hace mucho tiempo y me gusta como se muestra ahora, pero el único problema es que ahora está usando demasiada CPU. ¿Podría echar un vistazo bajo el capó y ver si tal vez el código necesita ser limpiado o ver por qué se congela mi plataforma cuando los mercados comienzan a moverse.

¡Será muy apreciado!

Gracias de antemano.

G

Hola mladen o mr tools, ¿podríais mirar el código en este caso y ver si necesita ser limpiado un poco? Parece que se congela mi plataforma cuando los mercados comienzan a moverse rápidamente.

Gracias

G

Archivos adjuntos:
 
TheGMan:
Hola mladen o mr tools podriais mirar el codigo de este y ver si necesita ser limpiado un poco. Parece que se congela mi plataforma cuando los mercados comienzan a moverse rápidamente.

Gracias

G

TheGMan

Ese indicador está buscando datos de múltiples marcos de tiempo y esa es la razón por la que ralentiza tu PC. Mucha gente se ha quejado de él últimamente (especialmente desde que las builds 500 y 509 se hicieron realidad) e incluso es posible que sea un problema que esas builds por alguna razón están causando en ese indicador

 
mladen:
TheGMan Ese indicador está buscando datos de múltiples marcos de tiempo y esa es la razón por la que ralentiza tu PC. Mucha gente se ha quejado de él últimamente (sobre todo desde que las builds 500 y 509 son actuales) e incluso es posible que sea un problema que esas builds por alguna razón estén causando en ese indicador

Gracias por la respuesta mladen,

Es una pena porque me gustaba mucho ese indi y ahora es casi imposible de usar.

G

 
TheGMan:
Gracias por la respuesta mladen,

Es una pena porque me gustaba mucho ese indi y ahora es casi imposible de usar.

G

A veces ocurre con algunas versiones de metatrader

Recuerdo cuando iStdDevOnArray() daba esos problemas (hacía que los indicadores que lo usaban fueran lentos como una babosa) y luego lo corrigieron. Si aparece alguna build nueva, compruébalo de nuevo. Quién sabe : a lo mejor empieza a funcionar bien de nuevo

 

Problema con un script

Hola,

Tengo un script, que envía tres órdenes en el tiempo, con diferentes TP. Pero a veces funciona, y a veces sólo se hace la primera o la primera y la segunda orden, pero la última se va a timuktu, o bien. Creo que tres ordenes enviadas a tiempo solo pueden funcionar, si el servidor no esta muy ocupado.

¿Puede alguien ayudarme a cambiar el Script, para que reintente los pedidos perdidos después de unos segundos? ¿Y es posible hacer un sonido, si una orden es ejecutada?

Muchas gracias

111buy_fps.mq4

Archivos adjuntos:
 
effenn:
Hola,

Tengo un script, que envía tres órdenes en el tiempo, con diferentes TP. Pero a veces funciona, y a veces sólo hay la primera o la primera y la segunda orden hecha, pero el último ist ido a timuktu, o bien. Creo que tres ordenes enviadas a tiempo solo pueden funcionar, si el servidor no esta muy ocupado.

¿Puede alguien ayudarme a cambiar el Script, para que reintente los pedidos perdidos después de unos segundos? ¿Y es posible hacer un sonido, si una orden es ejecutada?

Muchas gracias

111buy_fps.mq4

effenn

Intenta usar este

Establece los reintentos a un número deseado de veces que el script intentará abrir la misma orden si hay algún problema. Y establece el PauseBetweenRetries al número deseado de milisegundos para hacer una pausa entre cada nuevo intento de abrir la orden

Archivos adjuntos:
buy_fps_2.mq4  3 kb
 

Acabo de unirme a este maravilloso foro. Encontré un EA muy interesante en el foro de MT4 https://www.mql5.com/en/code/8491. Hay que trabajar más. No soy un programador, pero creo que es duable

El código debe ser modificado con el fin de leer callendar de DailyFX u otra fuente. Tal vez algo más también

Cualquier ayuda sería realmente apreciada.

 

Mladen, la parte de compra y venta del código anterior no está funcionando.

mladen:
Pruebe algo como esto :
static datetime lastAlerted1=0;

static datetime lastAlerted2=0;

static string lastType1="";

static string lastType2="";

//Momentum.....1hour

double mom_1h=iMomentum(NULL,60,14,PRICE_CLOSE,0);

double b4mom_1h=iMomentum(NULL,60,14,PRICE_CLOSE,1);

//========Alerts for buy and Sell==========

//Alerts for buy

if((mom_1h>99.6353)&&(mom_1h>b4mom_1h)&&(lastAlerted1!=Time[0] && lastType1!="Buy")){

lastAlerted1=Time[0];

lastType1="Buy";

Alert("Buy","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol());

}

//Alerts for Sell

if((mom_1h<100.7482)&&(mom_1h<b4mom_1h)&&(lastAlerted1!=Time[0] && lastType1!="Sell")){

lastAlerted1=Time[0];

lastType1="Sell";

Alert("Sell","\n","Current time is ",TimeToStr(TimeLocal(),TIME_SECONDS),"\n",Sym bol( ));

}

//==========Alerts for Stop buying and sell==============

//Alert to stop Buy

if((mom_1h<b4mom_1h)&&(lastAlerted2!=Time[0]&&lastType2!="Stop Buy")){

lastAlerted2=Time[0];

lastType2="Stop Buy";

Alert("Stop Buy","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol());

}

//Alerts to Stop Selling

if((mom_1h>b4mom_1h)&&(lastAlerted2!=Time[0]&&lastType2!="Stop Sell")){

lastAlerted2=Time[0];

lastType2="Stop Sell";

Alert(" Stop Sell","\n","Current time is ",TimeToStr(TimeLocal(),TIME_SECONDS),"\n",Sym bol( ));

}

Razón de la queja: