¡Pide! - página 86

 
int start()

{

int límite;

int barras_contadas=IndicadorContado();

//---- comprobar posibles errores

if(counted_bars<0) return(-1);

//---- se vuelve a contar la última barra contada

if(counted_bars>0) counted_bars--;

limit=Barras_contadas;

//---- bucle principal

for(int i=0; i<limit; i++)

{

//---- ma_shift se pone a 0 porque se llama a SetIndexShift abowe

ExtBlueBuffer=iMA(NULL,0,JawsPeriod,0,MODE_SMMA,PRICE_MEDIAN,i);

ExtRedBuffer=iMA(NULL,0,TeethPeriod,0,MODE_SMMA,PRICE_MEDIAN,i);

ExtLimeBuffer=iMA(NULL,0,LipsPeriod,0,MODE_SMMA,PRICE_MEDIAN,i);

}

//---- hecho

return(0);

}

Hola codificadores,

Trato de ir thorugh algunas funciones MQL4 y se topó con este código de ejemplo como arriba. ¿Podría alguien explicar amablemente:

1.)¿Cuál es la razón de usar la variable "limit"?

2.)He tratado de ejecutar el código de ejemplo, que siempre devuelve el valor 2, ¿cuál es el propósito del valor "límite" 2 en el bucle for,

3.)¿En qué barras de posición trabaja este bucle for?

Gracias.

 

buscar un ea simple

hola ... busco este simple ea

EA de ruptura diaria con trailing stop y función de bloqueo de beneficios.

¿Existe?

 

Pregunta sobre el indicador#property

¿Cuál es la declaración para codificar el indicador #property como una línea frente a un guión (por defecto)?

Pregunta sencilla, pero de momento no se sabe la respuesta.

Dave

Le agradezco que me responda a esto.

 

indicador icustom -> ea

¡buenos días, es un principiante del lenguaje mq4, agradecería una ayuda, yo de antemano gracias!

el indicador tiene dos variables

bool TurnedUp = false

bool TurnedDown = false

¿cómo utilizar la función icustom en el EA, para leer los valores de TurnedUp y TurnedDown?

iCustom(Symbol(), "postfin",0,TurnedUp,0,0,0); ....

iCustom(Symbol(), "postfin",0,TurnedDown,0,0,0);

.....my probations, no funciona, posible porque se trata de "bool" ?

parte EA y error ..

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

//| CÁLCULO BÁSICO DE EXPERTO ||

//| EMPEZAR AQUÍ |

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

iCustom(Symbol(), "postfin",0,TurnedUp,0,0);

iCustom(Symbol(), "postfin",0,TurnedDown,0,0,0);

/EnterLong = TurnedUp;

// EnterShort = TurnedDown;

// EnterLong = true;

// if( TurnedUp == true ) EnterLong== true;

// EnterShort = TurnedDown;

//}

//if(icustom(Symbol(), "postfin", "TurnedUp",0,0) == True && EnterLong== 1 )

//{

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

//| CÁLCULO BÁSICO DE EXPERTO |||

//| FINALIZA AQUÍ |

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

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

//| NO DEBERÍA TENER QUE MODIFICAR NADA POR DEBAJO DE ESTE CUADRO |

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

// CONDICIÓN DE ENTRAR EN LARGO

if(EnterLong == true && CountLongs(MagicNumber)== 0)

{

Archivos adjuntos:
 

¿Alguien sabe cómo hacer esto?

Esto es lo que estoy tratando de codificar:

Tengo un gráfico con un RSI adjunto. Entonces arrastro y suelto una MA en la ventana del RSI y elijo aplicar a los "datos del indicador anterior". Ahora mi media móvil está usando los valores del RSI para sus cálculos.

No puedo averiguar cómo codificar esto en un EA. Los valores de Applied_Price en mq4 no tienen la opción de elegir "datos del indicador anterior" para la media móvil.

Básicamente tratando de obtener la media móvil actual del RSI actual.

Si sabéis lo que estoy intentando hacer y podéis tener una solución os agradecería mucho cualquier ayuda.

Gracias,

Wolfe

 

necesito ayuda para un código simple

¡Estimados colegas!

Tengo un trozo de código para el filtro de tiempo que desactivar EA en horas particulares:

extern bool UseHourTrade = True;

extern int FromHourTrade = 8;

extern int ToHourTrade = 18;

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

if (UseHourTrade){

if ((Hour()>=FromHourTrade && Hour()<=ToHourTrade)) {

Comentario("¡Horas no comerciales!");

return(0);

____________________________________________

PERO quiero desactivar el EA exactamente el viernes antes del fin de semana. No necesito ninguna posición abierta después de las 8.00 CET del viernes. ¿Podría hacerme el favor de publicar este tipo de código o corregir el código mencionado anteriormente?

Le pido su consejo porque no soy un programador

Saludos cordiales,

Warren

 

Para reducir los recursos del PC

He visto el código de ejemplo, por lo general cada código se calcula a sí mismo cada ticks,

es decir, cada precio de alimentación del servidor, el grupo de código calcula por sí mismo.

Entonces los PC's en la terminal del cliente procesan o calculan cada ticks, esto hace que los PC's del cliente necesiten más recursos, como RAM y CPU

La idea para reducir los recursos del PC y la iteración en el terminal del cliente, si podemos controlar ese grupo de código para calcular en :

1. 1. Cada minuto completo y no calcular en cada ticks. 2. Cada barra M1 completa y no calcular en cada ticks

¿Alguien puede dar un código de ejemplo para hacer eso?

Saludos,

BornToWin

 

Alerta sobre cualquier indicador MTF...

Codersguru,

¿Es posible añadir una Alerta (preferiblemente de voz) a un indicador MTF? Quiero que la Alerta suene cuando se cumplan los 3 criterios en mi RSI-3TF si es posible.

Gracias por responder.

Sinceramente.

 
BornToWin:
He visto el código de ejemplo, por lo general cada código se calcula cada ticks,

significa que cada precio de alimentación del servidor, el grupo de código calcula por sí mismo.

Entonces los PC's en la terminal del cliente procesarán o calcularán cada ticks, esto hace que los PC's del cliente necesiten más recursos, como RAM y CPU

La idea es reducir los recursos de la PC y la iteración en la terminal del cliente, si podemos controlar ese grupo de código para calcular en :

1. 1. Cada minuto completo y no calcular en cada ticks. 2. Cada barra M1 completa y no calcular en cada ticks.
Cada
barra M1
completa y no calcular en cada ticks

¿Alguien puede dar un ejemplo de código para hacerlo?

Saludos,

BornToWin
if(iVolume(NULL,PERIOD_M1,0) == 1)

{

//do what you want here, first tick of every M1 bar.

}
 

¡Tengo la llave! ¿Alguna otra idea?

Gracias por la respuesta Michel,

Tengo la clave.

Pero a veces el volumen del primer tick de cada barra M1 > 1

Mientras iVolume() > 1 en el primer tick, el cálculo no se hizo !?

¿O el primer tick de esa barra M1 debe ser = 1?

Y no podemos cambiar la expresión a >= 1, ¿verdad?

Eso haría que esta idea se volviera inútil, porque calcularía hasta el final de esa barra en vivo.

Mi idea es calcular sólo al final de la TF M1.

¿Alguna otra idea?

BornToWin

Michel:
if(iVolume(NULL,PERIOD_M1,0) == 1)

{

//do what you want here, first tick of every M1 bar.

}
Razón de la queja: