Amibroker AFL

      Ach ja, in dem einen Video konnte man den Buy and Hold Graphen komplett durchgezogen sehen.
      Um ihn am selben Datum zu starten dann statt bh = Equity( 0, 0 ); bspw. sowas verwenden

      Quellcode

      1. startBH = ParamDate( "Start Date of Buy and Hold", "2012/06/20" );
      2. startBH = DateTimeConvert( 0, DateTimeAdd( DateTimeConvert( 2, startBH ), -1, inDaily ) );
      3. bh = Equity( 0, 3, startBH, LastValue( DateNum() ) );
      Bilder
      • BH.png

        12,76 kB, 1.237×436, 344 mal angesehen
      Einzigartig? So wild ist es ja nun nicht. ;) Aber ich habe gestern noch kurz versucht, einen Schritt weiterzugehen und aus einer externen Datei zu importieren, sodass man sich das manuelle Setzen der Einstiege (oder zusätzlich Ausstiege) sparen kann. SL und TP Option dann wieder analog zur letzten Version. Klappt.

      Wenn man verschiedene Broker hat, die unterschiedliche Formate der Tradehistorie haben, ist es eventuell am besten, diese gleich umzuformatieren zu einem Format, das für alle gilt. Ich habe es so gemacht, dass nur Datum, Zeit, Preis und Long, Short, Sell, Cover in der umformatierten Datei vorhanden sind. Long habe ich als 1, Sell als -1, Short als -2 und Cover als 2 gesetzt.

      Format der Importdatei wäre dann z.B

      Quellcode

      1. DD.MM.YYYY,HH:MM:SS,Preis Underlying,Handelsrichtung

      Handelsrichtung, also ob 1, -1, -2 oder 2, wird als AUX1 oder AUX2 Feld importiert. Im Bsp wird nur Buy oder Short importiert.


      Der neue Ticker in der DB wäre dann zum Bsp "tradelist". Wenn man ein Währungspaar angeklickt hat, muss man tradelist über SetForeign ansprechen. Also bspw sowas wie unten in den Code zusätzlich einfügen.

      Quellcode

      1. SetForeign("tradelist");
      2. dtf = DateTime();
      3. Foreignbuy = ValueWhen(Aux1 == 1, dtf);
      4. Foreignshort = ValueWhen(Aux1 == -2, dtf);
      5. Foreignprice= C;
      6. RestorePriceArrays();
      7. dt = DateTime();
      8. Buy = dt == Foreignbuy;
      9. Short = dt == Foreignshort;
      10. BuyPrice = ShortPrice = Foreignprice;
      11. SellPrice = CoverPrice = Open;


      Fertig ist das Mondgesicht.
      Der Rest dann wie gehabt und gesehen im letzten Posting.

      Fisch schrieb:

      @trash
      Ich habe eine Frage zu Amibroker. Kann man mit Amibroker seine diskretionären historischen Trades in einen Chart z.B. als Trading-System eintragen, um damit ein Journal mit Charts und mit entsprechenden Systemauswertungen zu haben?

      Im speziellen suche ich momentan eine Möglichkeit mit meinen historischen Entries verschieden Stopvarinaten durchzuspielen. Also was wäre wenn ich bei allen Einstiegen einen bestimmten Trailingstop genutzt hätte usw.
      Wenn ja, wie komfortabel geht das? Ist es im Standard enthalten? Gibt es evtl. fertige Add-Ins? etc.

      Danke.


      Als auch

      Fisch schrieb:

      @trash und @Mr.Moon

      erst einmal Danke für die Antworten. Das Auslesen ist für mich nicht unbedingt das Wichtigste. Ich trade auch bei verschiedenen Brokern und dann wird es nochmal komplizierter.
      Ausserdem sind es nicht so viele Trades pro Tag, dass ich es nicht eingeben könnte. Mein Ziel ist es nach Eingabe oder auch Auslesen der Trades diese 1. im Chart ansehen zu können. 2. Auswertungen des Systems (Analyse) auf Knopfdruck zu haben und dann 3. möglichst einfach Varianten (zum Beispiel verschiedene Stops) durchspielen zu können. Ich denke man müsste deshalb die Entries und Exits in unterschiedliche Systeme auslagern.
      Dann könnte man die Exits aus der Analyse herausnehmen und ein oder zwei Stopsysteme dazu nehmen. Daraus folgt dann eine neue Auswertung. So könnte man einfach sein diskretionäres Trading auf den Prüfstand stellen und Schwachpunkte entdecken.

      Das ganze möglichst einfach. Ich bin bei AB aber ganz am Anfang. Ich weiß noch nicht einmal wie man ein Handelssystem programmiert. Ich muss also erst einma hausaufgaben machen. ;)


      Habe mal in einer freien Minute etwas herumgedoktert. Und es ging flotter von der Hand als gedacht.
      Part 1: Diskretionäre Trades nachbilden, editieren (falls verklickt oder aus Short -> Long machen), SL, TP anpassen megaswf.com/serve/2451676/
      Part 2: getätigte Trades aus dem vorherigen Chart im Backtester analysieren. megaswf.com/serve/2451680/
      "Play flash full screen" nicht vergessen zu klicken (sage ich nur, weil mich schon einige fragten, weshalb es nur so ein kleiner Auschnitt ist).

      Anmerkungen: Was noch fehlt, wäre bspw. die Trailing Stop Option. Obwohl ich bin eigentlich kein großer Fan davon. Die Sell und Cover Buttons im Parameter Fenster werden nur benötigt, wenn "Use Stop and Take Profit?" auf "NO" steht. Stellung "NO" könnte man dann bspw verwenden, um erst mal eine urspüngliche Version nachzubilden, die den Real Entries und Real Exits entspricht. Jetzt habe ich doch glatt während des Schreibens der zweiten Anmerkung vergessen, was ich als dritte Anmerkung schreiben wollte... Ich bekomme Alzheimer :( Naja, jedenfalls, wie man sieht, sind Grundbausteine schon vorhanden und man kann eigentlich nur Bsp vorzeigen, wie von T.J. geschehen, da man es nicht jedem gleichzeitig Recht machen kann. Auch hängt es von der Nachfrage im Feedback Center ab. Wenn nicht viele sowas fertig integriert haben wollen, dafür aber andere Sachen im Vordergrund stehen, da mehrheiltlich gewünscht, macht es von Developerseite keinen Sinn. Soviel zur Frage, wieso nicht fertig enthalten. Machbar ist es jedenfalls, wie man sieht und recht komfortabel. Man könnte natürlich noch zig andere Sachen hinzufügen, aber dies erst mal als ein Bsp. von vielen. Ich habe daran auch nicht sooo lang gesessen, soviel zur erwähnten Altersfaulheit.

      Mit sowas könnte man dann ja eigentlich auch Sachen wie Georg's AZ Strategie manuell durchspielen, da er ja immer von diskretionärem Ansatz spricht. Bar Replay hat Amibroker ja auch.

      Ach ja, falls die Frage auftaucht, weshalb bspw CAR (Compound Anual Return) so hoch ist. Das liegt an der Berechnung.
      ( ( eq / eq[ 0 ] ) ^ ( 365 / Days ) - 1 ) * 100;
      CAR = ( (18485 / 10000) ^ ( 365 / 8 ) - 1 ) * 100 = 1,4915 * 10¹¹ * 10³ (%)
      Folgende Funktion ist eventuell nützlich, um bestimmte Linien bei Klick im Chart darzustellen, bzw zu verlängern.

      Quellcode

      1. // by trash
      2. function SDL( array, doy )
      3. {
      4. Lastdoy = doy >= SelectedValue( doy );
      5. Dayline = array * Lastdoy;
      6. return IIf( Dayline, Dayline, Null );
      7. }


      array kann bspw C1 = SelectedValue(TimeFrameGetPrice("C", inDaily, -1)); sein (gestriger Close).
      SelectedValue hier im Bsp wählt den "gestrigen" Schlusskurs bei Klick im Chart aus. Wenn kein Klick im Chart dann ist SelectedValue == LastValue

      doy kann bspw doy = DayofYear(); sein.

      Die Funktion SDL( array, doy ) am Besten im Include Ordner speichern (zum Bsp. als SDL.afl). Dann kann sie in jedem AFL angefordert werden, wenn man in die erste Zeile #include <SDL.afl>; einfügt.

      Wie schaut ein kompletter AFL nun aus, nachdem SDL als Includedatei im Includeordner abgelegt wurde? Hier ein Minibsp.

      Quellcode

      1. #include <SDL.afl>;
      2. C1 = SelectedValue(TimeFrameGetPrice("C", inDaily, -1));
      3. doy = DayOfYear();
      4. sdlC1 = SDL(C1, doy);
      5. Plot(sdlC1, "prevClose", colorOrange, styleDashed|styleNoRescale, 0, 1, 0, 0);


      Falls noch nicht ganz klar, was diese Fkt. macht, dann hier noch ein Minivideo mit noch ein paar Zusatzbsp.linien. "Play flash full screen" rechts unten klicken.
      Tatsächlich, dann gehts. Dabei habe ich überall Copy & Paste verwendet. Nur

      Quellcode

      1. MT4-1 (js) ASCII (*.csv)|*.csv|MT4js-1.format
      ist handgeschrieben. Naja, ist jetzt auch nicht mehr wirklich wichtig.

      Jetzt passt alles, vom Einfügen über Sommer-/Winterzeit bis zum aktuellen Pricefeed. Dickes Dankeschön, Mr. Trash!

      janson schrieb:

      trash schrieb:

      Janson, du schreibst, ohne Timeshift hat es funktioniert?

      Ja, hat es. Auch jetzt, wenn ich im Skript auf MT4js.format verweise statt MT4js-1.format, funktioniert es wieder.


      OK, dann machen wir es doch mal ganz einfach. Füge mal in der MT4js.format Datei $TIMESHIFT -1 ein und speichere diese so ab und verweise auf diese Datei im js Skript. Vielleicht übersehen wir einen simplen Rechtschreibfehler. Du kannst übrigens in den Formatdateien durch voranstellen von # in jeder Zeile diejenige Zeile kommentieren und somit Befehle ausschalten wie zum Bsp für $TIMESHIFT. Im Klartext, schreibst du es so

      Quellcode

      1. # $TIMESHIFT 1


      dann ist Timeshift deaktiviert.



      Quellcode

      1. EURUSD,2012.04.03,19:06,1.33347,1.33347,1.3333,1.33333,61


      Schaut normal aus, so wie es anhand der Formatdatei sein sollte. Ticker, Date_YMD,Time,Open,High,Low,Close,Volume



      Nebenbei hat die js Datei einen formalen Fehler. Statt Doppelslash sollte es Doppelbackslash sein.

      Ich habe es nur von deiner Vorlage übernommen. :)


      Ja und ich auch. Ist nicht von mir. Ist mir nur eben aufgefallen.


      Noch eine Zusatzfrage, läuft das Ganze unter Windows 64-bit?

      Ja, du willst jetzt bestimmt wissen warum ich die 32-bit Version installiert habe. Ich weiß es ehrlich gesagt nicht, ich bin eh noch am Rumspielen im Demomodus.


      Nein, es geht darum codefortraders.com/phpBB3/view…5c0b1111b195a4e917d19160f Dieser User hatte auch ein Problem mit js Dateien unter Windwos 7 64-bit. Windows 7 64-bit hat zwei jscript Engines.

      trash schrieb:

      Janson, du schreibst, ohne Timeshift hat es funktioniert?

      Ja, hat es. Auch jetzt, wenn ich im Skript auf MT4js.format verweise statt MT4js-1.format, funktioniert es wieder.


      Hast du damit vorher MT4 Historie importiert?

      Ja.


      Wie sieht denn in der csv Datei des Expert Ordners eine beliebige Zeile aus. Kopiere mal die erste Zeile von EURUSD.csv hier rein.

      Quellcode

      1. EURUSD,2012.04.03,19:06,1.33347,1.33347,1.3333,1.33333,61




      Nebenbei hat die js Datei einen formalen Fehler. Statt Doppelslash sollte es Doppelbackslash sein.

      Ich habe es nur von deiner Vorlage übernommen. :)


      Noch eine Zusatzfrage, läuft das Ganze unter Windows 64-bit?

      Ja, du willst jetzt bestimmt wissen warum ich die 32-bit Version installiert habe. Ich weiß es ehrlich gesagt nicht, ich bin eh noch am Rumspielen im Demomodus.



      EDIT: Schaue noch mal sicherheithalber nach, ob sich EURUSD.csv wirklich in experts\files befindet.

      Ja, bzw. im Virtual Store. Zugriff dürfte nicht das Problem sein, da MT4js.format den gleichen Pfad verwendet und hier schließlich Daten ankommen.
      Janson, du schreibst, ohne Timeshift hat es funktioniert? Hast du damit vorher MT4 Historie importiert? Wie sieht denn in der csv Datei des Expert Ordners eine beliebige Zeile aus. Kopiere mal die erste Zeile von EURUSD.csv hier rein. Nebenbei hat die js Datei einen formalen Fehler. Statt Doppelslash sollte es Doppelbackslash sein.

      Also so

      Quellcode

      1. C:\\Program Files (x86)\\FxPro - MetaTrader 4\\experts\\files\\EURUSD.csv


      Was das Nichtfunktionieren anbelangt ... meine Vermutuing ist, dass das Format der Formatdatei nicht mit dem der csv Datei übereinstimmt. Noch eine Zusatzfrage, läuft das Ganze unter Windows 64-bit?

      EDIT: Schaue noch mal sicherheithalber nach, ob sich EURUSD.csv wirklich in experts\files befindet.

      trash schrieb:


      Das tut mir zwar leid, aber erstens funktioniert es auch so, wie ich schrieb und zweitens macht man immer ein Backup vorher. Das gilt nicht nur für Codes sondern auch für Datenbanken etc, die man abändert. Spätestens aus Erfahrung wird man klug. Außerdem hättest du doch eh mit einer neuen Datenbank beginnen müssen mit meinen Einstellungen. (Hast du die DC csv Dateien alle gelöscht?)

      Andererseits brauchst du die Timeshifteinstellung doch nur wieder auf 0 zu setzen und du hast wieder MEZ. Ich schätze mal, dass nur der heutige Tag mit nicht gewollter Zeitzone durch die Realtimequelle vermengt wurde. Somit brauchst du doch im Quote Editor nur den heutigen Tag löschen. Andere Möglichkeit wäre, falls du die Datenbank noch nicht gespeichert oder AB noch nicht geschlossen hast, AB einfach noch mal startest mit einer zweiten Instanz (bei immernoch geöffneter erster Instanz!) und selbe Datenbank öffnest und danach die erste Instanz schließt und bei der zweiten Instanz auf Save Database klickst.


      Ups, falsch verstanden, ich meinte damit nicht, ich hätte damit heute einen Schaden erlitten, nur dass es halt mehr Arbeit macht wenn ich jetzt die DB auf -1 setzen würde.

      Wenn du nichts in dem Import Script verändert hast, dann ist es klar, dass nichts importiert wird. Du musst die Pfade schon auf deine Pfade und Dateien ausrichten. Ich habe unten noch mal ein anderes Bsp hochgeladen. Auch da gilt, Pfade und Dateien anpassen.

      Also ich hatte es ja schon geändert, als ich das Skript zum ersten Mal einrichtete. Dein Bsp ist mir leider als Nichtprogrammierer zu komplex. Ich lade jetzt einfach mal alles hoch und was ich im Gegensatz zum vorher funktionierenden Backfill ohne Timeshift verändert habe ist markiert.
      Bilder
      • 1.jpg

        105,86 kB, 758×415, 300 mal angesehen
      • 2.jpg

        79,41 kB, 536×412, 298 mal angesehen
      • 4.jpg

        56,08 kB, 375×369, 269 mal angesehen
      • 3.jpg

        194,85 kB, 579×619, 327 mal angesehen

      janson schrieb:



      Zu deinem anderen Posting. Stimmt der Pfad zu den CSV Dateien in der import.js Datei? Außerdem was steht unter Tools>Customize>Tools im Feld Commands und Arguments? Bei Commands sollte wscript.exe und im Feld Arguments "C:\Programme\AmiBroker\Scripts\Import.js" stehen

      Aus dem Gedächtnis heraus stimmte das alles, ich habe ja nur den Code wie unten beschrieben geändert. Werde da heute abend nochmal drüber gehen.


      Wenn du nichts in dem Import Script verändert hast, dann ist es klar, dass nichts importiert wird. Du musst die Pfade schon auf deine Pfade und Dateien ausrichten. Ich habe unten noch mal ein anderes Bsp hochgeladen. Auch da gilt, Pfade und Dateien anpassen.
      Dateien
      • ImportMT4M1.zip

        (618 Byte, 207 mal heruntergeladen, zuletzt: )

      Jagg schrieb:

      @trash
      Wollte einfach mal danke sagen für die MT4<->AmiBroker Tipps. So kann ich nun auch mal in AmiBroker reinschnuppern.
      Welche Methode sollte ich am besten nehmen? Plugin oder DDE? DDE ist schneller? (Habe es momentan über das Plugin gelöst)


      Jede Variante verwendet ein Plugin. Es ist auch beides gleichschnell. Unterschiede könnte es geben, wenn du viel Historie und viele Symbole importiert hast. Musst du ausprobieren. Allg sollte man eine Realtime Datenbank klein wie möglich halten (hängt natürlich auch von der Hardware des PCs ab). Für Realtime sollte man noch nicht vergessen, Realtime chart refresh interval auf 0 zu stellen unter Preferences>Intraday.

      janson schrieb:

      trash schrieb:


      Wie bereits geschrieben, setze Timeshift auf -1 in den Data base settings und setze auf 1 bei Configure>Time offset. Und Backfill ohne Timeshift. Bekomme ich ein Eis, wenn ich recht habe?

      Bekommst sogar ein großes Eis, wenn du mir dann im Gegenzug die History (welche ich mühevoll per Hand in Halbjahresinkrementen auf MEZ eingefügt habe) wieder in die richtige Zeitzone verfrachtest, nachdem die Timeshift -1 Einstellung meine kompletten Daten um -1 versetzt hat. :D


      Das tut mir zwar leid, aber erstens funktioniert es auch so, wie ich schrieb und zweitens macht man immer ein Backup vorher. Das gilt nicht nur für Codes sondern auch für Datenbanken etc, die man abändert. Spätestens aus Erfahrung wird man klug. Außerdem hättest du doch eh mit einer neuen Datenbank beginnen müssen mit meinen Einstellungen. (Hast du die DC csv Dateien alle gelöscht?)

      Andererseits brauchst du die Timeshifteinstellung doch nur wieder auf 0 zu setzen und du hast wieder MEZ. Ich schätze mal, dass nur der heutige Tag mit nicht gewollter Zeitzone durch die Realtimequelle vermengt wurde. Somit brauchst du doch im Quote Editor nur den heutigen Tag löschen. Andere Möglichkeit wäre, falls du die Datenbank noch nicht gespeichert oder AB noch nicht geschlossen hast, AB einfach noch mal startest mit einer zweiten Instanz (bei immernoch geöffneter erster Instanz!) und selbe Datenbank öffnest und danach die erste Instanz schließt und bei der zweiten Instanz auf Save Database klickst.

      janson schrieb:


      Statt die komplette Datenbank nach der Zeitzone des MT auszurichten, scheint mir die elegantere Lösung das Backfill-Skript zu ändern. Denn möchte man bei der „Shift Database“-Variante später einmal einen anderen MT mit einer anderen Zeitzone als Livefeed, passt die Historie nicht mehr wenn man die Datenbank auf die neue Zeitzone shiftet. Das Skript ist schnell(er) geändert.


      Ja, stimme ich dir zu.

      trash schrieb:


      Wie bereits geschrieben, setze Timeshift auf -1 in den Data base settings und setze auf 1 bei Configure>Time offset. Und Backfill ohne Timeshift. Bekomme ich ein Eis, wenn ich recht habe?

      Bekommst sogar ein großes Eis, wenn du mir dann im Gegenzug die History (welche ich mühevoll per Hand in Halbjahresinkrementen auf MEZ eingefügt habe) wieder in die richtige Zeitzone verfrachtest, nachdem die Timeshift -1 Einstellung meine kompletten Daten um -1 versetzt hat. :D

      Statt die komplette Datenbank nach der Zeitzone des MT auszurichten, scheint mir die elegantere Lösung das Backfill-Skript zu ändern. Denn möchte man bei der „Shift Database“-Variante später einmal einen anderen MT mit einer anderen Zeitzone als Livefeed, passt die Historie nicht mehr wenn man die Datenbank auf die neue Zeitzone shiftet. Das Skript ist schnell(er) geändert.

      Allerdings alles leichter gesagt als getan, solange der Backfill seit meiner Skriptänderung nicht mehr funktioniert.


      Zu deinem anderen Posting. Stimmt der Pfad zu den CSV Dateien in der import.js Datei? Außerdem was steht unter Tools>Customize>Tools im Feld Commands und Arguments? Bei Commands sollte wscript.exe und im Feld Arguments "C:\Programme\AmiBroker\Scripts\Import.js" stehen

      Aus dem Gedächtnis heraus stimmte das alles, ich habe ja nur den Code wie unten beschrieben geändert. Werde da heute abend nochmal drüber gehen.
      Also, ich bestätige, dass Jansons Prozedur mit Timeshift-Einstellung überall bei 0 in den Data base settings und nur mit entsprechendem Timeshift in der Formatdatei für den Backfill auch funktioniert. Thx! DDE interessiert es also nicht, in welcher Zeitzone sich die Quelle befndet.

      janson schrieb:

      Es läuft über das DDE-Plugin und mit nur einem Metatrader (FXPro mit der etwas selteneren Zeitzone MEZ+1). Der Datenstream kommt bei mir ungeshiftet rein bzw. wird auf die aktuelle Zeit geschrieben, mit den Einstellungen File->Database Settings->Intraday settings->Thimeshift 0 und File->Database Settings->Configure->Time offset 0. Wenn ich Time offset z.B. auf 1 stellen würde, läuft auch der Livefeed um 1 Stunde versetzt.

      Nehme ich allerdings einen Backfill vor, habe ich bei den Filldaten die exakt gleiche Zeit, wie sie der Metatrader hat (sofern Database Intraday Settings Timeshift 0).

      Meine (laienhafte) Meinung ist, dass für den Livefeed die Zeit des Metatraders nicht ausschlaggebend ist, sondern die Einstellungen bei den Database Settings. Bei einem Backfill jedoch wird ja csv-file des MT ausgelesen, und man bekommt logischerweise die Zeit wie sie im Metatrader vorliegt.

      Ich hoffe, dass war jetzt auf die Schnelle nicht zu verwirrend erklärt.


      Du könntest allerdings auch recht haben, dass es so, wie du schreibst, alternativ auch funktionieren könnte. Habe ich noch nie probiert. Falls ja, dann spendieren wir uns beide ein Eis.

      janson schrieb:

      Es läuft über das DDE-Plugin und mit nur einem Metatrader (FXPro mit der etwas selteneren Zeitzone MEZ+1). Der Datenstream kommt bei mir ungeshiftet rein bzw. wird auf die aktuelle Zeit geschrieben, mit den Einstellungen File->Database Settings->Intraday settings->Thimeshift 0 und File->Database Settings->Configure->Time offset 0. Wenn ich Time offset z.B. auf 1 stellen würde, läuft auch der Livefeed um 1 Stunde versetzt.

      Nehme ich allerdings einen Backfill vor, habe ich bei den Filldaten die exakt gleiche Zeit, wie sie der Metatrader hat (sofern Database Intraday Settings Timeshift 0).

      Meine (laienhafte) Meinung ist, dass für den Livefeed die Zeit des Metatraders nicht ausschlaggebend ist, sondern die Einstellungen bei den Database Settings. Bei einem Backfill jedoch wird ja csv-file des MT ausgelesen, und man bekommt logischerweise die Zeit wie sie im Metatrader vorliegt.

      Ich hoffe, dass war jetzt auf die Schnelle nicht zu verwirrend erklärt.


      Wie bereits geschrieben, setze Timeshift auf -1 in den Data base settings und setze auf 1 bei Configure>Time offset. Und Backfill ohne Timeshift. Bekomme ich ein Eis, wenn ich recht habe?

      Zu deinem anderen Posting. Stimmt der Pfad zu den CSV Dateien in der import.js Datei? Außerdem was steht unter Tools>Customize>Tools im Feld Commands und Arguments? Bei Commands sollte wscript.exe und im Feld Arguments "C:\Programme\AmiBroker\Scripts\Import.js" stehen
      Es läuft über das DDE-Plugin und mit nur einem Metatrader (FXPro mit der etwas selteneren Zeitzone MEZ+1). Der Datenstream kommt bei mir ungeshiftet rein bzw. wird auf die aktuelle Zeit geschrieben, mit den Einstellungen File->Database Settings->Intraday settings->Thimeshift 0 und File->Database Settings->Configure->Time offset 0. Wenn ich Time offset z.B. auf 1 stellen würde, läuft auch der Livefeed um 1 Stunde versetzt.

      Nehme ich allerdings einen Backfill vor, habe ich bei den Filldaten die exakt gleiche Zeit, wie sie der Metatrader hat (sofern Database Intraday Settings Timeshift 0).

      Meine (laienhafte) Meinung ist, dass für den Livefeed die Zeit des Metatraders nicht ausschlaggebend ist, sondern die Einstellungen bei den Database Settings. Bei einem Backfill jedoch wird ja csv-file des MT ausgelesen, und man bekommt logischerweise die Zeit wie sie im Metatrader vorliegt.

      Ich hoffe, dass war jetzt auf die Schnelle nicht zu verwirrend erklärt.