Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
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));
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 );
}
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
derumuroHola 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
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.
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
derumuroValor 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é...
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
¡Gracias !
Estoy buscando una buena guía para MQL4
Saludos
derumuroLa del sitio está bien
MetaQuotes Language 4 - MQL4