Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1356

 
Vladimir conozco la regla de la comparación. ¿Entonces no se puede hacer sin condiciones adicionales?
 
Oleg Kolesov #:
Vladimir, conozco la regla de la comparación. ¿Entonces no se puede hacer sin condiciones adicionales?

¿Cuáles son los extras?


¿Puedes hacer algo mejor que eso, sin comparación?

      //---------------------------------------------+
      levelcol1[i]=1.0;
      if(level1[i]>level1[i+PeriodSh])
        {
         levelcol1[i]=0.0;
         continue;
        }
      /*if(CompareDoubles(level1[i],level1[i+PeriodSh]))
        {
         levelcol1[i]=1.0;
         continue;
        }*/
      if(level1[i]<level1[i+PeriodSh])
        {
         levelcol1[i]=2.0;
         continue;
        }
     }  //--- Возвращаемое значение prev_calculated для следующего вызова
 
Gracias por su ayuda.
 
Vladimir Karputov #:

¿Cuáles son los extras?


Y puedes hacerlo aún mejor, sin comparación:

Lo mismo ocurre si se compara en igualdad de condiciones sin normalización.

 
La cuestión principal sigue sin resolverse. Cómo colorear el tampón con dos colores. >= Azul a <= Rojo.
 
Oleg Kolesov #:
La cuestión principal sigue sin resolverse. Cómo colorear el tampón con dos colores. >= Azul a <= Rojo.

Y en el caso de la igualdad, ¿cómo se sabe si es más o igual o menos o igual? Ese es el reto, ¿no?)

 
Oleg Kolesov #:
¿Cuál es la tarea? ¿Bucle?¿ArrayBsearch? ¿ArraySort? ¿Con qué medios?

¡Silencio de húsares!

Esto es el apocalipsis.

La mente debe ser tratada.

 
Me tomaré un descanso. Gracias.
 

Por favor, ayuda con la eliminación de un indicador de la ventana principal.

Por ejemplo, se colocan varios indicadores MA personalizados, cada uno es llamado por iCustom(handleMA,...,...).

Así, en el gráfico aparecen una docena de medias móviles.

Entonces, estos indicadores deben ser recalculados mediante un temporizador.

El orden es el siguiente: el temporizador se dispara, se eliminan los indicadores antiguos, se calcula y se dibujan las nuevas medias móviles.

Ahora, el problema mismo: las líneas antiguas permanecen en el gráfico en cada nueva iteración.

He intentado eliminarlos de dos maneras:

Graph_MA[i] = iCustom(_Symbol,Timeframe,"MA", /*параметры индикатора*/);   
for(int i=0; i < kol_Lines; i++) 
     {
      res = IndicatorRelease(Graph_MA[i]);
     }

En este caso la variable res es igual a True cada vez, pero los indicadores adicionales no se eliminan del gráfico.

La segunda forma:

name_MA[i]=StringFormat("MA_Line # %d", i);
IndicatorSetString(INDICATOR_SHORTNAME,name_MA[i]);
res = ChartIndicatorDelete(0, 0, name_MA[i]);

En vano: la res es siempre falsa.

 
qadexys #:

Por favor, ayuda con la eliminación de un indicador de la ventana principal.

Por ejemplo, se colocan varios indicadores MA personalizados, cada uno es llamado por iCustom(handleMA,...,...).

Así, en el gráfico aparecen una docena de medias móviles.

Entonces, estos indicadores deben ser recalculados mediante un temporizador.

El orden es el siguiente: el temporizador se dispara, se eliminan los indicadores antiguos, se calcula y se dibujan las nuevas medias móviles.

Ahora, el problema mismo: las líneas antiguas permanecen en el gráfico en cada nueva iteración.

He intentado eliminarlos de dos maneras:

En este caso la variable res es igual a True cada vez, pero los indicadores adicionales no se eliminan del gráfico.

La segunda forma:

En vano: la res es siempre falsa.

Estas son las características de IndicatorRelease() - no es la eliminación de un indicador, sino que es la notificación al terminal de que el indicador ya no es necesario. Además, el terminal decide por sí mismo cuándo retirarlo. Normalmente, lo hace después de algunos segundos.

Tal vez haya algunos trucos, no lo sé. Tal vez intente cambiar el gráfico.

Razón de la queja: