[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 859

 
FOReignEXchange:




Je m'y connais en programmation, mais quand j'essaie de faire quelque chose avec des indicateurs ou des graphiques, je reste bloqué, c'est trop difficile de comprendre ce système de coordonnées, comme dessiner avec Canvas, un ou deux ...
usver:


Utilisez la variable Bars et suivez son évolution. Augmenté de 5, rappelé, etc.

exemple plz
 
if (N=0) N=iBars(Simbol(),TF);

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

C'est à peu près tout, je pense.

 

IgorM:

C'est à peu près ça.

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:

A peu près la même chose, je pense.


Oui, c'est exactement ce que je voulais dire.
 

usver, FOReignEXchange

Merci beaucoup, comment ce code fonctionnera-t-il lorsque l'historique est paginé ? La pagination se produit parfois de manière aléatoire, même si le terminal fonctionne 24/7, compteur d'octets

semble soudainement augmenter la quantité d'informations téléchargées, bien qu'aucune action ne soit entreprise.

 
usver:

IgorM:

A droite.


Oui, c'est exactement ce que je voulais dire.

J'ai essayé ce genre de choses. Ça ne marche pas toujours.
 
IgorM:

usver, FOReignEXchange

comment ce code fonctionnera-t-il lorsque l'histoire est en train de paginer ? la pagination est parfois lancée de façon aléatoire, même si le terminal est allumé 24/7, selon le compteur d'octets

Une augmentation soudaine du volume d'informations téléchargées peut être observée, bien qu'aucune action ne soit effectuée.


Oui - cette méthode ne peut donc pas être qualifiée de fiable. Je ne l'utilise que pour vérifier les stratégies et les indicateurs, car c'est le plus simple. Il n'a jamais échoué pour moi.
 

Par conséquent, nous devons nous souvenir de l'heure de la barre iTime(NULL,TF,0) et ensuite compter les barres iBarShift.

La logique est la même que ci-dessus, mais le temps de barre est utilisé.

 
IgorM:

usver, FOReignEXchange

comment ce code fonctionnera-t-il lorsque l'histoire est en train de paginer ? la pagination est parfois lancée de façon aléatoire, même si le terminal est allumé 24/7, selon le compteur d'octets

Vous pouvez voir une augmentation soudaine de la quantité d'informations téléchargées, bien qu'aucune action ne soit entreprise.


Oui - c'est pourquoi cette méthode ne peut être qualifiée de fiable. Je l'utilise uniquement pour vérifier les stratégies et les indicateurs, car c'est le plus simple. Je n'ai jamais eu de problèmes avec elle.

Je l'ai utilisé pour ouvrir des positions au début d'une nouvelle barre (deuxième/troisième barre à partir du point de départ), et tout semblait correct. J'ai analysé l'historique dans excel - tout fonctionne comme prévu. C'est un cas d'une chose pour une autre, comme on dit. C'est à vous de décider. Comme alternative, je vous ai conseillé FOReignEXchange avec une heure d'ouverture. La technologie est fondamentalement la même.

 
C'est ça en résumé.
if (t=0) t=iTime(NULL,TF,0);

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


 
FOReignEXchange:
Comme ça


Super, mais si vous le voulez bien, faites un délai en minutes avec ce code

Dans les paramètres de l'indicateur, définissons le redécoupage en minutes, et à partir de M1, nous prendrons le compteur.

Raison: