¿Cómo codificar? - página 212

 

int hoy=StrToTime("19:59");

int yesterday=StrToTime("19:59")-3600*24;

int twodaysbeforeyesterday=StrToTime("19:59")-3600*24*3;

así que

double closetwodaysbeforeyesterday=iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIO D_M1,StrToTime("19:59")-3600*24*3));

 
Kalenzo:
Primero define la función getMagic() que te dará los números mágicos y ponla en la función ordersend (como parámetro para establecer el número mágico).

Entonces indisde la función get magic debes hacer lo siguiente :

getMagic()

{

1) hacer un bucle for(int i = 1;i<21;i++) para comprobar los números del 1 al 20

2) a continuación, haz otro bucle (dentro del primer for) por cada número i con el bucle for desde 0 hasta OrdersTotal comprobando si has encontrado el número mágico igual a i,si no has encontrado tu número mágico entonces significa que está libre y puedes usarlo como valor de retorno de esta función (getMagic) y pasarlo a la función orderSend, de lo contrario usa la palabra clave contunue para saltar a otra comprobación del número mágico.

}

Hola Kalenzo,

¡Gracias por la respuesta!

¿Si el código es correcto?

MagicNumber = 1000;

maxRepeticiones = 20;

z = maxRepeticiones;

magic = getMagic();

getMagic()

{

findmagic = NúmeroMágico+i;

for(int i=1;i<=z;i++)

{

for(int n=1;n<=openOrders;n++)

{

OrderSelect(n, SELECT_BY_POS, MODE_TRADES);

if (OrderSymbol()==Symbol())

{

if (OrderMagicNumber() != findmagic) continue;

magic = MagicNumber+i;

}

}

}

return(magic);

}

Gracias y saludos

derumuro

 

derumuro

Si entiendo tu petición esto es más lo que buscas.

Deberías estudiar la forma en que se comparten las variables entre las funciones y el ámbito global, tendrás grandes problemas si no entiendes las diferencias entre el ámbito local y el ámbito gobal.

Deberías determinar cómo manejar la situación en la que los 20 pedidos son realizados. ¿Quieres devolver un número negativo? para que el programa sepa que no se permiten más pedidos. Debe haber una seguridad incorporada en su código.

int MagicNumber = 1000;

int maxRepetitions = 20;

int magic = getMagic( MagicNumber, maxRepetitions );

int getMagic( int StartNumber, int Repeat ) {

// CN!{if an error or no open MagicNumbers are avaible it will return -1}:

int ReturnNumber = -1;

for( int i = 1; i <= Repeat; i ++ ) {

for( int n = 0; n <= OrdersTotal(); n ++ ) {

OrderSelect( n, SELECT_BY_POS, MODE_TRADES );

if( OrderSymbol() == Symbol() ) {

if( OrderMagicNumber() != StartNumber + i ) continue;

ReturnNumber = StartNumber + i;

}

}

}

return( ReturnNumber );

}

derumuro:
Hola Kalenzo,

Gracias por la respuesta.

¿Si el código es correcto?

MagicNumber = 1000;

maxRepeticiones = 20;

z = maxRepeticiones;

magic = getMagic();

getMagic()

{

findmagic = NúmeroMágico+i;

for(int i=1;i<=z;i++)

{

for(int n=1;n<=openOrders;n++)

{

OrderSelect(n, SELECT_BY_POS, MODE_TRADES);

if (OrderSymbol()==Symbol())

{

if (OrderMagicNumber() != findmagic) continue;

magic = MagicNumber+i;

}

}

}

return(magic);

}

Gracias y saludos

derumuro
 

Hola cockeyedcowboy

gracias por tu ayuda.

No soy un programador. Trato de aprender MQL4, pero tengo 3 grandes problemas.

1. Entiendo muy poco inglés.

2. No he encontrado una buena guía de MQL4.

3. No tengo a nadie que me ayude.

Pregunta: ¿Hay un lenguaje de programación que es similar MQL4?

Saludos

derumuro

 
Roger09:
int hoy=StrToTime("19:59");

int yesterday=StrToTime("19:59")-3600*24;

int twodaysbeforeyesterday=StrToTime("19:59")-3600*24*3;

así que

double closetwodaysbeforeyesterday=iClose(Symbol(),PERIOD_M1,iBarShift(Symbol(),PERIO D_M1,StrToTime("19:59")-3600*24*3));

Gracias, Roger09

 

Determinar programáticamente si la ejecución de mercado

¿Alguien sabe si hay una forma de determinar programáticamente si una orden debe abrirse con "ejecución de mercado" o si se permiten stoploss / takeprofits en la orden inicial?

 

C.

Si usted va a metaquotes.net, usted puede encontrar metatrader en su langauge nativo.

derumuro:
Hola cockeyedcowboy

Gracias por su ayuda.

No soy un programador. Trato de aprender MQL4, pero tengo 3 problemas principales.

1. Entiendo muy poco inglés.

2. No he encontrado una buena guía de MQL4.

3. No tengo a nadie que me ayude.

Pregunta: ¿Hay un lenguaje de programación que es similar MQL4?

Saludos

derumuro
 

Valor ATR en csv - Script

HI, tengo un problema. Necesito importar el valor ATR de metatrader a un archivo csv.

Lamentablemente no sé cómo hacerlo.

Por favor, ayúdame a escribir la secuencia de comandos.

Traté de usar FileWrite - Documentación MQL4 y iATR - Documentación MQL4. Pero no lo logré...

 
nondisclosure007:
C. Si vas a metaquotes.net, puede que encuentres metatrader en tu langauge nativo.

Gracias.

Estoy buscando una buena guía para MQL4

Saludos

derumuro

 
derumuro:
¡Gracias !

Estoy buscando una buena guía para MQL4

Saludos

derumuro

La del sitio está bien

MetaQuotes Language 4 - MQL4