¡Pide! - página 80

 

simple pregunta de codificación; tengo:

Step0=iCustom(NULL,0, "StepChoppy_v1[1].3",0,lookupidx);

Step1=iCustom(NULL,0, "StepChoppy_v1[1].3",1,lookupidx);

Step2=iCustom(NULL,0, "StepChoppy_v1[1].3",2,lookupidx);

Step3=iCustom(NULL,0, "StepChoppy_v1[1].3",3,lookupidx);

si (Paso0>=1 |Paso1>=1 |Paso2>=1 |Paso3>=1)

maval=1;

si no

maval= 0;

El problema es que me sale un mensaje de error al compilar: '|' - los operadores a nivel de bits sólo deben aplicarse a valores enteros

si utilizo sólo

if (Paso0>=1)

maval=1;

si no

maval= 0;

¡Funciona, pero quiero con las otras 3 variables también!

¿Algún consejo?

 
camisa:
simple pregunta de codificación; tengo:

Step0=iCustom(NULL,0, "StepChoppy_v1[1].3",0,lookupidx);

Step1=iCustom(NULL,0, "StepChoppy_v1[1].3",1,lookupidx);

Step2=iCustom(NULL,0, "StepChoppy_v1[1].3",2,lookupidx);

Step3=iCustom(NULL,0, "StepChoppy_v1[1].3",3,lookupidx);

si (Paso0>=1 |Paso1>=1 |Paso2>=1 |Paso3>=1)

maval=1;

si no

maval= 0;

El problema es que me sale un mensaje de error al compilar: '|' - los operadores a nivel de bits sólo deben aplicarse a valores enteros

si utilizo sólo

if (Paso0>=1)

maval=1;

si no

maval= 0;

¡Funciona, pero quiero con las otras 3 variables también!

¿Alguna pista?

Tienes que usar

if (Step0>=1 || Step1>=1 || Step2>=1 || Step3>=1)

El operador "OR" entre dos booleanos es " || "

 
Archivos adjuntos:
buy.bmp  954 kb
 
Michel:
Tienes que usar
if (Step0>=1 || Step1>=1 || Step2>=1 || Step3>=1)
El operador "OR" entre dos booleanos es " || "

maldición, sabía que era algo fácil lol

gracias! ahora funciona 5*****!

 

Me gustaría que me escribiera el código del tutorial sobre EA(Su primer Asesor Experto), que

abriera muchas órdenes, pero sin que se publique. He intentado muchas cosas, pero finalmente no

trabajo

Por ejemplo. Estamos jugando en 4 pares: GBPUSD, GBPCHF, AUDUSD y EURUSD y tenemos

los tres primeros abiertos. Si la función 'isCrossed' es igual a 1 o 2, el EA comprará o venderá EURUSD, porque los otros pares están abiertos.

Perdón por mi inglés :]

 

Una pregunta curiosa...

¿Cuándo se utiliza return(0); en las sentencias "if"?

Dave

 

¿Cómo puedo hacer un bloqueo de tiempo en esta utilidad de borrado?

Lo he descubierto.

 
if (UseHourTrade==true)

/////////////////////////////////////////////////////////

{

if(!(Hour()>=EndHour && Hour()>>> EndHour=17 / StartHour=0

{

Comment("PROGRAM SYSTEM IN HIBERNATION!");

}

}

Necesito una aclaración: La hora actual es 14 GMT, sin embargo el ea está mostrando el "¡Sistema de programación en Hibernación!" ¿Por qué se muestra?

Dave

 
1Dave7:
if (UseHourTrade==true)

/////////////////////////////////////////////////////////

{

if(!(Hour()>=EndHour && Hour()>>> EndHour=17 / StartHour=0

{

Comment("PROGRAM SYSTEM IN HIBERNATION!");

}

}

Necesito una aclaración: La hora actual es 14 GMT, sin embargo el ea está mostrando el "¡Sistema de programación en Hibernación!" ¿Por qué se muestra?

Dave

Todo se debe a los (!). Al poner la prueba lógica en() con el ! antes de ella, le estás diciendo a la computadora que si la prueba lógica resulta en "falso" entonces proceda a la rutina.

 

bool

Hola a todos

siempre estoy aprendiendo mql y el siguiente código me resulta muy ambiguo (pasoMa Ea de Igorad)

// ------------

if ( FilterPeriod > 0 )

{

bool BuyFilter = false;

BuyFilter = ( Close[1]>iMA(NULL,0,FilterPeriod,0,MODE_EMA,0,1));

bool SellFilter = false;

SellFilter =( Close[1]<iMA(NULL,0,FilterPeriod,0,MODE_EMA,0,1));

}

else

{ BuyFilter = true; SellFilter = true; }

// ------------

No entiendo como podemos declarar e inicializar una variable bool y asignarle una variable entera int la siguiente línea

//ejemplo

bool BuyFilter = false;

BuyFilter = ( Close[1]>iMA(NULL,0,FilterPeriod,0,MODE_EMA,0,1));

Podría alguien iluminarme por favor.

Gracias

Edit: ND, no sé si es el lugar adecuado para publicar esto.