[¡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 859

 
FOReignEXchange:




Sé mucho de programación, pero cuando intento hacer algo con indicadores o gráficos me bloqueo, es demasiado difícil entender este sistema de coordenadas, como dibujar con Canvas, uno o dos ...
usver:


Utiliza la variable Bars y sigue su evolución. Aumentado por 5, recordado, etc.

Ejemplo
 
if (N=0) N=iBars(Simbol(),TF);

if ((iBars(Simbol(),TF)-N)==5)
   {
   N=0;
   Также обнуляем все параметры, которые использует индикатор, чтобы он смог сделать перерасчёт.
   }

Eso es todo, creo.

 

IgorM:

Así es.

int barsTtl;

int init()
   {
      barsTtl=iBars(Symbol(),PERIOD_H1);
      return(0);
   }

int start()
   {
      if (iBars(Symbol(),PERIOD_H1)==barsTtl+5)
        {
          // какие-то действия
          ...
          ...
          ...
          barsTtl=iBars(Symbol(),PERIOD_H1);
          return(0);
        }
   }
FOReignEXchange:

Más o menos lo mismo, creo.


Sí, eso es exactamente lo que quería decir
 

usver, FOReignEXchange

muchas gracias, ¿qué tal funcionará este código cuando el historial esté paginando? la paginación a veces sucede al azar, incluso si el terminal está funcionando 24/7, contador de bytes

de repente parece aumentar la cantidad de información descargada, aunque no se realiza ninguna acción

 
usver:

IgorM:

Más o menos.


Sí, eso es exactamente lo que quería decir

Intenté ese tipo de cosas. No siempre funciona.
 
IgorM:

usver, FOReignEXchange

¿que tan bien funcionará este código cuando la historia se pague? la paginación se inicia a veces de forma aleatoria, incluso si el terminal está encendido las 24 horas del día, de acuerdo con el contador de bytes

se produce un aumento repentino del tamaño de la información descargada, aunque no se realiza ninguna acción


Sí, por lo que este método no se puede llamar fiable. Sólo lo uso para comprobar estrategias e indicadores, ya que es lo más fácil. Nunca me ha fallado.
 

Por lo tanto, necesitamos recordar el tiempo de la barra iTime(NULL,TF,0) y luego contar las barras iBarShift.

La lógica es la misma que la anterior, pero se utiliza el tiempo de barra.

 
IgorM:

usver, FOReignEXchange

¿que tan bien funcionará este código cuando la historia se pague? la paginación se inicia a veces de forma aleatoria, incluso si el terminal está encendido las 24 horas del día, de acuerdo con el contador de bytes

Se puede ver un aumento repentino de la cantidad de información descargada, aunque no se realiza ninguna acción


Sí, por eso este método no puede llamarse fiable. Lo uso sólo para comprobar estrategias e indicadores, como el más fácil. Nunca he tenido ningún problema con él.

Lo utilicé para abrir posiciones al principio de una nueva barra (segunda/tercera barra desde el punto de referencia), y todo parecía estar bien. He analizado el historial en excel - todo funciona según la condición. Es un caso de una cosa por otra, como se dice. Es usted quien debe decidir. Como alternativa, le aconsejé FOReignEXchange con una hora de apertura. La tecnología es básicamente la misma.

 
Eso es todo en pocas palabras.
if (t=0) t=iTime(NULL,TF,0);

if ((iBarShift(NULL,TF,t)-iBarShift(NULL,TF,iTime(NULL,TF,0))==5)
   {
   t=0;
   Также обнуляем все параметры, которые использует индикатор, чтобы он смог сделать перерасчёт.
   }


 
FOReignEXchange:
Como este


Genial, pero si no te importa, por favor, haz un retraso en minutos usando este código

Es decir, en la configuración del indicador vamos a establecer el redibujado en minutos, y de M1 tomaremos el contador

Razón de la queja: