Ayuda a la codificación - página 193

 

¡Всем привет!

¡¡¡Dорого дня!!!

помогите добавить красную полоску в индикатор

полоска зелёная работает хорошо (oso;// Cal)

красная не работает(toro;// Rojo;)

заранее Спасибо.

индикатор:

bearbull.mq4

Archivos adjuntos:
 

Hola Mrtools & Mladen

Confirmo que TSV Bullish & Bearish es sólo una versión histo de Gann Hilo Activator como se ve en mi foto ...

Nunca entenderé por qué a algunas personas les gusta dar algún nombre esotérico y extraño a otro indicador que ya existe (Gann Hilow activator ya es un nombre extraño y esotérico...) ...

TSV Bullish & Bearish me parecía muy interesante, pero como esto es más TSH Bullshit & Bearish

Que tengáis un buen día chicos y gracias por vuestra respuesta

Zilliq

mrtools:
Zilliq hay una versión aquí https://www.forex-tsd.com/forum/debates-discussions/116-something-interesting-please-post-here/page299#comment_679505 con el código fuente.
Archivos adjuntos:
 

Mladen,

lo he intentado de esta manera:

int start()

{

//----

double _distance = pipsDistance*Point*MathPow(10,Digits%2);

if (displayAlert==false) return;

static datetime Time0;

if (Time0 == Time[0]) return; // Una alerta por barra.

for(int iObj = ObjectsTotal() - 1; iObj >= 0; iObj--)

{

string name = ObjectName(iObj);

if (ObjectType(name) == OBJ_HLINE)

{

line = ObjectGet(name, OBJPROP_PRICE1);

}

else if (ObjectType(name) == OBJ_TREND)

{

line = ObjectGetValueByShift(name,0);

}

else continue; // No se encuentra la línea

if ((Alto[0]>=(línea-distancia) && (línea+distancia)>=Bajo[0])

{

Text = Symbol()+" M "+Period()+" tocó S/R @ "+Close[0];

Alerta(Texto);

Time0 = Time[0]; // No más alertas.

if (Notificación) SendNotification(Texto);

}

}

//----

Ahora mismo no puedo probarlo porque no hay cotizaciones en tiempo real. Pero me parece lógico utilizar el ObjectGetValueByShift() de esta manera. Sólo busco toques de línea dentro de la barra actual. Por eso he utilizado (nombre,0).

Pero ahora quería preguntarte si realmente tengo que hacer una diferencia entre OBJ_HLINE y OBJ_TREND. Cuando uso ObjectGetValueByShift(nombre,0) entonces también recibo el valor de una línea horizontal o estoy equivocado? No veo ninguna diferencia lógica entre ObjectGet(nombre, OBJPROP_PRICE1) y ObjectGetValueByShift(nombre,0) cuando sólo se necesita el valor de la línea del período actual.

¿Quizás puedas aclararlo un poco? ¡¡¡Gracias!!!

 
Marbo:
Mladen,

Lo he intentado de esta manera

int start()

{

//----

double _distance = pipsDistance*Point*MathPow(10,Digits%2);

if (displayAlert==false) return;

static datetime Time0;

if (Time0 == Time[0]) return; // Una alerta por barra.

for(int iObj = ObjectsTotal() - 1; iObj >= 0; iObj--)

{

string name = ObjectName(iObj);

if (ObjectType(name) == OBJ_HLINE)

{

line = ObjectGet(name, OBJPROP_PRICE1);

}

else if (ObjectType(name) == OBJ_TREND)

{

line = ObjectGetValueByShift(name,0);

}

else continue; // No se encuentra la línea

if ((Alto[0]>=(línea-distancia) && (línea+distancia)>=Bajo[0])

{

Text = Symbol()+" M "+Period()+" tocó S/R @ "+Close[0];

Alerta(Texto);

Time0 = Time[0]; // No más alertas.

if (Notificación) SendNotification(Texto);

}

}

//----

Ahora mismo no puedo probarlo porque no hay cotizaciones en tiempo real. Pero me parece lógico utilizar el ObjectGetValueByShift() de esta manera. Sólo busco toques de línea dentro de la barra actual. Por eso he utilizado (nombre,0).

Pero ahora quería preguntarte si realmente tengo que hacer una diferencia entre OBJ_HLINE y OBJ_TREND. Cuando uso ObjectGetValueByShift(nombre,0) entonces también recibo el valor de una línea horizontal o estoy equivocado? No veo ninguna diferencia lógica entre ObjectGet(nombre, OBJPROP_PRICE1) y ObjectGetValueByShift(nombre,0) cuando sólo se necesita el valor de la línea del periodo actual.

¿Tal vez pueda aclararlo un poco? ¡Gracias!

Marbo

Hay que diferenciar entre línea horizontal y línea de tendencia simplemente porque la línea de tendencia es un tipo de objeto diferente al de la línea horizontal (para la línea horizontal basta con leer el valor del precio1 y ya está, mientras que, para la línea de tendencia, el precio1 no tiene por qué ser el mismo que el precio 2 en absoluto, y esos precios pueden ser completamente diferentes de los precios intermedios)

 

Hola,

¿Alguien puede ayudar a solucionar un problema con este indicador?

En el probador visual de mt4 con el modo de Backtesting activado, funciona bien en el modo mtf (H1-H4 en el gráfico M5)

pero en el gráfico real - las líneas se retrasan.

¡Gracias!

mtf_moving_average.mq4

Archivos adjuntos:
 

Mladen,

ese hecho lo entiendo. Me refiero a que sólo para mi indicador simple. Para mí no es importante donde la línea de tendencia viene o donde va a. Sólo necesito el valor de la misma en la barra actual. Por eso pregunté si podía juntarlo y trabajar sólo con ObjectGetValueByShift() para ambas líneas.

Pero, sin embargo, ¿crees que funciona como lo hice en el código anterior?

¡¡¡Gracias!!!

 
Marbo:
Mladen,

ese hecho lo entiendo. Lo digo sólo para mi simple indicador. Para mí no es importante de dónde viene la línea de tendencia o a dónde va. Sólo necesito el valor de la misma en la barra actual. Por eso pregunté si podía juntarlo y trabajar sólo con ObjectGetValueByShift() para ambas líneas.

Pero, sin embargo, ¿crees que funciona como lo hice en el código anterior?

¡¡¡Gracias!!!

Marbo

Por lo que veo debería funcionar

 
cain82:
Hola,

¿Puede alguien ayudar a solucionar un problema con este indicador?

En el probador visual de mt4 con el modo de Backtesting activado, funciona bien en el modo mtf (H1-H4 en el gráfico M5)

pero en el gráfico real - las líneas se retrasan.

Gracias.

mtf_moving_average.mq4

Intenta usar el de este post en su lugar : https://www.mql5.com/en/forum/173574/page239

 
mladen:
Intenta usar el de este post en su lugar : https://www.mql5.com/en/forum/173574/page239

Gracias por la respuesta.

Pero tu indi funciona de forma diferente.

 
cain82:
¡Gracias por la respuesta! Pero tu indi funciona de forma diferente.

Sí, porque funciona correctamente. Si todo lo que hay que corregir se hiciera en el que has colgado serían exactamente iguales

saludos