Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 169

 
KottCoos:

Un tel problème s'est posé. Le testeur de stratégie ne fonctionne qu'une fois. Plus précisément, le test de visualisation est déclenché une fois, et les fois suivantes où vous appuyez sur le bouton "start", la case "visualisation" est remise à zéro et rien ne se passe (en quelque sorte ne se passe pas). Comment peut-on vaincre cela ?


N'avez-vous pas coché la case OPTIMISATION en même temps que VISUALISATION ?
 
yosuf:
Chers programmeurs, pourriez-vous me dire pourquoi lorsque j'ai redémarré mon ordinateur, lorsque j'ai ouvert le terminal au lieu d'un graphique normal, j'ai vu une fenêtre grise et j'ai perdu les positions ouvertes, EA, indicateurs, mais lorsque j'ai ouvert un nouveau graphique, les positions sont apparues, mais il n'y avait pas d'EA et d'indicateurs, j'ai dû les installer à nouveau. Qu'est-ce que ça a à voir avec ça ? J'ai dû les installer à nouveau. Merci.

Ont-ils physiquement disparu de votre disque ? Je ne pense pas. C'est probablement juste le modèle actuel qui a disparu. Probablement même l'absence de modèle.
 
Sepulca:

Ont-ils physiquement disparu de votre disque ? Je ne pense pas. C'est probablement juste le modèle actuel qui a disparu. Plus exactement, probablement même l'absence de modèle.
J'ai dû rappeler le graphique, installer l'Expert Advisor et les indicateurs, les mettre dans le mode précédent et tout a fonctionné comme d'habitude, car les positions ouvertes, le solde, les fonds, ..., ont été préservés. Peut-être aurais-je dû rechercher mon ancien profil dans les paramètres du service ? Ou était-ce inutile ? J'ai vérifié le disque sur lequel se trouve le terminal, je pensais qu'il était plein, non, il est plein d'espace libre. Appeler le terminal depuis le lecteur n'a pas aidé non plus. En bref, les 4 profils graphiques disponibles ont été perdus ainsi que le conseiller et les indicateurs. Seule la réinitialisation de la carte a aidé. La raison n'est toujours pas claire.
 
yosuf:
Chers programmeurs, pourriez-vous me dire pourquoi lorsque j'ai redémarré mon ordinateur, lorsque j'ai ouvert le terminal au lieu d'un graphique normal, j'ai vu une fenêtre grise et j'ai perdu les positions ouvertes, EA, indicateurs, mais lorsque j'ai ouvert un nouveau graphique, les positions sont apparues, mais il n'y avait pas d'EA et d'indicateurs, j'ai dû les installer à nouveau. Qu'est-ce que ça a à voir avec ça ? Merci.
Cette situation est possible si le terminal (qui est absent) est exécuté en tant que service (c'est-à-dire qu'il est exécuté sans interface graphique). Recherchez dans le gestionnaire des tâches les processus terminal.exe non identifiés.
 
TarasBY:
Cette situation est possible si le terminal (qui est absent) est exécuté en tant que service (c'est-à-dire qu'il est exécuté sans interface graphique). Recherchez dans le gestionnaire des tâches les processus terminal.exe non identifiés.

Quelle est la raison pour laquelle il ne démarre pas correctement ? Je vais réessayer samedi d'arrêter et de redémarrer le terminal. Cela se répétera-t-il encore ? Je vous répondrai ici, merci de votre attention, merci.
 
Bonjour. Lorsqu'un ordre en suspens se déclenche, j'écris une ligne avec le temps et le slippage dans le fichier.
handle=FileOpen("проскальзывание.csv",FILE_CSV|FILE_READ|FILE_WRITE,';');
FileSeek(handle, 0, SEEK_END);
FileWrite( handle,TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES|TIME_SECONDS),text,symbol,Magic, проскальзывание) ;
FileClose(handle);

Ensuite, lorsqu'un ordre est clôturé, son bénéfice doit être ajouté sur la même ligne.

Jusqu'à présent, je n'ai réussi qu'à l'écrire dans une nouvelle ligne

handle=FileOpen("проскальзывание.csv",FILE_CSV|FILE_READ|FILE_WRITE,';');
FileSeek(handle, 0, SEEK_END);
FileWrite( handle,TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES|TIME_SECONDS),Profit) ;
FileClose(handle);
Pouvez-vous me dire comment écrire sur la même ligne.
 
Fermez-le, ouvrez-le en binaire, reculez de 2 caractères à partir de la fin, et écrivez-le (en vous souvenant du point-virgule), puis veillez à ajouter ces deux caractères. La fin du fichier est écrite (EOF). Quelque chose comme ça. Je n'ai pas le temps d'exposer le code, allez-y vous-même.
 

Messieurs, permettez-moi de poser à nouveau la question.

Comment extraire des citations de la base de données pour chaque barre ? Finalement, nous devons les additionner pour chaque barre et les diviser par le volume pour trouver la valeur de la cotation moyenne de la barre. Ceci est nécessaire pour faire un véritable indicateur de ligne moyenne.

Nous pouvons ajouter Buffer1[i]=(Close[i]+Open[i]+High[i]+Low[i])/4 ; et trouver quelque chose en moyenne, mais ce n'est pas si exact.

Veuillez me donner la direction de la recherche.


 
VladislavVG:


Essayez de le faire fonctionner de cette façon :

Voyez ce que disent les registres.


Ok, je vais essayer, mais il faudra attendre quelques jours avant que l'erreur ne soit reproduite, car comme je l'ai déjà dit, le problème n'existe qu'en conditions réelles. En parallèle, il y a une branche où j'ai changé la condition du chalut :

   if ((bars_n<1) || (indent<0) || (ticket==0) || ((tmfrm!=1) && (tmfrm!=5) && (tmfrm!=15) && (tmfrm!=30) && (tmfrm!=60) && (tmfrm!=240) && (tmfrm!=1440) && (tmfrm!=10080) && (tmfrm!=43200)))
J'ai pensé que le fait que la commande soit re-sélectionnée pouvait être un problème, j'ai donc supprimé la re-sélection. Je vous ferai part des résultats.
 
Souvent, vous devez déplacer un certain nombre de lignes vers la droite de quelques caractères.
Est-il possible de faire cela en une seule fois dans MetaEditor, ou seulement à l'ancienne, ligne par ligne ?