Erreurs, bugs, questions - page 1807
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
juste pour être clair :
OK, ajouté au BOD.
Les bugs commerciaux sont plus alarmants qu'autre chose. Mise à jour vers 1531+ pour que les logs soient plus complets.
2017.02.16 08:53:03.285 MQL5 wrong type, loading of Test failed
2017.02.16 08:53:03.813 Network '5122740': authorized on MetaQuotes-Demo through Access Point EU Amsterdam (ping: 50.93 ms)
Qu'est-ce que c'est ?
Il n'y a rien en cours sur le seul graphique. Ce message s'affiche chaque fois que vous changez de compte.
@Slawa, la synchronisation s'étend-elle à TimeCurrent() ? Maintenant, j'ai l'image suivante : hier soir, à 22 h 45, j'ai éteint le terminal. Je l'ai allumé ce matin. Le marché est toujours fermé. FORTS. Les ticks arrivent avant l'ouverture du marché à 10h00, heure de Moscou. Les informations de chaque tick sont traitées dans OnBookEvent(). Le problème est que malgré la vérification redondante de la synchronisation :
{
//--- Проверка переданного значения
if( rates_total > 0 ) // Если передано корректное значение
return( true ); // Возвращаем истину
//--- Проверка синхронизации
bool isSync = SymbolIsSynchronized( _Symbol );
bool sync = (bool)SeriesInfoInteger( _Symbol, _Period, SERIES_SYNCHRONIZED );
//---
if( !isSync || !sync ) // Если история не синхронизирована
{
Print( __FUNCTION__,": ОШИБКА РАССИНХРОНИЗАЦИИ! isSync = ",isSync,", sync = ",sync,", rt = ",rates_total );
return( false ); // Выходим с ошибкой
}
//--- Определим число просчитанных баров
rates_total = Bars( _Symbol, _Period ); // Определяем число баров
if( rates_total <= 0 ) // Если синхронизация не произведена
{
Print( __FUNCTION__,": ОШИБКА #",GetLastError(),": Синхронизация по Bars() не пройдена!" );
return( false ); // Возвращаем ложь
}
else // Если значение получено
return( true ); // Возвращаем истину
}
suivi d'une demande de l'heure et du courant SYMBOL_SESSION_... valeur - HEURE NON CORRECTE = HEURE DE FERMETURE DU TERMINAL, c'est-à-dire 22:45 ! Par conséquent, l'entrée dans le fichier est tordue et les lectures sont confuses. Veuillez vérifier la fonction TimeCurrent() pour la synchronisation !
Ajouté :
La valeur de l'argument rates_total passé à la fonction est toujours = 0 ! C'est-à-dire que la synchronisation est vérifiée !
L'HEURE N'EST PAS CORRECTE = HEURE DE FERMETURE DU TERMINAL, c'est-à-dire 22:45
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
Bugs, bugs, questions
fxsaber, 2017.02.14 15:40
Si vous ne laissez que les symboles MOEX sur Metaquotes-Demo dans le Market Watch, TimeCurrent aura 15 minutes de retard. Dès qu'un seul symbole FOREX est ajouté, TimeCurrent avance de 15 minutes d'un coup.Il s'agit d'une véritable ouverture, il est peu probable que des caractères FOREX puissent y être ajoutés... Mais si c'est le cas, TimeCurrent() doit être vraiment tordue maintenant, et même elle ne peut pas être synchronisée par tous les moyens disponibles !
Encore une fois, si nous devions ajouter SYMBOL_SESSION_... seraient ajoutées à leur heure réelle d'arrivée, nous n'aurions pas un tel problème ! Et nous n'aurions pas à faire des béquilles avec TimeCurrent().
D'ailleurs, le cas que vous décrivez est assez logique, car le délai de cotation de la bourse est de 15 minutes. Il n'y a pas de retard dû au forex, le temps est donc ajusté en fonction du forex. Mais, bien sûr, c'est une erreur. C'est-à-dire que TimeCurrent() "ne navigue pas" entre les différents marchés.
Il est également possible que TimeCurrent() provienne du fournisseur de liquidités. Et les liquidités sont collectées à différents endroits.
D'ailleurs, le cas que vous décrivez est assez logique, car le délai de cotation de la bourse est de 15 minutes. Il n'y a pas de retard dû au forex, le temps est donc ajusté en fonction du forex. Mais, bien sûr, c'est une erreur. C'est-à-dire que TimeCurrent() "ne navigue pas" entre les différents marchés.
Il est également possible que TimeCurrent() provienne du fournisseur de liquidités. Et les liquidités sont collectées à différents endroits.
Merci pour l'idée, je vais devoir comparer SYMBOL_TIME et TimeCurrent(). Peut-être y aura-t-il des différences...
Ooh... Je ne pensais pas que ça arriverait si vite :
2017.02.16 12:47:37.575 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:35 2017.02.16 10:47:36)
2017.02.16 12:47:37.575 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:35 2017.02.16 10:47:36)
2017.02.16 12:47:37.575 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:35 2017.02.16 10:47:36)
2017.02.16 12:47:37.575 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:35 2017.02.16 10:47:36)
2017.02.16 12:47:37.575 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:35 2017.02.16 10:47:36)
2017.02.16 12:47:52.889 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:47:52.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:47:52.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:47:52.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:47:52.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:47:52.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:47:51 2017.02.16 10:47:52)
2017.02.16 12:48:06.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)
2017.02.16 12:48:06.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)
2017.02.16 12:48:06.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)
2017.02.16 12:48:06.890 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)
2017.02.16 12:48:06.891 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)
2017.02.16 12:48:06.891 GetTimeCurrent: ВНИМАНИЕ! timeCurrent < timeSymbol (2017.02.16 10:48:05 2017.02.16 10:48:06)
Lorsque le terminal est allumé, éteint. Une erreur évidente de TimeCurrent() !