Aide au codage - page 50

 

Comment puis-je effacer/supprimer un fichier txt ?

Bonjour,

J'utilise cette fonction :

Opérations sur les fichiers via WinAPI - MQL4 Articles

Comment effacer le texte de mon fichier csv ?

Ou comment le supprimer ?

 

Pour effacer le fichier, utilisez _lcreat (créez simplement un nouveau fichier vide).

Pour supprimer le fichier, vous pouvez utiliser les fonctions DeleteFileA ou DeleteFileW(elles ne sont pas déclarées dans cet exemple mais se trouvent dans la même bibliothèque kernel32.dll - toutes deux ont un seul argument - une chaîne contenant le nom et le chemin du fichier à supprimer).

sunshineh:
Bonjour,

J'utilise ces fonctions :

Opérations sur les fichiers via WinAPI - MQL4 Articles

Comment effacer le texte de mon fichier csv ?

Ou comment le supprimer ?
 

et pour le faire avec la couleur rsi avec alerte ?! color_rsi_with_allert.mq4

mladen:
Hiyieldrater2

Voici cette version. Elle utilise un rsi régulier et non celui que vous avez proposé. Il y a quelques raisons mais la raison principale est que le rsi Figuerelli dépend du nombre de barres qu'il est calculé sur le résultat que vous allez obtenir. Voici une simple comparaison du même indicateur calculé pour 5000 barres (en haut) et 1000 barres (en bas).

J'ai donc décidé de ne pas utiliser celui-là pour cette raison (puisque le cas comme celui ci-dessus en fait un indicateur de repeinture).

Quoi qu'il en soit, dans l'indicateur ci-joint, il y a un paramètre qui pourrait nécessiter une explication : Level. Il s'agit du nombre de niveaux de pivot que vous souhaitez voir apparaître. Il peut tracer de 0 (juste la ligne de pivot) au niveau 3 (jusqu'au niveau 3 de support et de résistance). La valeur par défaut est 2 mais vous pouvez la modifier comme vous le souhaitez.

L'

utilisation de la ligne pivot donne à l'indicateur une sorte de ligne zéro flottante et il semble que si vous utilisez le pivot comme ligne zéro, les signaux sont plus rapides que les croisements de niveaux réguliers

Bon week-end
Dossiers :
 

pour rsi + pivots - #466

zigflip:
et pour le faire avec la couleur rsi w/ alert ?! color_rsi_with_allert.mq4
 

Bonjour, merci pour votre conseil,

mais les deux fonctions

bool DeleteFileA(string buffer) ;

et

bool DeleteFileW(string buffer) ;

ne fonctionnent pas :-(

Je n'ai obtenu que "false" comme valeur de retour.

Avez-vous une autre astuce ?

 

Assurez-vous que le fichier est fermé (par une quelconque instance de code(s)) avant d'essayer de le supprimer. Sinon, si le chemin et le nom du fichier sont corrects, cela devrait fonctionner.

sunshineh:
Bonjour, merci pour votre conseil,

mais les deux fonctions

bool DeleteFileA(string buffer) ;

et

bool DeleteFileW(string buffer) ;

ne fonctionnent pas :-(

Je n'ai obtenu que "false" comme valeur de retour.

Vous avez un autre conseil ? !
 

...

Essayé et ça marche

Voici un exemple fonctionnel (dans lequel vous pouvez choisir si vous souhaitez simplement supprimer ou si vous souhaitez supprimer et ensuite créer immédiatement un fichier vide - cet exemple est un indicateur qui le fait à chaque nouvelle barre, mais cela peut fonctionner dans n'importe quel code)

//------------------------------------------------------------------

//

//------------------------------------------------------------------

#property indicator_chart_window

#import "kernel32.dll"

int _lopen (string path, int of);

int _lcreat (string path, int attrib);

int _llseek (int handle, int offset, int origin);

int _lread (int handle, string buffer, int bytes);

int _lwrite (int handle, string buffer, int bytes);

int _lclose (int handle);

int DeleteFileA(string path);

#import

extern bool doCreate = true;

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

//

//

int init() { return(0); }

int start()

{

static datetime lastDeleted=0;

if (lastDeleted!=Time[0])

{

lastDeleted = Time[0]; int result = DeleteFileA("E:\\test\\testfile.txt"); Comment(result);

if (doCreate)

{

int handle = _lcreat("E:\\test\\testfile.txt",0); if (handle > -1) _lclose(handle);

}

}

return(0);

}
sunshineh:
Bonjour, merci pour votre conseil,

mais les deux fonctions

bool DeleteFileA(string buffer) ;

et

bool DeleteFileW(string buffer) ;

ne fonctionnent pas :-(

Je n'ai obtenu que "false" comme valeur de retour.

Vous avez un autre conseil ? !
 

Bonjour,

merci beaucoup pour votre code-snippet !!!

Il fonctionne également sur mon ordinateur portable, mais lorsque je veux changer l'heure, de sorte que l'indicateur doit créer, écrire et supprimer plusieurs fois par minute (3x), cela ne fonctionne plus :-(

Donc je pense que je dois écraser mes anciennes entrées à chaque fois...

 

MT4 indicateur d'alerte seulement à un certain moment

Bonjour Mladen (et autres), connaissez-vous un indicateur d'alerte de prix qui ne vérifie le prix qu'à un certain moment ?

 

time_vlines.mq4

Andrewsurfer:
Quelqu'un pourrait-il modifier cet indicateur pour qu'il n'affiche qu'une seule ligne (aujourd'hui) et non pas pour tous les jours.

Quelqu'un ? S'il vous plaît.

Dossiers :