Manqué 1 barre le mercredi, commencé par ce symbole à 00:30, c'est-à-dire perdu à 00:00
M30 time frame, a obtenu 47 dans la journée au lieu de 48. C'est exactement ce que nous devons identifier
intBars(
string symbol_name, // имя символа ENUM_TIMEFRAMES timeframe, // период datetime start_time, // с какой даты datetime stop_time // по какую дату
);
Compris, la question est celle des fausses alarmes, qui seront nombreuses.
//дата последней свечи
curr_time=iTime(symbol,frame,0);
//ограничение на торговлю вне начала бараif(last_time==curr_time) return;
if((iBarShift(eSymbol,eFrame,last_time)-iBarShift(eSymbol,eFrame,curr_time))>PeriodSeconds(eFrame)) printf("а-я-яй");
last_time=curr_time;
C'est possible, vous pouvez également utiliser CopyOpen().
Je n'arrive pas à me décider sur la manière d'organiser ceci en boucle à travers toute l'histoire.
L'heure d'ouverture de la barre de jour zéro moins 1 seconde à l'ouverture de la première barre de jour. Puis de l'ouverture de la première barre quotidienne moins 1 seconde à l'ouverture de la deuxième barre quotidienne et ainsi de suite.
C'est possible, vous pouvez également utiliser CopyOpen().
Je n'arrive pas à décider comment l'arranger en boucle sur toute l'histoire
Exactement (par exemple pour M30) - si le temps entre les ouvertures (modulo % 24 heures) de barres voisines est plus long que M30 - cela signifie qu'il manque des barres entre elles.
int nbars = ( ( iTime(_Symbol,PERIOD_M30,N) - iTime(_Symbol,PERIOD_M30,N+1) ) ) / PeriodSeconds(PERIOD_M30) ) % 48; // сколько баров должно быть между ссоедними отметками
if (nbars>1) PrintFormat("Пропущено баров: %d",nbars-1);
Par exemple :
Manqué 1 barre le mercredi, commencé par ce symbole à 00:30, c'est-à-dire perdu à 00:00
M30, il s'est avéré qu'il y en avait 47 en un jour au lieu de 48. C'est exactement ce que nous devons identifier
Voici un exemple :
Manqué 1 barre le mercredi, commencé par ce symbole à 00:30, c'est-à-dire perdu à 00:00
M30 time frame, a obtenu 47 dans la journée au lieu de 48. C'est exactement ce que nous devons identifier.
Je ne connais pas le bon chemin, mais je penserais dans cette direction
Voici un exemple :
Manqué 1 barre le mercredi, commencé par ce symbole à 00:30, c'est-à-dire perdu à 00:00
M30 time frame, a obtenu 47 dans la journée au lieu de 48. C'est exactement ce que nous devons identifier
Vitaly Muzichenko #:
C'est exactement ce que nous devons identifier.
Compris, la question est celle des fausses alarmes, qui seront nombreuses.
Si 47
C'est possible, vous pouvez également utiliser CopyOpen().
Je n'arrive pas à me décider sur la façon d'organiser cela en boucle à travers toute l'histoire.
encore plus simple :
C'est possible, vous pouvez également utiliser CopyOpen().
Je n'arrive pas à me décider sur la manière d'organiser ceci en boucle à travers toute l'histoire.
C'est possible, vous pouvez également utiliser CopyOpen().
Je n'arrive pas à décider comment l'arranger en boucle sur toute l'histoire
Exactement (par exemple pour M30) - si le temps entre les ouvertures (modulo % 24 heures) de barres voisines est plus long que M30 - cela signifie qu'il manque des barres entre elles.
int nbars = ( ( iTime(_Symbol,PERIOD_M30,N) - iTime(_Symbol,PERIOD_M30,N+1) ) ) / PeriodSeconds(PERIOD_M30) ) % 48; // сколько баров должно быть между ссоедними отметками
if (nbars>1) PrintFormat("Пропущено баров: %d",nbars-1);
Merci à tous, le principe est clair, le problème a été formalisé.
---
Maintenant une question : Qu'est-ce que je fais mal, tous les caractères ont la même valeur ?
---
P.S. Terminal MT4, vérifié sur deux terminaux différents dans des sociétés de courtage différentes
P.SS. J'ai vérifié dans MT5, le résultat est le même
---
Je fais probablement quelque chose de mal !
J'ai besoin d'obtenir la "valeur du point"
Merci à tous, le principe est clair, le problème a été formalisé.
---
Maintenant une question : Qu'est-ce que je fais mal, tous les caractères ont la même valeur ?
Vitaly, ici il faut soit embêter les développeurs, soit