Alle Inhalte von titanfx
-
Wie synchronisiere ich mein MT4 auf mehreren Rechnern
Kopieren braucht man hier gar nicht, das ist egal ob du die Dateien direkt in dem DropBox kompilierst oder in dem Metatraderordner. Die Dateien werden automatisch aktualisiert Du kannst natürlich auch neue Dateien in den verlinkten Ordnern oder im Dropbox erstellen, die werden sofort in den anderen Metatraderordner erscheinen Auch die gelöschte Dateien werden in allen Ordner gelöscht. Tatsächlich liegen alle Dateien in dem Dropboxordner, ich würde aber alle Dateien in dem Installationspfad des MT4 löschen/ändern/kompilieren - das ist übersichtlicher und bequemer ( meiner Meinng nach ), sonst spielt es keine Rolle, wo die Daten verändert werden
-
Wie synchronisiere ich mein MT4 auf mehreren Rechnern
Ich versuche es so verständlich wie möglich also mit vielen Bilder zu erklären, dann weiss jeder was gemeint ist und ob es jemand braucht. Aslo gemeint wird eine Echtzeitsynchronisation von Dateien, die auf mehrere Metatrader-Installationspfade angewendet werden kann. Es werden also keine Daten kopiert, das alles erledigt das Betriebssystem im Hintergrund. Die Daten belegen nur einmal Speicherplatz und zwar nur in dem Quellordner, die anderen synchronisierenden Ordner, enthalten nur Abbild von Dateien, die tatsächlich nur verlinkt werden und somit kein Speicherplatz belegen. Diese Methode kann angewendet werden, wenn die MT4´s auf verschiedenen Festplatten, Partitionen oder gar auf mehreren Computern synchron gehalten werden sollen. Wofür braucht man das? Wenn ich auf mehreren Computern oder einfach unter mehreren Installationspfaden von Metatrader immer die gleichen Daten haben möchte, ist es eine bequeme Möglichkeit alle Änderungen in Echtzeit vom Betriebssystem erledigen zu lassen. In dem Beispiel werden alle Templates, Symbolsets und alle Dateien im Ordner /experts (EA´s, Indikatoren, Scripts usw. ) synchronisiert. Man könnte auch den Ordner Profiles synchronisieren, da würde ich aber nur einzelnen Profile-Ordner ausser /default nehmen. Diese Methode verwendet Symbolische Links und funktioniert nur auf NTFS Partitionen. Die Symbolische Links kann man auch mit grafischen Tools anlegen, muss man also nicht unbedingt die Konsole nutzen. Ich nutze LSE (link shell extension) - lässt sich super im Windows Explorer integrieren und so ganz einfach die Symbolischen oder z.B Hard-Links anzulegen. Die LSE lässt die Links im Explorer mit anderen Symbolen und Farben darstellen, dass man sofort weiss, dass es sich um einen Link handelt. Vorteil ist hier natürlich auch, dass die Daten im Dropbox zwischengespeichert werden, was anderseits eine Backup-Funktionalität ( auch wenn es kein echter Backup ist ) mit sich bringt. Mit dieser Lösung kann man zufällig gelöschte Dateien wiederherstellen und bei einem Datenträgerdefekt, bleibt trotzdem alles noch auf dem Dropbox-Server. Auf dem zweiten Computer wird auf gleiche Weise zum Installationspfad des MT4 verlinkt und entsprechende Ordner durch die Symbolischen Links ersetzt
- Wie synchronisiere ich mein MT4 auf mehreren Rechnern
-
Ordnung und Übersicht in den MT4-Verzeichnissen
Symbolischer Link funktioniert nur auf NTFS Partitionen, diesen kann man auch mit grafischen Tools anlegen, muss man also nicht unbedingt die Konsole nutzen. Ich nutze LSE (link shell extension) - lässt sich super im Windows Explorer integrieren und so ganz einfach die symbolischen oder z.B Hard-Links anzulegen. Das lohnt sich auf jedem Fall in das Thema einzuarbeiten, so kann man sehr viel Zeit hinterher einsparen, wenn man mehrere Ordner oder Dateien synchron halten möchte. Früher hatte ich Tools zu Ordnersyncronisierung ( wie AllwaySync ) genutzt um die Daten auf mehreren MT4 Installation synchron zu halten. Die symbolischen Links haben diese Notwendigkeit verbannt, da brauche ich mehr keine Sorgen zu machen, dass die Daten nicht aktuell sein könnten. Die LSE lässt die Links im Explorer mit anderen Symbolen und Farben darstellen, dass man sofort weiss, dass es sich um einen Link handelt. Da ich noch zusätzlich Dropbox nutze ( hatte ich hier im Forum auch schon geschrieben ) habe ich auf mehreren Computern immer die aktuellen Daten ( in Echtzeit ) samt Quellcodes und kompilierten Dateien und alles geschieht im Hintergrund ohne Kopfschmerzen. Vorteil ist hier natürlich auch, dass die Daten im Dropbox zwischengespeichert werden, was anderseits eine Backup-Funktionalität ( auch wenn es kein echter Backup ist ) mit sich bringt. Ich muss auch zugeben, dass ich Paar mal einen Datencrash hatte und die Daten unwiederuflich weg waren. Mit dieser Lösung kann man zufällig gelöschte Dateien wiederherstellen und bei einem Datenträgerdefekt, bleibt trotzdem alles noch da. Soviel Offtopic aber wenn es jemand braucht, wird es sicherlich schätzen
-
Ordnung und Übersicht in den MT4-Verzeichnissen
Der EA wird im Ordner Goldhopper kompiliert, du brauchst also nur zu diesem kompilierten File eine symbolischen Link ( nicht die übliche Verknüpfung ) anlegen mit dem Ziel zu dem Ordner /experts. Das sollte funktionieren, ich nutze es jedenfalls schon lange. Wenn der File problemlos kompilieren lässt, dann sollte es funktionieren. Wenn die Include-Files nicht gefunden werden, kannst du probieren die absolute Pfade durchzuschreiben
-
Ordnung und Übersicht in den MT4-Verzeichnissen
Nur die kompilierte Datei muss man dann leider ständig nach jeder Änderung in den Ordner /experts kopieren. Vielleicht wäre alternativ besser in dem Ordner /include einen Unterordner für alle Include-Dateien zum Goldhopper anzulegen und den Expert Goldhopper.mq4 in dem Hauptverzeichnis /experts anzulegen. Noch cooler wäre dann einfach einen symbolischen Link der .ex4-Datei aus deinem Ordner Goldhopper zu dem Ordner /experts anzulegen, dann ist die Ordnung vollendet und man braucht nicht mehr die .ex4 ständig in den anderen Ordner kopieren
-
Windowsfenster automatisch anordnen
klar, das funktionert bei allen Programmen
-
Windowsfenster automatisch anordnen
In Win 7 ist es schon am Board, nutze jeden Tag WinTaste + Pfeil Rechts oder WinTaste + Pfeil Links das ist nur für 2 Programme, sonst Rechtsklick auf die Taskleiste und Fenster nebeneinander anzeigen
-
Mein Leben 2.0
Hallo Eckart, schreckliche Lebenserfahrung.. wünsche dir, dass du dich so schnell wie möglich davon erholst und bei der Genesung schnell voran kommst. Alles Gute!
-
Zeichentool
Hi Vola, ich weiss nicht welche Zahlen du meinst, aber wenn du z.B die Wellen durchnummerieren möchtest, dann gibt es bei MT5 ChartObjects ( nennt sich ElliotWaves oder ähnlich ) damit kannst du 3 und 5 wellige Muster kennzeichnen. Das ist also reines Chartobjekt und keine automatische Mustererkennung!
-
Mein erster eigener Robot
den ea ?
-
Arrays beim umschalten der Zeitbasis
Beim Umschalten auf ein anderes Timeframe werden die Funktionen (wie du schon richtig sagtest) deinit(), init() und start() ausgeführt. Also nach dem Durchgang von der start() werden alle Indicatorbuffers berechnet, die Variable downloadhistory auf true gesetzt und es sollte beim nächsten Tick wie man auch erwartet IndicatorCounted() gleich Bars-1 sein. Das geschieht auch in den mesten Fällen, ausser in deinem Fall, wo die veraltete Daten aktualisiert worden. Da die Daten heruntergeladen und aktualisiert werden, wird Indicatorcounted() wieder auf NULL zurückgesetzt und die Bedienung if(counted_bars==0 && downloadhistory) { Alert("__ALERT__!"); } wird wahr, Alert wird ausgegeben! Das geschieht solange, bis die Daten volständig aktualisert werden. Hier ist ein Auszg aus der Logdatei: Hier sieht man, dass bei den ersten 3 Durchgängen der Funktion start() die Funktion IndicatorCounted() ständig auf NULL zurückgesetzt war, weil es immer neue Bars heruntergeladen wurden. Das ist ein Sonderfall, weil die Daten zu den alten Daten hinzugefügt werden und die Berechnung für alle Bars wiederholt werden muss. Wenn man durch alle Timeframes geschaltet hat und somit die aktuellen Daten für den jeweiligen Währungspaar hat, tritt dieser Effekt nicht mehr auf. Hier ist noch mal Stückchen Code für den Indikator ur Überprüfung #property indicator_chart_window bool downloadhistory; int init() { downloadhistory = false; Print("__INIT__"); } int deinit() { Print("__DEINIT__"); } int start() { Print("__START__"); int counted_bars=IndicatorCounted(); if (counted_bars==0 && downloadhistory) { Alert("__ALERT__!"); } if (counted_bars==0) { //Print("__DL_HISTORY____TRUE"); downloadhistory=true; } static int cnt; if(cnt < 10) { cnt++; Print(cnt,". Bars: ",Bars," IndicatorCounted: ",IndicatorCounted()); } /* Print("__START__"," counted_bars: ",counted_bars, " downloadhistory: ",downloadhistory); */ } //+------------------------------------------------------------------+
-
Arrays beim umschalten der Zeitbasis
Danach wartet der Indikator auf einen neuen Tick. Wenn der kommt sollte IndicatorCounted() Bars entsprechen. Bildet sich dann eine neue Kerze, erhöht sich IndicatorCounted() um 1. Die obrige Schleife wird dabei jeweils 1x durchlaufen. Erstmal kurz tur IndicatorCounted(): IndicatorCounted() ist immer gleich Bars-1. Aussnahme ist nur wenn sich die neue Kerze ausgebildet hat, dann hat IndicatorCounted() nur für diesen Agenblick den Wert Bars-2
-
Arrays beim umschalten der Zeitbasis
Hallo, WOGO Das ist gut, dass du so tief in die Materie reinschaust und jede Kleinigkeit zu verstehen versuchst. Tatsächlich ist es auch, dass bei jedem switscgen auf ein anderes TF die Funktion init() erneut aufgerufen wird. Das funktioniert auch ... In deinem Beispiel schaltest du von M30 auf M1 - in diesem Moment, wenn sich eine neue Kerze gebildet hat, wird die Variable IndicatorCounted() auf NULL gesetzt und Indikator neu berechnet. Hier wird natürlich nicht erneut init() augerufen, da wir uns momentan in der Funktion start() befinden. Es folgt also solange die Neuberechnung bis die hostorische Daten vollständig geladen wurden. Hier steckt also der Auslöser für dein ALert. Die Variablen werden nach dem Umschalten auf anderes TF neuinitialisert ( ausser globalen ) und die Arrays werden ohnehin neuinitialisiert und neuberechnet. Ich würde für deinen Fall einfach den standarten Konstrukt nehmen int limit; int counted_bars = IndicatorCounted(); //---- check for possible errors if(counted_bars < 0) return(-1); //---- last counted bar will be recounted if(counted_bars > 0) counted_bars--; limit = Bars - counted_bars; Ich habe für dich einen kleinen Code zur Überprüfung geschrieben: #property indicator_chart_window bool downloadhistory; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators downloadhistory = false; Print("__INIT__"); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(); if (counted_bars==0 && downloadhistory) { Alert("__ALERT__!"); } if (counted_bars==0) { downloadhistory=true; } //--- Print("__START__"," counted_bars: ",counted_bars, " downloadhistory: ",downloadhistory); //--- } //+------------------------------------------------------------------+
-
Zeitfunktionen bei MQL
Der eigentliche Unterschied ist, dass die Variable Minute() direkt von TimeCurrent() ausgelesen wird. TimeMinute() kann von jeder beliebigen Variablen oder Konstante berechnet weden.
-
Zeitfunktionen bei MQL
Minute() - gibt die aktuelle Minute an zu dem Zeitpunkt als die Funktion start() ausgefüht wurde, diese Zahl ( die Minute ) wird von dem Server abgerufen, wie auch TimeCurrent() In diesem Fall ist die Minute() = TimeMinute(TimeCurrent()) (this value will not change within the time of the program execution) hier wird eigentlich nur die Ausführung der Funktion start() gemeint, nach dem neuen Tick werden alle Umgebungsvariablen unter anderem auch Minute() und TimeCurrent() aktualisiert
-
Happy Birthday
Herzlichen Glückwunsch, ronner!!! Wünsche dir viel Gesundheit und Erfolg in dem was du tust
-
MultiCharts 6 (Handelsplattform)
Es gibt auch eine Option den MC kostenlos bei FXCM und Forex.com zu bekommen. http://www.multicharts.com/mcfx/ .. muss man allerdings mit 10k Konto mindestens 80 Trades durchführen
- Dropbox
- Dropbox
-
Dropbox
Jetzt bekommt man bei Dropbox bis 10GB kostenlos durch die Referals (Einladungen) Super!! Der Dienst läuft sehr zuverlässig und stabil und vor allem schnell. Wer sich noch anmelden und zusätzlich 250 MB bekommen möchte, dann bitte über diesen Link https://www.dropbox.com/referrals/NTQ3NzUyNzQ5
-
MT Fibonacci wird "überzeichnet"
Die Farbe kann auch in HEX oder als INT-Zahl dargestellt werden, schau in dem Programmteil nach, wo das Object erzeugt oder neugezeichnet ist
-
MT Fibonacci wird "überzeichnet"
Hier ist offensichtlich der Indikator schuld, dass der deine einstellungen überschreibt. Das liegt allerdings auf den Schultern des Programmierers, der diesen entworfen hat. Grundsätzlich ist es so, dass MT4 die letzte benutzte Farbeinstellung der "hauseigenen" Linien abspeichert. Also nach dem Entfernen des Indkators würde ich deine eigenen Fibo´s neu einfärben, dann wird die Einstellung auch nach dem Neustart erhalten bleiben. Es ist zwar nicht der richtige Weg... besser wäre es im Programmcode des Indikators den Fehler zu korrigieren
-
Michael Voigt mal 2 / Link zum Buch
Das Buch an sich liest sich eigentlich leicht und interessant, was ich allerdings zum Haare herausreissen finde - sind es die Fussnoten! Die sind fast ausschliesslich auf jeder Seite zu finden und belegen teilweise die Hälfte der Seite (grausam) Das Buch an sich finde ich inhaltlich empfehlenswert für jeden, der noch am "Anfang" steht
-
Ninjatrader geeignet?
Im Simulationsmodus kriege ich leider kein Chart geöffnet, die Trades werden ausgeführt