[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 349

 

Messieurs ! Bonsoir !

Pouvez-vous m'indiquer comment réaliser la tâche suivante : faire afficher sur le graphique l'heure locale/du système(heure de l'ordinateur), qui est indépendante du dernier tick et de la connexion internet.

Ce que j'ai fait :

1. Brouillés

int init ()
{
   start();
}
int start()
   {
   while(IsConnected())
   {
      RefreshRates();
         if (!IsStopped())
         {
            ...
         }
   }
   return(0);
}

2. Spécifie l'heure locale donnée dans le terminal :

Comment(TimeHour(TimeLocal()), ":", TimeMinute(TimeLocal()), ":", TimeSeconds(TimeLocal()))

MAIS, en cas de déconnexion des réseaux, l'heure cesse de s'actualiser au bout de 3 à 6 minutes, alors que j'ai besoin qu'elle s'actualise indépendamment des réseaux ou des tics. +En plus de cela, le code en boucle ralentit le graphique de manière significative.

Je pensais qu'il était possible d'extraire l'heure en utilisant #import "User32.dll"/"Win32.dll" ou peut-être à partir de "kernel32.dll" - int GetSystemTime() - mais j'ai une question sur la façon de le faire. Je n'arrive pas à comprendre.

Aidez-moi, s'il vous plaît !

 
smartemiy:

Messieurs ! Bonsoir !

Pouvez-vous me dire comment effectuer la tâche suivante : afficher l'heure locale/système (heure de l'ordinateur) sur le graphique, qui ne dépend pas du dernier tick et de la connexion internet.

Ce que j'ai fait :

1. Brouillés

2. Spécifie l'heure locale donnée dans le terminal :

MAIS, en cas de déconnexion des réseaux, l'heure cesse de s'actualiser au bout de 3 à 6 minutes, alors que j'ai besoin qu'elle s'actualise indépendamment des réseaux ou des tics. +En plus de cela, le code en boucle ralentit le graphique de manière significative.

Je pensais qu'il était possible d'extraire l'heure en utilisant #import "User32.dll"/"Win32.dll" ou peut-être à partir de "kernel32.dll" - int GetSystemTime() - mais j'ai une question sur la façon de le faire. Je n'arrive pas à comprendre.

Aidez-moi, s'il vous plaît !

S'il s'agit d'un indicateur, il n'y a pas de ticks - il ne sera pas mis à jour. Elle est nécessaire dans un script en boucle ou dans un Expert Advisor.

Vous devriez utiliser cette fonction au cas où.

 
Zhunko:
Il n'y a pas de tics - il n'y aura pas de mise à jour. Il doit être dans un script en boucle ou un expert.


Seulement dans le script, l'EA s'arrêtera également lorsque la connexion sera interrompue.
 
FAQ:

Seulement dans le script, l'EA s'arrêtera également lorsque le lien sera rompu.

Une boucle ne s'arrêtera pas.

Ha ! Je l'ai regardé de près... C'est comme ça qu'il est bouclé. C'est un script ou un EA. Et dans les conditions de la boucle, il y a une vérification de la connexion. C'est pour ça que ça ne marche pas.

 
Zhunko:

Une boucle ne s'arrêtera pas.

Ha ! Je l'ai regardé attentivement... C'est comme ça qu'il est bouclé. C'est un script ou un expert. Et dans les conditions de la boucle, il y a une vérification du lien. C'est pour ça que ça ne marche pas.


C'est vrai. C'est l'expert.

Vous devez donc supprimer la vérification de la connexion ?

int init ()
{
   start();
}
int start()
   {
   while(true)
   {
      RefreshRates();
            ...
   }
   return(0);
}

EtTimeToStr( datetime value, int mode=TIME_DATE|TIME_MINUTES) dépend aussi du tick

 
smartemiy:


Bien. C'est un expert.

Vous voulez dire que vous devez supprimer la vérification du lien ?

EtTimeToStr( datetime value, int mode=TIME_DATE|TIME_MINUTES) dépend aussi du tick

Ça devrait tourner comme ça :

while(!IsStopped())
 {
  ...
 }
Comment la fonction de conversion dépend-elle des ticks ?

Je recommande également de supprimer start de l'init. Ce n'est pas sportif :-)) Le départ est en boucle. L'init ne finira jamais. C'est interdit dans la documentation.

 
Zhunko:

Tu dois faire une boucle comme ça :

Comment la fonction de conversion dépend-elle des ticks ?

Je recommande également de supprimer le début de l'init. Ce n'est pas sportif :-)) Le départ est en boucle. L'init ne finira jamais. Ceci est interdit dans la documentation.

La transformation f-i se fera, et le changement de la variable dans cette f-i ne changera pas en l'absence du tick. TimeToStr(TimeLocal(), TIME_MINUTES) - dépend du tick.

Avez-vous une idée de comment extraire l'heure de Win32/User32 afin de ne pas bloquer l'EA ?

 
Besoin d'un script
 
FAQ:
Besoin d'un script

avec la même boucle ?
 
Oui, vous devrez toujours mettre à jour l'horaire vous-même.
Raison: