Ayuda a la codificación - página 389

 
triip:
He encontrado un buen sistema de scalping y la plantilla, pero se ejecuta tan lentamente después de instalar este sistema. Tal vez alguien es capaz de mirar y detectar lo que podría causar.

Plantilla e indicadores:

1m_alf_scalp.zip

Parece que el indicador de color de la vela (IT_Candles) es el problema. Alguien entiende lo que está mal con ese código que MT4 se ejecuta lentamente?

//+------------------------------------------------------------------+//| IT_Candles.mq4

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

#property indicator_chart_window

#include

#property indicator_buffers 2

extern color UpColor = LimeGreen;

extern color DnColor = Red;

extern int Width = 5;

extern double alpha = 0.09;

double ev=EMPTY_VALUE,Trend,Trigger,ALF;

double Up[];

double Dn[];

int init()

{

IndicatorBuffers(2);

SetIndexStyle(0,DRAW_HISTOGRAM,0,Width,UpColor);

SetIndexBuffer(0,Up);

SetIndexStyle(1,DRAW_HISTOGRAM,0,Width,DnColor);

SetIndexBuffer(1,Dn);

return(0);

}

int deinit()

{

return(0);

}

int start()

{

int counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1); //---- check for possible errors

if(counted_bars>0) counted_bars--; //---- last counted bar will be recounted

int limit = Bars-counted_bars;

for (int i=limit;i>=0;i--)

{

Up = ev;

Dn = ev;

Trend = iCustom(NULL,0,"Instant_Trendline",alpha,0,i);

Trigger = iCustom(NULL,0,"Instant_Trendline",alpha,1,i);

ALF = iCustom(NULL,0,"ALF",0,i+1);

if (Trigger > Trend && Close > Open && Close > ALF)

{

Up = MathMax(Open,Close);

Dn = MathMin(Open,Close);

}

if (Trigger < Trend && Close < Open && Close < ALF)

{

Dn = MathMax(Open,Close);

Up = MathMin(Open,Close);

}

}

}

 
triip:
Parece que el indicador del color de las velas (IT_Candles) es el problema. ¿Alguien entiende qué es lo que falla en ese código para que MT4 funcione lentamente?
//+------------------------------------------------------------------+//| IT_Candles.mq4

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

#property indicator_chart_window

#include

#property indicator_buffers 2

extern color UpColor = LimeGreen;

extern color DnColor = Red;

extern int Width = 5;

extern double alpha = 0.09;

double ev=EMPTY_VALUE,Trend,Trigger,ALF;

double Up[];

double Dn[];

int init()

{

IndicatorBuffers(2);

SetIndexStyle(0,DRAW_HISTOGRAM,0,Width,UpColor);

SetIndexBuffer(0,Up);

SetIndexStyle(1,DRAW_HISTOGRAM,0,Width,DnColor);

SetIndexBuffer(1,Dn);

return(0);

}

int deinit()

{

return(0);

}

int start()

{

int counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1); //---- check for possible errors

if(counted_bars>0) counted_bars--; //---- last counted bar will be recounted

int limit = Bars-counted_bars;

for (int i=limit;i>=0;i--)

{

Up = ev;

Dn = ev;

Trend = iCustom(NULL,0,"Instant_Trendline",alpha,0,i);

Trigger = iCustom(NULL,0,"Instant_Trendline",alpha,1,i);

ALF = iCustom(NULL,0,"ALF",0,i+1);

if (Trigger > Trend && Close > Open && Close > ALF)

{

Up = MathMax(Open,Close);

Dn = MathMin(Open,Close);

}

if (Trigger < Trend && Close < Open && Close < ALF)

{

Dn = MathMax(Open,Close);

Up = MathMin(Open,Close);

}

}

}

triip

Comprueba si también tienes los indicadores "Instant_Trendline" y "ALF" en la carpeta de indicadores (ambos son necesarios para que ese indicador funcione correctamente). Si no los tienes, extrae los archivos ex4 de ese archivo zip y el indicador funcionará bien (si no los tienes ahí, será muy lento)

Archivos adjuntos:
it.gif  75 kb
 
mladen:
triip Comprueba si también tienes los indicadores "Instant_Trendline" y "ALF" en la carpeta de indicadores (ambos son necesarios para que ese indicador funcione correctamente). Si no los tienes, extrae los archivos ex4 de ese archivo zip y el indicador funcionará bien (si no los tienes ahí, será muy lento)

Sí, he puesto los otros indicadores en el gráfico también, pero tan pronto como añado IT_Candles, MT4 se ralentiza, especialmente el cambio de marcos de tiempo se ralentiza..

 
triip:
Sí, he puesto los otros indicadores en el gráfico también, pero tan pronto como añado IT_Candles, MT4 se ralentiza, especialmente el cambio de marcos de tiempo se ralentiza..

triip

No es necesario que estén en el gráfico. Pero deben existir (con esos nombres exactos) en la carpeta de indicadores. La forma más fácil de comprobarlo es ir a la pestaña de expertos del terminal y ver si hay algún error allí (como el de la imagen)

Archivos adjuntos:
error_2.gif  98 kb
 
mladen:
triip No es necesario que estén en el gráfico. Pero deben existir (con esos nombres exactos) en la carpeta de indicadores. La forma más fácil de comprobarlo es ir a la pestaña de expertos del terminal y ver si hay algún error allí (como el de la imagen)

No hay errores.

Pero he notado que ALF.ex4 no se ralentiza mucho, pero ALF-MTF.ex4 se ralentiza totalmente. Tengo una subcarpeta en la carpeta de indicadores, donde se quedan todos esos indicadores mencionados. Tal vez debería reinstalar MT4 limpio.

Archivos adjuntos:
errors.png  27 kb
 
triip:
No hay errores allí.

Pero he notado que ALF.ex4 no se ralentiza mucho, pero ALF-MTF.ex4 se ralentiza totalmente. Tengo una subcarpeta en la carpeta de indicadores, donde permanece todos los indicadores mencionados. Tal vez debería volver a instalar MT4 limpio.

Moverlos de la subcarpeta a la carpeta principal de indicadores y probar entonces

 
mladen:
Muévelos de la subcarpeta a la carpeta principal de indicadores y prueba entonces

Mucho mejor, funciona de maravilla ¡¡¡Gracias mladen!!!

 
sunshineh:
Hola,

Siempre tengo problemas con la escritura de objetos de texto sobre las barras de mi gráfico.

Por ejemplo

ObjectCreate ("Xh", OBJ_TEXT,0,Time[0],High[0]+1*pips2dbl);

ObjectSetText("Xh","1",10,"Tahoma",Orange);

ObjectCreate ("X", OBJ_TEXT,0,Time[0],Low[0]-1*pips2dbl);

ObjectSetText("Xl","1",10,"Tahoma",Orange);

Esto funciona bien con los objetos de texto debajo de mis barras porque mi objeto de fuente se fija "en la cabeza de" mi texto.

Pero si quiero escribir algún texto por encima de la barra, no sé cómo mis pips mi texto en tamaño de fuente 10 es un por lo que se escribe en las barras.

También hay un problema cuando escribo mi texto en marcos de tiempo más grandes, por ejemplo, "H1", "D1" oder "W1", porque allí tuve que cambiar mi fuente-distancia al valor alto o bajo, también.

Sé que puedo girar mi texto a 90° pero no quiero hacer eso.

¿Conoces una solución para ese problema?

Para empezar intente usar ATR en lugar de 1*pips2dbl (de esa manera se ajustará a diferentes marcos de tiempo y símbolos).

También intente ajustar el punto de anclaje (OBJPROP_ANCHOR) del texto a ANCHOR_LOWER para el objeto de texto que se muestra por encima del máximo

 
madopter:
Las partes ajustables deben ser el tamaño del lote, y el saldo de la cuenta a la que se aplica el lote. Por ejemplo, los parámetros podrían ser A = 0.01, B = $5000, o, A = 1.00, B = $10000.

En ese caso tienes que tener varios valores de parámetros utilizables para la comparación

Puedes definir los parámetros como: extern double accountBalanceA = 5000; y luego usar esos parámetros en la comparación en ese código que hizo lo mismo sin parámetros

 
mladen:
jbozman

el indicador macd no necesita ningún cambio (sólo calculará 1 o 2 barras en el 99,99% de los casos)

El indicador hilo busca los valores de una manera muy clomplicada. Mejor utilizar algún otro indicador que haga esa tarea de forma mucho más sencilla (no hace falta complicarlo tanto)

Hola mladen. He buscado y no he podido encontrar un high/low que tenga el día anterior, la semana y el mes, todo en uno, que pinte segmentos de líneas simples y que no haga un desastre de gráfico.

Sé que dijiste que tratara de encontrar otro; sin embargo, realmente busqué y no fui capaz. He publicado una solicitud en el foro mql4, también. No me han contestado.

Simplemente, estaría dispuesto a pagarle a alguien (a usted) para que modifique este indicador.

Me gustaría que se añadiera el "Número de días", ya que éste traza cada día anterior. En EUR/USD y GBP/USD, mi historial de gráficos se remonta a 1996 o más, por lo que ocupa demasiada memoria con todas estas líneas.

Si no está en alquiler (¿quizás alguien más lo estaría?), ¿es demasiado complicado simplemente añadir Number of Days a este actual? Puedo seguir usándolo hasta que encuentre otro o encuentre a alguien que lo modifique. Si es una petición que requiere mucho tiempo, lo entiendo perfectamente y te agradezco tu ayuda en todo.

jbozman

Archivos adjuntos: