Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
...
Ich denke (da ich Ihren EA nicht sehen kann, der die Werte in eine csv-Datei schreibt), dass Ihnen ein FileFlush() fehlt. In Fällen, in denen Sie Änderungen in der Datei für "andere" sofort zugänglich machen wollen, ohne die Datei zu schließen (was implizit flush verwendet), sollten Sie die Änderungen immer auf die Festplatte flushen
Grüße
mladen
Hallo!
Ich schreibe gerade einen EA, der mit CSV-Dateien arbeitet.
Zum Testen habe ich meine CSV-Dateien in den folgenden Ordner gelegt:
/tester/files
Hier ist nur ein kleiner Ausschnitt aus meinem EA:
int handle = 0;
int Long = 0;
handle=FileOpen("LongMarket.csv",FILE_CSV|FILE_READ,';');
if (handle > 0)
{
Long= FileReadNumber(handle);
FileClose(handle);
}
Print("LongMarket = ", Long);
Print("Long handle = ", handle);In meinem EA lese ich die CSV-Dateien und schreibe dann einige Zahlen auf.
Wenn ich nun meinen Test mache und im Journal die "Print"-Nachrichten lese, erhalte ich oft alte Zahlen, die nicht mehr in den CSV-Dateien stehen!!!
Zum Beispiel:
Zuerst steht da eine 3 und mein EA arbeitet und schreibt die 0 in die Datei,
Ich kann nur noch die 3 in der CSV-Datei sehen!!
Wenn ich diese CSV-Datei lösche und eine neue CSV-Datei mit 3 in den " /tester/files"-Ordner lege, kann ich nur noch die 0 aus dem Test davor lesen!!!! Aber ich kann nicht finden, wo der EA die 0 liest!!!
Ich werde verrückt!!!!!
Ich hoffe, Sie können meine Frage verstehen und mir einen Tipp geben!!!Kann mir jemand helfen, eine Warnfunktion hinzuzufügen?
Ich möchte eine Alarmfunktion dieses Indikators, Farbalarm hinzufügen. Ich habe versucht, für eine lange Zeit, verwenden Sie die "wenn Alarm", aber nie ohne Erfolg. Kann mir jemand helfen? Ich danke Ihnen sehr! ~ Mein Englisch ist nicht gut, so sorry.
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 WaldGrün
#property indicator_color2 Rot
#property indicator_color3 Schwarz
#eigenschaft indicator_color4 Schwarz
//---- Eingabeparameter
extern int FastClosePeriod=13;
extern int FastCloseShift=0;
extern int FastOpenPeriod=34;
extern int FastOpenShift=0;
extern int SlowClosePeriod=34;
extern int LangsamSchließenVerschiebung=0;
extern int SlowOpenPeriod=62;
extern int SlowOpenShift=0;
//---- Indikatorpuffer
double ExtBlueBuffer[];
double ExtRedBuffer[];
double ExtDarkVioletBuffer[];
double ExtBlackBuffer[];
//+------------------------------------------------------------------+
//| Benutzerdefinierte Indikator-Initialisierungsfunktion |
//+------------------------------------------------------------------+
int init()
{
//---- Zeilenverschiebung beim Zeichnen
SetIndexShift(0,FastCloseShift);
SetIndexShift(1,FastOpenShift);
SetIndexShift(2,SlowCloseShift);
SetIndexShift(3,SlowOpenShift);
//---- ersten Positionen, die beim Zeichnen übersprungen werden
SetIndexDrawBegin(0,FastCloseShift+FastClosePeriod);
SetIndexDrawBegin(1,FastOpenShift+FastOpenPeriod);
SetIndexDrawBegin(2,SlowCloseShift+SlowClosePeriod);
SetIndexDrawBegin(3,SlowOpenShift+SlowOpenPeriod);
//---- Zuordnung von 3 Indikatorpuffern
SetIndexPuffer(0,ExtBluePuffer);
SetIndexPuffer(1,ExtRedPuffer);
SetIndexBuffer(2,ExtDarkVioletBuffer);
SetIndexBuffer(3,ExtBlackBuffer);
//---- Zeichnungseinstellungen
SetIndexStyle(0,DRAW_HISTOGRAM,0,2);
SetIndexStil(1,DRAW_HISTOGRAM,0,2);
SetIndexStyle(2,DRAW_NONE,0,2);
SetIndexStyle(3,DRAW_NONE,0,2);
//---- Indexbeschriftungen
SetIndexLabel(0, "FastClose");
SetIndexLabel(1, "FastOpen");
SetIndexLabel(2, "SlowClose");
SetIndexLabel(3, "LangsamÖffnen");
//---- Initialisierung abgeschlossen
return(0);
}
//+------------------------------------------------------------------+
//| 9Squared Trader |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//---- Prüfung auf mögliche Fehler
if(gezählte_Balken<0) return(-1);
//---- letzte gezählte Balken wird neu gezählt
if(gezählte_Balken>0) gezählte_Balken--;
limit=Balken-gezählt_Balken;
//---- Hauptschleife
for(int i=0; i<limit; i++)
{
//---- ma_shift auf 0 gesetzt, da SetIndexShift zuvor aufgerufen wurde
ExtBlueBuffer=iMA(NULL,0,FastClosePeriod,0,MODE_EMA,PRICE_CLOSE,i);
ExtRedBuffer=iMA(NULL,0,FastOpenPeriod,0,MODE_EMA,PRICE_OPEN,i);
ExtDarkVioletBuffer=iMA(NULL,0,SlowClosePeriod,0,MODE_EMA,PRICE_OPEN,i);
ExtBlackBuffer=iMA(NULL,0,SlowOpenPeriod,0,MODE_EMA,PRICE_MEDIAN,i);
}
//---- erledigt
return(0);
Hier ist es. Ich habe das sehr schnell gemacht, und ja, es ist machbar.
Schauen Sie sich die angehängte example.mq4 als Beispiel für die Codierung an.
Außerdem ist ein Screenshot mit Kommentaren enthalten, damit Sie sehen können, dass die RSI-Werte Tick für Tick im Array gespeichert werden.Hallo wolfe,
vielen Dank für deinen Timer und deine Bemühungen. Ich werde es versuchen
Grüße,
MSV
Bollinger Band
Hallo!
Kann mir jemand bei der Anwendung der Bollinger Band Formel (20period dev 2 on close) in Excel helfen. Vielen Dank im Voraus.
Hallo Leute!!!
Ich brauche, um nur zu öffnen "ein Kauf und Verkauf "Auftrag "pro Tag" in meinem EA, bitte, wie ist der Code, dies zu tun?
Hallo Leute! Ich muss nur "eine Kauf- und Verkaufs"-Order "pro Tag" in meinem EA öffnen, bitte, wie ist der Code, um dies zu tun?
Ich glaube, Sie müssen eine Schleife durch alle geschlossenen Aufträge und überprüfen Sie jede für sein Symbol und schließen Zeit ... nehmen Sie die eine, die Symbol() übereinstimmt und hat die letzte Zeit zu schließen. dann fügen Sie 24 Stunden und verwenden Sie, dass in einer Variable, um die aktuelle Zeit zu testen und Handel zu öffnen, wenn es letzte Bestellung + 24 Stunden erreicht
Eine einfachere Möglichkeit wäre, die Funktion TimeDayOfYear zu verwenden und den letzten abgeschlossenen Auftrag mit passendem Symbol und magischer Zahl zu prüfen. Stellen Sie nur sicher, dass es nicht derselbe Tag des Jahres ist wie heute.
Schauen Sie in der Hilfedatei nach der Definition und Verwendung von TimeDayOfYear
Mit freundlichen Grüßen
Lux