Ceux qui voulaient voir des graphiques sans barres manquantes - ici =) - page 8

 
komposter, j'ai la suggestion suivante pour lutter avec le terminal.
Si vous définissez les attributs du fichier WS_EURUSDm1440.hst en lecture seule, alors au démarrage du terminal, le terminal jure aussi dans les logs, mais le fichier NE PEUT PAS être modifié ! Le fichier s'affiche bien sur le graphique comme il le faisait avant que le terminal ne soit éteint.
Donc, je pense, que si je fais une DLL externe, qui peut changer les attributs de WS_EURUSDm1440. fichier hst pour la lecture/écriture ? C'est-à-dire que lorsqu'un conseiller expert a besoin d'ajouter une barre à l'historique, il appelle une DLL, qui définit les attributs du fichier historique pour l'écriture, le conseiller expert écrit la barre et appelle à nouveau la DLL, de sorte qu'il définit les attributs du fichier historique pour la lecture uniquement. Bien sûr, je comprends que personne ne peut donner une garantie à 100% dans ce cas, mais je pense que dans 95% des cas, éteindre / allumer le terminal se fera sans casser la barre d'historique par le terminal. Je n'ai pas de coupure de courant plus de deux fois par mois et cela me conviendrait parfaitement.
 
solandr писал (а):
komposter, j'ai la suggestion suivante pour combattre le terminal.
Non, c'est assez triste...
En fait, j'ai déjà trouvé pourquoi le terminal écrase le fichier.
Je ne comprends pas de quel droit le terminal touche à ma carte hors ligne...

OK, si l'erreur est dans la série chronologique normale - je dois la mettre à jour. Mais c'estmon dossier. J'écris ce que je veux.

Bref, peu importe...
Je vais essayer de faire une version fonctionnelle de l'EA aujourd'hui.
 
Tu sais ce qui est le plus triste ? =)
J'avais 3 barres avec un temps de 23:00 sur l'histoire que je testais. Tous les autres étaient à 00:00, et ces 3-là, bon sang...

En somme, une erreur dans l'histoire (d'ailleurs, mon "mauvais" fichier avec des journaux commençant à 23:00 MT se corrige, mais pas l'histoire honnête =))).

Quoi qu'il en soit, l'épreuve de force n'a pas été vaine - j'ai déterré un petit insecte ;)
solandr, essayez une nouvelle version.

Si les bugs persistent, vérifiez l'historique.

Et s'il en reste encore, dites-le moi, je creuserai davantage ;)
Dossiers :
 
komposter писал (а):
En général, une erreur d'histoire (d'ailleurs, mon "mauvais" fichier avec des agendas commençant à 23:00 MT se corrige, mais une histoire honnête ne le fait pas =))).

Quoi qu'il en soit, l'épreuve de force n'a pas été vaine - j'ai déterré un petit insecte ;)
solandr, essayez une nouvelle version.

Si les bugs persistent, vérifiez l'historique.

Et s'il en reste encore, dites-le moi, je creuserai davantage ;)


Malheureusement, aucun changement d'impression :o(. Jure aussi dans les logs et les mêmes graphiques avec Digits=0.
2006 11/11/02 11:45:16 HistoryBase : 42 erreurs dans 'WS_NZDUSDm1440'.
2006.11.02 11:45:16 HistoryBase : 271 erreurs dans "WS_EURJPYm1440".
2006.11.02 11:45:16 HistoryBase : 271 erreurs dans "WS_EURCHFm1440".
2006.11.02 11:45:16 HistoryBase : 272 erreurs dans 'WS_AUDUSDm1440'
2006.11.02 11:45:16 HistoryBase : 271 erreurs dans "WS_EURGBPm1440".
2006.11.02 11:45:16 HistoryBase : 272 erreurs dans 'WS_USDJPYm1440'.
2006.11.02 11:45:16 HistoryBase : 272 erreurs dans 'WS_USDCADm1440
2006.11.02 11:45:16 HistoryBase : 272 erreurs dans 'WS_GBPUSDm1440'.
2006.11.02 11:45:16 HistoryBase : 78 erreurs dans 'WS_CHFJPYm1440
2006.11.02 11:45:16 HistoryBase : 272 erreurs dans 'WS_USDCHFm1440'.
2006.11.02 11:45:16 HistoryBase : 272 erreurs dans 'WS_EURUSDm1440'.

Vous devriez essayer d'ouvrir plusieurs graphiques hors ligne à la fois pour voir l'erreur plus rapidement.

Comment vérifier l'historique ? C'est l'histoire, que le terminal a honnêtement pompée par lui-même via une pression longue sur la touche Home. Je n'y ai rien importé. Peut-être pourriez-vous y jeter un coup d'œil et dire quelque chose à ce sujet ? Le dossier d'historique est joint.

PS : Bien sûr, je peux supposer que l'historique, qui est stocké sur le serveur du courtier, comporte quelques erreurs, telles que des "pics" importants sur les graphiques, ainsi que des trous dans les cotations pendant plusieurs jours, mais la question suivante se pose. Pourquoi le terminal n'affiche-t-il pas d'erreurs lorsqu'on travaille avec lui et ne renvoie-t-il des erreurs que lorsque l'historique a été corrigé par une simple conversion et UNIQUEMENT après s'être assuré que le graphique de l'historique corrigé s'affiche correctement, même si le terminal écrit des erreurs dans les journaux ? Que peuvent dire les développeurs sur la possibilité de rendre le terminal convivial avec cet Expert Advisor ?
Dossiers :
history.zip  681 kb
 
solandr:
Malheureusement, aucun changement d'impression n'a eu lieu :o(. C'est aussi le grondement dans les logs et les mêmes graphiques avec Digits=0.
Vous devriez essayer d'ouvrir plusieurs graphiques hors ligne à la fois pour voir l'erreur plus rapidement.
OK, je vais continuer le combat aujourd'hui ;)

Comment vérifier l'historique ? Il s'agit de l'historique que le terminal a honnêtement téléchargé de lui-même au moyen d'une pression longue sur la touche Home. Je n'y ai rien importé. Peut-être pouvez-vous y jeter un coup d'œil et dire quelque chose à ce sujet ? Vous trouverez ci-joint le fichier historique.

J'ai eu une histoire "juste" aussi. Toutes les mesures D1 commencent à 00:00 et les 3 mesures à 23:00.
MT n'a pas réagi à cela de quelque manière que ce soit.
Mais la carte hors ligne identique à la carte honnête, MT la rejette.

J'ai volontairement essayé de supprimer toutes les conversions du code et j'ai juste copié l'historique - MT dit des erreurs...
 
solandr:
Malheureusement, aucun changement d'impression n'a été effectué :o(. Il y a aussi des jurons dans les logs et les mêmes graphiques avec Digits=0.
Essayez ;)
Dossiers :
 
komposter писал (а):
Essayez-le ;)

Super ! Maintenant, le terminal ne semble pas imprimer d'erreurs et les graphiques s'ouvrent correctement après le redémarrage du terminal. Si ce n'est pas un secret, comment avez-vous réussi à battre le terminal ?

Mais malheureusement, il y a encore un désagrément. Les conseillers experts ne fonctionnent pas sur un graphique ouvert séparément :o((((.
Par exemple, cet EA n'imprime rien :
//+------------------------------------------------------------------+
//|                                                          bid.mq4 |
//|                      Copyright © 2006, MetaQuotes Software Corp. |
//|                                        https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, MetaQuotes Software Corp."
#property link      "https://www.metaquotes.net//"
 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   Print("Bid=",Bid);
//----
   return(0);
  }
//+------------------------------------------------------------------+
Est-il possible de stimuler le lancement des Expert Advisors sur un graphique ouvert de manière autonome, sinon tout le sens de ces efforts est malheureusement perdu ? Bien que les indicateurs et les scripts semblent fonctionner normalement sur les graphiques ouverts de manière autonome.
Cependant, je devrais le vérifier minutieusement. Si les indicateurs fonctionnent correctement, le conseiller expert peut être divisé en deux composantes. Le premier est l'indicateur sur un graphique autonome et le second est l'Expert Advisor qui gère les ordres et reçoit les données de l'indicateur via les variables globales du terminal. Cependant, je ne sais pas ce qui serait le plus facile. Dois-je considérer les barres du dimanche dans mon EA sans les prendre en compte dans les calculs ou diviser l'EA réel en 2 parties ? Je veux qu'il soit aussi humain qu'il était censé l'être, et non comme il le sera au cas où les EA ne fonctionneraient pas sur les graphiques ouverts de manière autonome.
 
solandr:
Super ! Maintenant, le terminal ne semble pas imprimer d'erreurs et les graphiques s'ouvrent correctement lorsque le terminal est rallumé. Si ce n'est pas un secret, comment avez-vous réussi à battre le terminal ?

Mais malheureusement, une chose désagréable est restée. Les experts ne travaillent pas sur la carte ouverte de manière autonome : o((((.
Secret =)

Et les EA ne fonctionnent pas du tout sur les graphiques hors ligne.
Je veux dire que la fonction start() ne fonctionne pas.

La solution consiste à placer tout le code dans une boucle :
int init()
{
   start();
}
int start()
{
   while (!IsStopped())
   {
      //код эксперта
      Sleep(10);
   }
}
 
komposter писал (а):

La solution consiste à placer tout le code dans une boucle :


En principe, la solution est assez logique car les scripts s'exécutent avec succès.
Mais on ne comprend toujours pas pourquoi il n'était pas possible de permettre aux EA de travailler sur des graphiques hors ligne ? Pouvez-vous donner un lien vers une information officielle des développeurs indiquant qu'ils ont fait cela pour des raisons spécifiques et qu'ils ne reconsidéreront pas leur position ? Je n'ai pas dû bien chercher.


Merci d'avance !

 
solandr:

Mais on ne comprend toujours pas pourquoi les EA ne pourraient pas être autorisés à travailler sur des graphiques hors ligne ? Pourriez-vous fournir un lien vers une information officielle des développeurs indiquant qu'ils ont pris cette décision pour des raisons spécifiques et qu'ils ne reviendront pas sur leur position ? Je ne dois pas l'avoir cherché correctement ?

J'ai essayé de le trouver et j'ai échoué.
Mais l'information l'était, c'est sûr).