Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Indikatorwerte live / realtime in Excel (http://www.expert-advisor.com/forum/showthread.php?t=3372)

LuckyTrader666 06.12.13 12:48

Indikatorwerte live / realtime in Excel
 
Ich bin neu in diesem Forum und daher erstmal ein herzliches "Hallo" in die Runde.

Ich bin auf der Suche nach einer Möglichkeit, nicht nur die aktuellen Kursdaten realtime per DDE in Zellen von Excel für weitere Berechnungen aus MT4 auszugeben, sondern auch die Werte der Bollinger Bänder und RSI. Kann mir hier jemand was programmieren bzw. mir bei diesem Problem helfen? Falls es eine Lösung hierfür gibt und noch irgendwas zu klären ist, bitte melden. Vielen Dank bereits jetzt für die Hilfe.

pako 06.12.13 16:57

so ähnlich
 
Code:

#property show_inputs
extern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;
extern string File_name = "";
extern bool isAllZigZagDate = true;
extern string Delimiter = ";";
extern bool isLocal = true;
int Handle;
//+------------------------------------------------------------------+
int init()
{
  if(File_name == "")File_name = Symbol() + Period() + "_ZigZag_Date";
  Handle = FileOpen(File_name + ".csv",FILE_WRITE | FILE_CSV, Delimiter);
  if(Handle == -1)
  {
      Alert("Fehler beim Offnen der Datei ", File_name + ".csv");
  }
  else
  {
      FileWrite(Handle,"Time;Open;High;Low;Close;ZigZag Date");
  }
}
//+------------------------------------------------------------------+
int start()
{
  double date;
  int status;
  for(int shift = 0; shift <= Bars-1; shift++)
  {
      date = iCustom(NULL, 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, shift);
      if(date > 0)
      {
        if(isLocal)
        {
            status = FileWrite(
              Handle,
              TimeToStr(Time[shift]),
              StringSetChar(DoubleToStr(Open[shift], Digits), StringFind(DoubleToStr(Open[shift], Digits), "."), ','),
              StringSetChar(DoubleToStr(High[shift], Digits), StringFind(DoubleToStr(High[shift], Digits), "."), ','),
              StringSetChar(DoubleToStr(Low[shift], Digits), StringFind(DoubleToStr(Low[shift], Digits), "."), ','),
              StringSetChar(DoubleToStr(Close[shift], Digits), StringFind(DoubleToStr(Close[shift], Digits), "."), ','),
              StringSetChar(DoubleToStr(date, Digits), StringFind(DoubleToStr(date, Digits), "."), ',') );
        }
        else
        {
            FileWrite(Handle,TimeToStr(Time[shift]),Open[shift],Close[shift],Low[shift],High[shift],date);
        }
        if(!isAllZigZagDate)break;
      }
      else
      {
        continue;
      }
  }
  if(status > 0)Alert("Daten erfolgreich geschrieben. \nPath - \n", TerminalPath(), "\\experts\\files\\", File_name, ".csv \nEND.");
}
//+------------------------------------------------------------------+
int deinit()
{
  FileClose(Handle);
}
//+------------------------------------------------------------------+


LuckyTrader666 07.12.13 16:20

Indikatorwerte in Echtzeit per DDE in Excel Tabelle
 
Hi pako

Das ging aber schnell. Erstmal vielen Dank dafür.

Ich kenne mich zwar etwas aus, aber hier bin ich nur mit dem Code doch "etwas" überfordert.

Kannst Du mir bitte eine kurze Schritt-für-Schritt-Anleitung geben, wie ich es richtig machen muß, damit es funktioniert?

Also, was muss ich mit dem Codetext machen (z.B. kopieren, im Editor einfügen und dann im *.txt-Format abspeichern in welchem Pfad)?

Was muss ich in den Excel-Feldern eintragen, um die Daten vom Upper Band und Lower Band der Bollinger Bänder und den aktuellen RSI-Wert eingespielt zu bekommen mit Echtzeitveränderungen bei jedem Tick, so ähnlich, wie z.B. beim Kurs mit der bekannten Eingabe "MT4|Bid?EURUSD"?

Du kennst Dich hier viel besser aus, als ich und für Deine nochmalige Hilfe bin ich Dir bereits jetzt sehr dankbar.

MfG
LuckyTrader666

pako 08.12.13 13:18

Liste der Anhänge anzeigen (Anzahl: 1)
M1 Daten ,kein problem

Echtzeitveränderungen bei jedem Tick-das ist kompliziert, aber machbar



Ausserdem fehlt mir die Motivation.:rolleyes:

LuckyTrader666 08.12.13 18:06

Hi

Nicht, dass wir aneinander vorbei reden. Was meinst Du mit "M1 Daten"?

Wie gesagt, brauche nur die Werte vom Upper und Lower Band der Bollinger Bänder und vom RSI mit den jeweils individuellen Intervalleinstellungen im Metatrader 4. Was kann/muss ich mit der angehängten Rar-Datei machen?

Und für die weitergehende "machbare" Programmierung würde ich Dich gern motivieren. Hauptsache es geht schnell und funktioniert zuverlässig und ohne Zeitverzögerung.

Sag mir bitte Bescheid, bin sehr interessiert und auch gern bereit Dir Motivation zu geben, aber bitte mit Anleitung bis zu einem funktionierenden System.

Bis dahin erstmal vielen Dank.

pako 08.12.13 21:43

Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Was meinst Du mit "M1 Daten"?
Min Period Metatrader ist M1, tick daten-nur bid und ask, keine OHLC

Zitat:

Was kann/muss ich mit der angehängten Rar-Datei machen?
entpacken
da sind eur/usd Time OHLC Upper und Lower Band der Bollinger Bänder und vom RSI mit default setting period M1

MT4 Programm darf nur in bestimmten Verzeichnis schreiben, MT4/experts/files

Bollinger Bänder und RSI setting???

LuckyTrader666 09.12.13 17:04

Hallo Pako

Also mit Setting meinte ich die individuellen (Zeit-)Einstellungen bei den Indikatoren im Metatrader, z.B. Bollinder Bänder 20, 2 oder eben auch anders.

Habe die gepackte Datei entpackt und die *.csv-Datei in den Pfad:

C:\Programme\MetaTrader 4\experts\files

hineinkopiert, wie Du gesagt hast. Das ist ja eine laaaange Tabelle und die Daten hören 06.12.2013 auf?!

Was muss ich jetzt weiter machen, damit ich in der von mir angelegten Exceltabelle nur die aktuellen M1 Daten (der gerade abgelaufenen Minute) der Indikatoren in die von mir gewünschten Zellen automatisch eingespielt bekomme? Wie schreibt Metatrader die Datei im Hintergrund fort und wie komme ich dann automatisch per Excel-DDE an die Daten?

Vielen Dank.

MfG
LuckyTrader666


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:09 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum