Excel

      goso schrieb:

      Genau, eventuell nur die Zelle auf Zahl umformatieren, bei meinem Sheet sind die Zellen als Zahlen definiert.
      Umformatieren wird da glaub ich nicht helfen. Es muss wirklich eine Funktion benutzt werden, um aus Text eine Zahl zu machen. Bei Excel muss man Inhalt und Formatierung unterscheiden. Die Formatierung ändert nur die Darstellung, während eine Funktion den Inhalt ändert. Am besten ist es, wenn man im Ausgangsprogramm (hier also Metatrader), die Daten so übergeben kann, dass bei Excel ein Zahlenformat ankommt. Ob da Eingriffe möglich sind weiss ich nicht.
      Gruss Shakesbier
      Two Bier or not two Bier (Shakesbier) :D
      @ fisch



      Die Daten die du überträgst werden von Excel als Text übernommen. Daher auch die Fehlermeldung #Wert. Du versuchst für Excel mit Text zu rechnen. Der Grund dürfte die weiter unten beschriebene Problematik mit den unterschiedlichen Dezimaltrennzeichen (Komma oder Punkt) sein. Mit dem Befehl WECHSELN wird aus dem Text eine Zahl erzeugt und das ganze funzt wieder.
      Gruss Shakesbier
      Two Bier or not two Bier (Shakesbier) :D
      Die Variante mit den Änderungen in den Optionen funktioniert aber auch.

      Es gibt in Excel2007 ja auch die Möglichkeit Tabellen aus dem WEB direkt in Excel dynamisch zu übernehmen.
      Ich habe das eben mit FXStreet getestet.


      Das funktioniert in Excel.


      Jetzt muss man "nur" noch eine Seite mit den Close Werten vom Vortag finden. Dann könnte man die dynamisch einbinden in Excel.
      "Erfahrung ist das, was Du bekommst, wenn Du nicht bekommst, was Du willst." Randy Pausch
      Stimmt schon, wäre nur darum gegangen den close lt. MT Systemzeit nach Excel zu bekommen, aber ist nicht so wichtig, ich wollte mich ohnehin mit Excel herumspielen, ich mache mit der Kombination Excel/MT4 auch nur die Positionsgrössenberechnung, habe das "Problem", das Fisch schilderte, recht "dirty" gelöst, einfach: =MT4|BID!EURJPY/1000

      goso schrieb:

      Nachdem trash anscheinend in Excel in Kombination mit MT4 fit ist habe ich da auch gleich eine Frage: Ist es möglich den Vortagesclose irgendwie nach Excel zu bringen?


      Da fragst mich aber was. :D
      Glaube nicht, über DDE nur die Livekurse meines Wissens. Für DDE gab es mal ein Bezahltool, MetaTrader4 DDE Tool oder so ähnlich. Was das kann, wie seriös und ob das auch den Vortagesclose nach Excel exportiert, weiß ich aber nicht. So großartig beschäftige ich mich mit MT4 und Excel auch wieder nicht. Das Einzige in Verbindung Excel<->MT4 ist eine Positionsize Tabelle mit Mt4 Live Daten. Aber für Livedaten sowie für solche Geschichten gibt es ja auch andere unabhängigere Möglichkeiten.

      Ansonsten gäbe es die Möglichkeit, mal hier forex-tsd.com/tools-utilities/…cators-conversion-21.html nachzufragen, ob jemand eine Möglichkeit kennt, nur/zusätzlich den Vortageclose von Mt4 nach Excel direkt zu importieren.
      "I'm a trader, baby. So, why don't you kill me?!"
      ATR ist im EA auf Wert 14 gesetzt. Um auf einen anderen Wert zu ändern, einfach den EA über den Meta Editor aufrufen, iATR suchen und 14 in .. deiner Wahl umwandeln und dann kompilieren oder compile.

      EDIT: Der EA ist nicht von mir erstellt worden
      "I'm a trader, baby. So, why don't you kill me?!"

      goso schrieb:

      Fisch schrieb:

      Da fällt mir gleich die nächste Frage ein. Gibt es eine Möglichkeit den Wert eines Indikators in MT4 (konkret ATR(14) vom Daily) über DDE in Excel zu übergeben?


      Meines Wissens nicht, leider sind nur die Kurse per DDE exportierbar.


      Mit folgendem EA (kopieren nach C:\Programme\Fisch's_MT4_Ordner\experts) kannst du Indikatoren Werte nach CSV exportieren, welche du dann wieder nach Excel importieren kannst. Aktuell schreibt er Daten für deine Paare EURUSD und EURJPY. Den CSV File findest du unter \experts\files (nur Daily aktiviert).

      Kannst aber auch für andere Timeframes aktivieren, indem du jeweils // vor case entfernst und dann kompilierst im Meta Editor.

      Quellcode

      1. int PeriodNumber(int number)
      2. {
      3. int per_min;
      4. switch (number)
      5. {
      6. //case 0: per_min=PERIOD_M1;break;
      7. //case 1: per_min=PERIOD_M5;break;
      8. //case 2: per_min=PERIOD_M15;break;
      9. //case 3: per_min=PERIOD_M30;break;
      10. //case 4: per_min=PERIOD_H1;break;
      11. //case 5: per_min=PERIOD_H4;break;
      12. case 6: per_min=PERIOD_D1;break;
      13. default: per_min=PERIOD_D1;break;
      14. }
      15. return(per_min);
      16. }



      Wenn du noch andere Paare tracken willst, dann die Zahl hinter SymbolArray erhöhen und das jeweilige Paar hinzufügen.

      Quellcode

      1. string SymbolsArray[3]={"","EURUSD","EURJPY"};
      Dateien
      "I'm a trader, baby. So, why don't you kill me?!"
      Super! "Wechseln" hat geklappt!


      Danke für die schnelle Hilfe!

      Ja was will ich machen? Nachdem ich gestern das Wormstall Seminar auf Termintrader hörte, erinnerte ich mich an ein altes nie realisiertes Projekt für EOD-handel mit Steuerung der Positionen nach dem Konto. Dafür brauche ich möglichst automatische Kurse in Excel, damit ich für laufende Positionen P/L und Risiko vom Konto etc. automatisch berechnen kann.

      Da fällt mir gleich die nächste Frage ein. Gibt es eine Möglichkeit den Wert eines Indikators in MT4 (konkret ATR(14) vom Daily) über DDE in Excel zu übergeben?

      Jedenfalls will ich das Projekt nutzen um endlich mit Excel überdas Grundlagenwissen hinauszukommen. Eine Funktion habe ich schon wieder gelernt. Thx.
      "Erfahrung ist das, was Du bekommst, wenn Du nicht bekommst, was Du willst." Randy Pausch

      retep schrieb:

      Wenn in Kolonne C original DDE Daten liegen, frage ich mich wieso bei EURJPY ein Trennzeichen vorhanden ist, bei EURUSD aber nicht?????
      Ziemlich unlogisch!


      Wenn eine Zahl vor dem "." steht, wird im Deutschen Format daraus 13550. Punkt = Tausendertrennzeichen.
      Kommen noch Pipettes dazu, wird daraus z.b. 135508.

      In Zelle E9 steht bei Fisch =C9/10000, deshalb dann 1,355.

      Bei mehreren Zahlen vor dem "." kann Excel dt. dann nichts mit anfangen.
      "I'm a trader, baby. So, why don't you kill me?!"
      @Fisch, wie es aussieht, hast du dt. Kommaformat eingestellt.

      Probiere mal Folgendes

      Quellcode

      1. =WECHSELN(c7;".";",")*1


      obige Formel in eine dir beliebige freie Zelle einfügen, dann sollte der Punkt von EURYEN in ein dt.Komma umgewandelt werden.
      Oder du änderst in den Excel Optionen unter "Erweitert" das Dezimaltrennzeichen in "." und das Tausendertrennzeichen in ","

      Ansonsten lade mal die Datei hoch und ich schaue mal schnell nach.
      "I'm a trader, baby. So, why don't you kill me?!"