Hilfe bei der Codierung - Seite 50

 

Wie kann ich eine txt-Datei leeren/löschen?

Hallo!

Ich verwende diese Funktionen:

Dateioperationen über WinAPI - MQL4 Artikel

Wie kann ich den Text in meiner csv-Datei löschen?

Oder wie kann ich ihn löschen?

 

Um die Datei zu löschen, verwenden Sie _lcreat (erstellen Sie einfach eine neue leere Datei)

Um die Datei zu löschen, können Sie die Funktionen DeleteFileA oder DeleteFileW verwenden (sie sind in diesem Beispiel nicht deklariert, befinden sich aber in der gleichen kernel32.dll Bibliothek - beide haben ein einziges Argument - eine Zeichenkette, die den Namen und den Pfad der zu löschenden Datei enthält)

sunshineh:
Hallo!

Ich verwende diese Funktionen:

Dateioperationen über WinAPI - MQL4 Artikel

Wie sollte ich den Text in meiner csv-Datei löschen?

Oder wie kann ich ihn löschen?
 

und um es mit Farbe rsi w/ alert? zu machen! color_rsi_with_allert.mq4

mladen:
Hiyieldrater2

Hier ist diese Version. Sie verwendet einen regulären rsi und nicht den von Ihnen vorgeschlagenen. Dafür gibt es mehrere Gründe, aber der Hauptgrund ist, dass der Figuerelli rsi von der Anzahl der berechneten Balken abhängt, was für ein Ergebnis Sie erhalten werden. Hier ist ein einfacher Vergleich desselben Indikators, der für 5000 Balken (oben) und 1000 Balken (unten) berechnet wurde

Aus

diesem Grund habe ich mich entschieden, diesen Indikator nicht zu verwenden (da er in diesem Fall ein Repainting-Indikator ist).

Wie auch immer, im angehängten Indikator gibt es einen Parameter, der vielleicht einer Erklärung bedarf: Level. Es ist die Anzahl der Pivot-Levels, die gezeichnet werden sollen. Es kann von 0 (nur die Pivot-Linie) bis Level 3 (bis zum Unterstützungs- und Widerstandslevel 3) gezeichnet werden. Der Standardwert ist 2, aber Sie können ihn nach Belieben ändern.

Die

Verwendung der Pivot-Linie gibt dem Indikator eine Art schwebende Nulllinie und es scheint, dass, wenn Sie die Pivot-Linie als Nulldurchgang verwenden, die Signale schneller sind als die regulären Niveaus Kreuze

Haben Sie ein schönes Wochenende
Dateien:
 

für rsi + Pivots - #466

zigflip:
und um es mit Farbe rsi mit Alarm zu machen?! color_rsi_with_allert.mq4
 

Hallo, vielen Dank für Ihren Tipp,

aber beide Funktionen

bool DeleteFileA(string buffer);

und

bool DeleteFileW(string buffer);

funktionieren nicht :-(

Ich bekomme nur "false" als Rückgabewert.

Habt ihr noch einen Tipp?!

 

Vergewissern Sie sich, dass die Datei geschlossen ist (durch irgendeine Instanz von Code(s)), bevor Sie versuchen, sie zu löschen. Ansonsten, wenn der Pfad und der Dateiname korrekt sind, sollte es funktionieren

sunshineh:
Hallo, vielen Dank für Ihren Tipp,

aber beide Funktionen

bool DeleteFileA(string buffer);

und

bool DeleteFileW(string buffer);

funktionieren nicht :-(

Ich bekomme nur "false" als Rückgabewert.

Haben Sie noch einen Tipp?!
 

...

Ausprobiert und es funktioniert

Hier ist ein funktionierendes Beispiel (in dem Sie wählen können, ob Sie nur löschen wollen oder ob Sie löschen und dann sofort eine leere Datei erstellen wollen - dieses Beispiel ist ein Indikator, der dies bei jedem neuen Balken tut, aber es kann in jedem Code funktionieren)

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

//

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

#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:
Hallo, vielen Dank für Ihren Tipp,

aber beide Funktionen

bool DeleteFileA(string buffer);

und

bool DeleteFileW(string buffer);

funktionieren nicht :-(

Ich bekomme nur "false" als Rückgabewert.

Haben Sie noch einen Tipp?!
 

Hallo!

vielen Dank für dein Code-Snippet!!!

Es funktioniert auch auf meinem Laptop, aber wenn ich die Zeit ändern will, so dass der Indikator ein paar Mal pro Minute (3x) erstellen, schreiben und löschen muss, funktioniert es nicht mehr :-(

Also muss ich wohl jedes Mal meine alten Einträge überschreiben...

 

MT4-Alarm-Indikator nur zu einer bestimmten Zeit

Hallo Mladen (und andere), kennen Sie einen Preisalarm-Indikator, der den Preis nur zu einer bestimmten Zeit überprüft?

 

zeit_vlines.mq4

Andrewsurfer:
Könnte jemand diesen Indikator so ändern, dass er nur eine Linie (heute) anzeigt und nicht für alle Tage.

Irgendjemand? Bitte!

Dateien: