[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 703

 
Ya he escrito que me doy cuenta de que la cadena no funciona, pero ¿qué pasa con ella?
 
Infinity:
Ya he escrito que me doy cuenta de que la cadena no funciona, pero ¿qué pasa con ella?
Utilice la sentencia if
 
OneDepo:
Utilice la sentencia if

Eso es lo que pensé en un principio, sólo quería hacer el código más corto ))))) demasiados ifs que obtendría)
 
odiseif:
SetIndexStyle(0, DRAW_NONE);
SetIndexStyle(1, DRAW_LINE,EMPTY);
SetIndexStyle(2, DRAW_NONE);
SetIndexStyle(3, DRAW_NONE);
SetIndexStyle(4, DRAW_NONE);
está aquí .......Quiero poner el ancho de línea a 0 pero no quiero molestarme con la configuración ...... No sé cómo hacerlo .... No soy programador .... ayúdame ))))

Odyssey, hay dos opciones. Primero, al principio del código del indicador, cambie el dígito al final de esta línea, al grosor deseado:

#property  indicator_width1  1

O a través del método SetIndexStyle():

SetIndexStyle(1, DRAW_LINE, EMPTY, 2); 

Elgrosor de la línea, en este método, es el cuarto parámetro.

 
ToLik_SRGV:

Odyssey, hay dos opciones. Primero, al principio del código del indicador, cambie el dígito al final de esta línea, al grosor deseado:

O a través del método SetIndexStyle():

El grosor de la línea, en este método, es el cuarto parámetro.

 IndicatorBuffers(7);
   SetIndexBuffer(0, MACDBuffer);
   SetIndexBuffer(1, SignalBuffer);
   SetIndexBuffer(2, FastEMABuffer);
   SetIndexBuffer(3, SlowEMABuffer);
   SetIndexBuffer(4, SignalEMABuffer);
   SetIndexBuffer(5, Buffer1);
   SetIndexBuffer(6, Buffer2);
   SetIndexStyle(0, DRAW_NONE);
   SetIndexStyle(1, EMPTY);
   SetIndexStyle(2, DRAW_NONE );
   SetIndexStyle(3, DRAW_NONE );
   SetIndexStyle(4, DRAW_NONE);
   SetIndexStyle(5, DRAW_HISTOGRAM);
   SetIndexStyle(6, DRAW_HISTOGRAM);
   SetIndexDrawBegin(0, SlowEMA);
   SetIndexDrawBegin(1, SlowEMA);
aquí hay un trozo de código ..lo encontré en el tutorial pero no puedo entenderlo .... ¿debo cambiarlo o pegarlo?
 
Poushkine:

No sé nada de programación en absoluto. Quería hacer el filtro CCI (https://www.forex-tsd.com/indicators-metatrader-4/3356-cci-filter.html) igual para WPR, cambié CCI a WPR y cambié los niveles en las condiciones de coloración de las barras (no -100, 0, 100 como CCI, sino -60, -50 y -40, porque en MT WPR tiene un rango de -100 a 0, creo, ¿no?) Pero por alguna razón se compila con un error, y la pantalla muestra un indicador monocromático. ¿Qué ocurre? Gracias de antemano

No entiendo muy bien qué es lo que has cambiado exactamente, porque tienes que registrarte en la dirección que has proporcionado para mirar el código fuente delfiltro CCI .
Sólo he encontrado un error, iWPR no tiene el parámetro applied_price, por lo que es correcto:

WPR0=iWPR(NULL,0,PeriodWPR,shift);
 
odiseif:
aquí hay un trozo de código ..lo encontré en el tutorial pero no puedo entenderlo .... ¿debo cambiarlo o pegarlo?

¿No hay una línea como esta al principio del código:

#property  indicator_width1  1

Si no es así, prueba esto:

SetIndexStyle(5, DRAW_HISTOGRAM, EMPTY, 2);
SetIndexStyle(6, DRAW_HISTOGRAM, EMPTY, 2);
 

Además Odiseo, en el ejemplo anterior lo tenías así:

SetIndexStyle(0, DRAW_NONE);
SetIndexStyle(1, DRAW_LINE,EMPTY);
SetIndexStyle(2, DRAW_NONE);
SetIndexStyle(3, DRAW_NONE);
SetIndexStyle(4, DRAW_NONE);

Y ahora es así:

SetIndexStyle(0, DRAW_NONE);
SetIndexStyle(1, EMPTY);
SetIndexStyle(2, DRAW_NONE );
No has borrado nada, ¿o me lo estoy imaginando?
 
ToLik_SRGV:

¿No hay una línea como esta al principio del código:

Si no es así, prueba esto:

no hay tal línea.
#property  indicator_width1  1

 

Lo he cambiado así y no funciona correctamente... el gráfico de barras cambia en el terminal con los nuevos parámetros pero cuando saco un nuevo indicador en un gráfico muestra los mismos parámetros que antes...


 IndicatorBuffers(7);
   SetIndexBuffer(0, MACDBuffer);
   SetIndexBuffer(1, SignalBuffer);
   SetIndexBuffer(2, FastEMABuffer);
   SetIndexBuffer(3, SlowEMABuffer);
   SetIndexBuffer(4, SignalEMABuffer);
   SetIndexBuffer(5, Buffer1);
   SetIndexBuffer(6, Buffer2);
   SetIndexStyle(0, DRAW_NONE);
   SetIndexStyle(1, DRAW_LINE,EMPTY);
  SetIndexStyle(2, DRAW_LINE,EMPTY,2 );
   SetIndexStyle(3, DRAW_NONE,EMPTY,2);
   SetIndexStyle(4, DRAW_NONE);
   SetIndexStyle(5, DRAW_HISTOGRAM,EMPTY, 2);
   SetIndexStyle(6, DRAW_HISTOGRAM,EMPTY, 2);
   SetIndexDrawBegin(0, SlowEMA);
   SetIndexDrawBegin(1, SlowEMA);
   IndicatorShortName("ZeroLag MACD Colored(" + FastEMA + "," + SlowEMA + "," + SignalEMA + ")");
   SetIndexLabel(0, "MACD");
   SetIndexLabel(1, "Signal");
   SetIndexLabel(5, "MACD");
   SetIndexLabel(6, "MACD");
Razón de la queja: