Erreurs, bugs, questions - page 1029

 
MetaDriver:

...

// J'ai corrigé le lien. Au début, il fallait passer par "mes codes", maintenant c'est par une connexion générale à kodobase. // Est-ce que ça marche maintenant ? Ou dois-je me déconnecter pour obtenir le lien public ?

Oui, ça marche.
 
MetaDriver:
Non, ça ne marche pas comme ça. Il faut une pause après le premier interrupteur avant le second .

Il y a un problème avec l'optimisation.

// Pas avec l'optimiseur de code, mais avec l'optimisation logique des graphiques.

Je ne suis pas en colère, ça arrive, on ne peut pas tout suivre, il faut juste réparer.

Heh, je vais devoir mettre le bureau de service sur le coup.

 
MetaDriver:

Ils ont foiré quelque chose là avec l'optimisation.

// Pas avec l'optimiseur de code, mais avec l'optimisation logique des graphiques.

Je ne suis pas en colère, ça arrive, on ne peut pas tout suivre, il faut juste que j'arrange ça.

Heh, nous allons devoir mettre l'accent sur le Service Desk.

Peut-être avons-nous besoin d'une commande qui simule un changement de tf et provoque une réinitialisation complète du graphique ?

Pas seulement avec des indicateurs, cela supprimerait beaucoup de problèmes.

 
"
Silent:

Peut-être avons-nous besoin d'une commande qui simule le changement d'horizon temporel et entraîne une réinitialisation complète du graphique ?

Pas seulement avec des indicateurs, cela résoudrait beaucoup de problèmes.

Peut-être, mais il serait préférable de ne pas changer d'horizon temporel du tout. D'une bonne manière, pour les indicateurs, nous avons besoin d'une génération de tick simple.

Il n'est pas toujours adapté à mes besoins, mais en général, il résoudrait beaucoup de "problèmes de week-end".

 
MetaDriver:
"

Peut-être, mais il serait préférable de ne pas modifier l'intervalle de temps. En fait, pour les indicateurs, nous avons besoin d'une simple génération de tick.

Ce n'est pas toujours adapté à mes besoins, mais en général, cela supprimerait beaucoup de "problèmes de week-end".

Eh bien, oui, sans aucun changement, juste une imitation avec des conséquences, comme s'il y avait un changement de calendrier. La génération d'un événement.

Les mises à jour ne sont pas seulement le week-end, toute rupture de communication est là aussi.

 
Silent:

Il n'y a pas que la sortie, toute rupture dans la connexion est là aussi.

D'accord.

Une "commande" permettant d'annuler de force tous les prev_calculs pour le caractère sélectionné serait également utile. La génération suivante de tiques se combinerait bien.

 
MetaDriver:

Je suis d'accord.

Une "commande" permettant d'annuler de force tous les prev_calculs pour le caractère sélectionné serait également utile, avec la génération ultérieure de tics, ce qui serait une bonne combinaison.

Oh !

Ecrivez au SD, que dira le SD ?

 

Une dernière question :

         sDatetime  = FileReadString(file_handle);
         sActual    = FileReadString(file_handle);
         sConsensus = FileReadString(file_handle);
         sPrevious  = FileReadString(file_handle);
         
         barshift = iBarShift(Symbol(), Period(), datetime(formatdatetime(sDatetime)), false); //ВОТ ЭТА СТРОКА ВЫДАЕТ ПРАВИЛЬНЫЙ БАРШИФТ.
         if(StringToDouble(formatstring(sActual)) > 0 && StringToDouble(formatstring(sActual)) < 10000) ActualBuffer[barshift] = StringToDouble(formatstring(sActual));
         Print(formatdatetime(sDatetime));
         Print("iBarShift = ", barshift, " Datetime = ", formatstring(sDatetime), " sActual = ", sActual, " sConsensus = ", sConsensus, " sPrevious = ", sPrevious);

Il s'agit d'un morceau de code indicateur qui charge les données fondamentales à partir de csv.

1. nous entrons le numéro de la barre dans le barhift en utilisant une fonction. Débogué le programme. Cette ligne fonctionne correctement.

2. cette ligne, par contre, génère une erreur "Array OUT of range". Pourquoi ? Les tampons ont-ils maintenant besoin de fonctionnalités supplémentaires ? Je n'ai pas cité le code ci-dessus, je l'ai créé par template via "create->indicator", j'ai rempli les buffers via l'assistant. Z.U. J'ai même réglé les conditions pour que seul le levier de vitesse soit vérifié dans la plage de 0 à 10 000. Mais ça n'a pas aidé.

ActualBuffer[barshift] = StringToDouble(formatstring(sActual));

J'ai aussi obtenu le changement de barre en utilisant la bibliothèque du composteur. Est-il possible qu'il n'y ait pas d'outils intégrés dans Metatrader ?

 
Al_key:

Une dernière question :

C'est un morceau de code d'indicateur, qui charge les données fondamentales à partir de csv.

1. dans le barhift, nous entrons le numéro de la barre par date et heure en utilisant la fonction. J'ai débogué le programme. Cette ligne fonctionne correctement.

2. cette ligne donne une erreur "Array OUT of range". Pourquoi ? Peut-être que les tampons nécessitent maintenant un peu plus de chamanisme.

Je ne cite pas le code ci-dessus,

a été fait par le modèle via "create->indicator", les tampons via l'assistant. Z.I. J'ai même réglé les conditions pour que seul le levier de vitesse soit vérifié dans la plage de 0 à 10 000. Mais ça n'a pas aidé.

J'ai aussi obtenu le changement de barre en utilisant la bibliothèque du composteur. Est-il possible qu'il n'y ait pas d'outils intégrés dans Metatrader ?

"Nous devons le faire, Fedya. C'est nécessaire."

(c) Shurik.

--

Une telle erreur se produit, par exemple, si la mémoire pour un tampon dynamique n'est pas allouée (dans ce cas, pour ActualBuffer). Le fragment de code que vous avez cité n'est pas clair.

 
Al_key:

Et j'ai aussi obtenu un décalage de barres en utilisant la bibliothèque du composteur. Il n'y a pas d'outils intégrés dans le Metatrader ?

En fait, iBarShift() dans MT4 fonctionne probablement de la même manière que dans la bibliothèque du compilateur, mais il serait préférable de l'avoir intégré - il fonctionnerait plus rapidement (parce qu'il est en C++).