Questions d'un "mannequin - page 251

 
Silent:
Tout est clair, j'ai déjà imprimé chaque étape, et j'ai la fonction dans un script séparé... Ok, je vais y réfléchir à mon aise.

Non, ce n'est pas clair pour vous. Cela dépend de ce qui est imprimé. )) On vous indique déjà à trois voix les paramètres qui sont transmis.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

FAQ des Nuls

tol64, 2013.05.24 13:02

Vérifier (imprimer dans le journal) l'heure de début (t[0]+b) et l'heure de fin (t[0]) de la plage. Vous vous y habituerez tout de suite.

 
stringo:

Il n'est pas nécessaire d'abandonner la fonction.

Lorsque vous demandez des données dans la plage"heure actuelle - heure actuelle plus un certain nombre de secondes", cela signifie que vous demandez des données pour le futur. Les données n'existent pas encore au moment de la demande.

Si vous demandez des données dans la plage "heure actuelle - heure actuelle moins un certain nombre de secondes", vous demandez des données potentiellement existantes.

De quel avenir parlons-nous, où avez-vous vu cela ?

Toutes les requêtes vont exclusivement vers le passé.

Dans le script de test, la barre à partir de laquelle il faut compter est explicitement définie...

En général, on précise les extrémités du zigzag, ce qui ne donne pas l'heure exacte...

 
Silent:

De quel avenir parlons-nous, où avez-vous vu cela ?

OK. Heure actuelle 2013.05.24 15:43:29

Ajouter 600 secondes à l'heure actuelle. Nous obtenons 2013.05.24 15:53:29.

Ensuite, nous demandons l'intervalle calculé. Mais nous ne disposons de données que jusqu'à l'heure actuelle. Entre 2013.05.24 15:43:29 et 2013.05.24 15:53:29 il n'y a pas encore de données.

Mais si vous faites tourner le cycle de dix minutes, les données peuvent bien apparaître. Sauf que 2013.05.24 15:43:29 devient l'heure passée et 2013.05.24 15:53:29 devient l'heure actuelle.

Документация по MQL5: Дата и время / TimeCurrent
Документация по MQL5: Дата и время / TimeCurrent
  • www.mql5.com
Дата и время / TimeCurrent - Документация по MQL5
 
tol64:

Non, ce n'est pas clair pour vous. Cela dépend de ce qui est imprimé. )) On vous indique déjà à trois voix les paramètres qui sont transmis.

https://www.mql5.com/ru/forum/3775/page252#comment_507621

C'est comme.

   Print(tm[0]);
 
stringo:

Ok. Heure actuelle 2013.05.24 15:43:29

Ajouter 600 secondes à l'heure actuelle. Nous obtenons 2013.05.24 15:53:29

Nous demandons ensuite l'intervalle calculé. Mais nous ne disposons de données que jusqu'à l'heure actuelle. Entre 2013.05.24 15:43:29 et 2013.05.24 15:53:29 nous n'avons toujours pas de données.

Mais si vous faites tourner le cycle de dix minutes, les données pourraient bien apparaître. Sauf que 2013.05.24 15:43:29 devient l'heure passée et 2013.05.24 15:53:29 devient l'heure actuelle.

//--- переменные для указания параметров функции
   int start = 5; // индекс бара
   int count = 1; // количество баров
   int b=72000;   
   int bm;        // надо получить
   datetime tm[]; // массив, в котором возвращается время баров
//--- копирование времени 
   CopyTime(_Symbol,PERIOD_CURRENT,start,count,tm);
//--- вывод результата
   Print(tm[0]);

   bm=Bars(_Symbol,PERIOD_M1,tm[0]+b,tm[0]);
   Print("bm = "+bm);
//--- возвращает bm = 1201
   bm=Bars(_Symbol,PERIOD_M1,tm[0]-b,tm[0]);
   Print("bm = "+bm);

Où se trouve

int start = 5; // индекс бара

bar dont le temps que je prends.

Je n'utilise PAS l'heure actuelle. Pas du tout.

 
Je vais faire un chèque séparé pour l'avenir, et on verra.
 
Silent:

est le bar dont je reçois l'heure.

Je n'utilise PAS l'heure actuelle. Pas du tout.

C'est-à-dire que dans tm[0] vous avez le temps de la 5ème mesure à partir de la fin.

Dans ce cas, lors de la première demande de données autres que l'intervalle de temps actuel (vous demandez des minutes), vous pourriez facilement obtenir 0 barre, car ces données ne sont pas encore dans le terminal.

Juste pour cela, nous avons publié un script sur le téléchargement garanti de données historiques de n'importe quelle période de symbole existante.

 
stringo:

Nous avons déjà publié un script à ce sujet, qui garantit le téléchargement des données historiques de toute période de symbole existante.

Lisez la section d'aide sur l'organisation de l'accès aux données

 
stringo:

C'est-à-dire que dans tm[0] vous avez le temps de la 5ème mesure à partir de la fin.

Dans ce cas, lors de la première demande de données autres que l'intervalle de temps actuel (vous demandez des minutes), vous pouvez facilement obtenir 0 barre, car ces données ne sont pas encore dans le terminal.

Nous avons publié une fois un script sur le sujet du téléchargement garanti de données historiques de toute période de symbole existante.

Vous pouvez périodiquement obtenir 0 même sur l'intervalle de temps actuel, mais sur des barres différentes. Très rarement, cependant. Je n'arrive pas à le reproduire aujourd'hui, alors qu'hier je l'obtenais sur presque chaque nouvelle barre (non appelée).

Je vais chercher le script, merci.

 

En général, la plus grande confusion est de savoir pourquoi toutes les fonctions de Copie fonctionnent, dans les mêmes conditions, - et j'attrape quelque chose à gauche sur le léopard ?

C'est fantastique...

Mettez à jour la réponse possible pour obtenir 0 au premier passage.

Мы не можем прямо обратиться к серверу, но любая Copy-функция
при нехватке истории в формате HCC в терминал автоматически инициирует посылку
такого запроса от терминала к торговому серверу.

et Bars ne fait pas ça.

Mises à jour 2 il y a une lettre manquante dans l'aide, dans, surligné en rouge.