Alle Inhalte von Mythos
-
MT5 Trojaner
Nein, so flexibel ist es nicht. es gibt für Filezugriff nur FileOpen und FileOpenHistory
-
Large Range Days
Thx an alle für die Rückmeldung und Beteiligung. Da die Idee des Systems nicht von mir ist und ich derzeit leider nicht viel Zeit habe: Der Code ist OpenSource, wer will darf ihn gerne erweitern ;) bzgl. gestaffelte Einstiege: Da man auf tickbasis reagiert, ist die erste erreichte Schwelle immer "leicht" darüber. Meinst du also ein pyramidisieren wenn der Kurs nach durchbrechen des Triggers weiterläuft? @Tage davor einbeziehen: klingt interessant, Vorschläge wie man das am besten macht?
-
MT5 Trojaner
? Ist das ein MT4 interner Befehl? Also AFAIK kannst du mit reinem MQL nur auf Dateien im MT-Verzeichnis (files/ und history/) zugreifen. Der Rest des Systems ist nur über DLLs erreichbar. Mit DLL ist dann natürlich alles möglich. EDIT: streich die Frage, MQL kennt keine strings ;)
-
Robotik-Pionier und Experte für Künstliche Intelligenz
Thema SEO: Er produziert ständig neuen Content, was die Suchmaschinen mögen-> pusht ihn rauf. Wenn wir jetzt keinen Content erzeugen, fallen wir runter. Reagieren wir auf neuen Content von ihm mit entsprechenden "Gegencontent" finden die Leute uns genauso. Die Bühne macht er sich ja auch wenn wir nichts dazu schreiben. Aber so steht zumindest auch kritisches auf der ersten Seite.
-
Large Range Days
Und hier die Version 1.0: eLRD.mq4 Die interessanten Codestellen: Einstieg: int calcEntrySignal() { int result= FLAT; static double last_close= 0; double atr= iATR(Symbol(),PERIOD_D1,ATRPeriod,1); double short_trigger= iHigh(Symbol(),PERIOD_D1,0) - atr; double long_trigger= iLow(Symbol(),PERIOD_D1,0) + atr; if(last_close <= long_trigger && Close[0] > long_trigger) { result |= LONG; showArrow("SignalLong_"+Bars,High[0],Time[0],Green,SYMBOL_ARROWUP); } if(last_close >= short_trigger && Close[0] < short_trigger) { result |= SHORT; showArrow("SignalShort_"+Bars,High[0],Time[0],Red,SYMBOL_ARROWDOWN); } last_close= Close[0]; //if a signal in both directions is forbidden do if(result == BOTH) result= FLAT; return(result); } Trailing: double calcNewTrailingStop(double curStop,int orderType) { double trailStop = 0; double atr= iATR(Symbol(),PERIOD_D1,ATRPeriod,1); if(orderType == OP_BUY) trailStop= iHigh(Symbol(),PERIOD_D1,0) - atr; if(orderType == OP_SELL) trailStop= iLow(Symbol(),PERIOD_D1,0) + atr; if ((orderType == OP_BUY && trailStop > 0.0 && trailStop > curStop) || (orderType == OP_SELL && trailStop > 0.0 && (curStop == 0 || trailStop < curStop)) ) { return(trailStop); //neuer TrailingStop } else return(curStop); //alter TrailingStop: d.h. keine Änderung notwendig } InitSL: double calcInitStopDiff(int orderType) { double atr= iATR(Symbol(),PERIOD_D1,ATRPeriod,1); return(atr); } Erste Tests sehen gar nicht so schlecht aus. Die Exitstrategie sollte man scheinbar besser weglassen und die Trades auch über mehrere Tage laufen lassen. Ein typischer Trendfolger halt ;)
-
LRD System
So, hab jetzt ein Kitchen-Topic für das LRD erstellt. Bzw. für das LRD wie ich es kenne. LRD in der Kitchen
-
Large Range Days
Dann starte ich mal die Kitchen mit dem Large Range Day (LRD) System. Einerseits weil die Kitchen noch so unbenutzt aussieht, andererseits weil das System spannend klingt. Das Thema wurde bereits hier und hier behandelt. Ich habs jetzt aber nochmal als eigenes Kitchen-Topic gestartet um ein "Beispieltopic" für die Kitchen zu haben. Systemlogik Es gibt immer wieder Tage mit sehr großer Range (lange Kerze), meist haben solche Tage nicht nur lange Dochte sondern auch einen großen Kerzenkörper. Sprich an einem solchen Large-Range-Day hat ein starker Move in eine Richtung stattgefunden. Auf dieser Erkenntnis aufbauend, könnte man versuchen den "Aufbau" eines solchen LRD zu erkennen und die restliche Bewegung mitzugehen. Einstiegsregeln Steigt der Kurs über MAX(DailyOpen, DailyLow + DailyATR) -> BUY Fällt er unter MIN(DailyOpen, DailyHigh - DailyATR) -> SELL Stop/Exit Initial und Trailingstop bei DailyHigh - DailyATR bzw. DailyLow + DailyATR Am Ende des Tages werden alle Trades geschlossen. TP gibt es keinen.
-
TomNext EA-Kitchen
Ein paar Worte zum Grundgerüst: Entstanden ist es aus dem Community-EA Projekt wiederum als Gemeinschaftsprojekt. Es ist sicher noch nicht perfekt aber ein guter Startpunkt. Ich denke es kann vor allem Tradern die gerade erste EAs programmieren helfen, die typischen Anfängerfehler zu vermeiden bzw. ihren Wissens- und Erfahrungsschatz ohne gravierende Folgen am Konto zu erweitern. Von der Idee her gibt es bei der Umsetzung mMn mehrere Varianten: I: Ein Trader schlägt ein System vor das von der Community mithilfe des Grundgerüsts schnell und einfach umgesetzt wird. II: Ein Trader mit ein bissl Programmiererfahrung nutzt das Grundgerüst um es selber zu versuchen und wird von der Community bei Fragen und Problemen unterstützt III: Ein Trader verwendet das Grundgerüst um sich seine Idee selber zu programmieren und aufgrund des tollen Grundgerüsts (schleim schleim) benötigt er keinerlei Hilfe aus der Community. Im Fall III würden wir uns trotzdem freuen wenn es eine kurze Rückmeldung gibt (und Gewinnbeteiligungen sind auch gerne gesehen )
-
TomNext EA-Grundgerüst
There we go: Tom Next EA-Kitchen
-
LRD System
Was haltet ihr davon mit dem LRD System gleich die neue Kitchen einzuweihen?
-
TomNext EA-Kitchen
Willkommen in der EA-Kitchen von TomNext. Schnappt euch einen Kochlöffel, bindet die Schürze um und los gehts. Zugegeben, wir kochen hier eigentlich nach dem immer gleichen Rezept, aber die Zutaten werden stark variiert. Es wird also nie langweilig. Rezept Man nehme eine (gute) Idee für ein automatisches HandelssystemLade das Grundgerüst aus dem DownloadbereichFüge an den markierten Stellen die gewählte Logik einFrage bei Bedarf einen der anwesenden Profis um RatTeste das ganze auf Herz und NierenFreue sich über 100% im Jahr ;)Damit nicht das totale Chaos ausbricht und man den Brei vor lauter Töpfen nicht findet hier noch ein paar organisatorische Details: Bitte jeden Kitchen-EA in einem eigenen Thread behandeln. Einfach EA-Kitchen im Titel anfügenJeder Anwesende ist freiwillig hier, dementsprechend sollte auch der Respekt und die Wertschätzung erfolgen (so wie bei Tom-Next sowieso üblich)Hier in diesem Thread können allgemeine Fragen zur Kitchen behandelt werden.Bei Bedarf wird es einen eigenen Thread zur Erweiterung/Bugtracking des Grundgerüsts gebenListe der köchelnden Töpfe: (wird laufend aktualisiert) Large Range Days KI vs. Evolution Market Structure
-
EA-Kitchen Grundgerüst
- 50 Downloads
- Version 1.0
Dies ist das EA-Grundgerüst für die EA-Kitchen. Das Grundgerüst verwendet die TradeBox- 2 Kommentare
- 1 Bewertung
-
TomNext EA-Grundgerüst
Ich nehm das mal als ein "keine Einwände" ;)
-
Robotik-Pionier und Experte für Künstliche Intelligenz
Naja, aber das funktioniert nur wenn Suchende das zuerst finden. Selbst wenn wir einen perfekten EA-TÜV machen und EAs zertifizieren, inwiefern hält das Scam ab? Dafür müsste der EA-TÜV ein internationaler Standard werden UND im Bewusstsein der Bevölkerung Einzug finden. Sodass sich der BauerSepp bei seinen Überlegungen zur Veranlagung denkt "aber ich nehm nur Zertifizierte EAs". Der Aufwand den man bräuchte um eine solche Awareness zu erzeugen, ist mMn wesentlich größer als der Aufwand um die Botschaft "Es gibt keine Rendite ohne Risiko" zu verbreiten. Zusätzlich bräuchte der EA-TÜV dann natürlich auch eine eigene "Abteilung" gegen Missbrauch. Sonst hindert niemand einen Hahn seine EAs als "zertifiziert" zu bezeichnen etc. Also machbar theoretisch vermutlich schon, aber ich hab das Gefühl das es in der Form nicht realistisch umsetzbar ist.
-
Robotik-Pionier und Experte für Künstliche Intelligenz
Ok ich hab mir mal die Mühe gemacht seine Page zu durchforsten. Da gibt es tatsächlich links zu seinen "Livehandelskonten" aber jetzt kommts: Ich schau mir Managed Account Live an und siehe da: Sein "Live-Konto" ist eigentlich ein Demoaccount Man muss ihm aber zugute halten das er auch einen Realaccount aktiv hat (Handelsprivilegien lies er nicht überprüfen, aber mei)... Dort läuft halt ein Martingale das mit einem Trade gleichmal 13% Drawdown erzeugt hat. Mir fällt dazu echt nicht mehr ein als
-
Robotik-Pionier und Experte für Künstliche Intelligenz
Ist Patrick Hahn Deutschlands bester Trader? Deutschlands einziger Trader mit nachweißlicher Berufserfahrung und Live Handelskonten! Der einzige Trader im deutschsprachigen Raum, der nicht nur über eine fachliche Ausbildung sowie über eine nachhaltige Performance auf einem Live Handelskonto verfügt ist Patrick Hahn (Aktien und Derivatenhändler) WTF?! Mal einzeln: Nachweislich Berufserfahrung: Definitiv, nicht als Trader aber es gibt bestätigte ehemalige Arbeitgeber aus dem Brokerbereich die sich nun von ihm distanzieren. Live Handelskonten: hat irgendwer je von einem Livekonto von Hahn gehört? Ich hab noch nicht mal eine Demo von ihm gesehen. Nur jede Menge EAs die er verkaufen will. Aber da Hähnchen ja angeblich brav mitliest: Wie wärs mit einem Link zur Kontohistorie? fachliche Ausbildung: das hatten wir schonmal, unser Experte für Quantenlogik. Ist jetzt natürlich die Frage was hier "fachliche Ausbildung" ist, aber da unser Herr Hahn auf der Page auch sein "Zertifikat für die Teilnahme am Vorbereitungslehrgang zur Börsenhändlerprüfung" als "European Business Manager Diplom" verkaufen will (siehe hier), stelle ich seine "fachliche Ausbildung" einfach mal in Frage. nachhaltige Performance: siehe oben... kein Livekonto keine Performance. Oder meint er hier seine Performance als Internetclown. Oder die Wachstumskurve der Anzahl seiner Internetseiten um fragwürdige EAs zu verkaufen? Die is auf jeden Fall steigend ;) Ich würd dafür plädieren die Aussagen leicht zu modifizieren: ein Wort weg, eins dazu und schon passt der Realitätscheck Bin sofort dabei, nur leider keine Ahnung was man machen könnte. Also abgesehen von dem was schon läuft. Wenn wir (und die Aufklärungsthreads) von Suchenden gefunden werden bevor sie in den Hühnerstall geraten, ist schon viel gewonnen...
-
RefreshRates ?
Wo kämen wir denn hin, wenn alle nur fragen "Wo kämen wir da hin?" und keiner hingeht und nachschaut? requotes vermeiden ist je nach broker "unmöglich" sie richtig handlen is machbar ;) faule Antwort: Ich hab das ganze Orderhandling damals in die TradeBox eingebaut. Da könntest dir die Verwendung abschauen. Für faule Leser hier der entsprechende Codeteil: price= normalizePrice(price,cmd,symbol); stoploss= normalizeStopLoss(price,stoploss,cmd,symbol); takeprofit= normalizeTakeProfit(price,takeprofit,cmd,symbol); //producing a valid lotsize vol_in_steps=volume/lot_step; // getting the integer (cut off) value of lotsteps to invest. volume= vol_in_steps*lot_step; //now the volume is normalized to full lot steps volume= MathMin(maxlot,MathMax(minlot,volume)); // no empty orders, not trading too much ;) result= OrderSend(symbol,cmd,volume,price,slippage,0,0,comment,magic,expiration,arrow_color); while(result == -1) { error=GetLastError(); switch(error) { case ERR_SERVER_BUSY: case ERR_BROKER_BUSY: case ERR_TRADE_CONTEXT_BUSY: Sleep(PAUSE_ON_BUSY); break; case ERR_TOO_FREQUENT_REQUESTS: Sleep(PAUSE_ON_TOO_FREQUENT); break; case ERR_NOT_ENOUGH_MONEY: if(information_level != 0) Alert("TB",VERSION_NUMBER,": We are broke!"); return(-error); case ERR_TRADE_TOO_MANY_ORDERS: if(information_level != 0) Alert("TB",VERSION_NUMBER,": Too many open trades!"); return(-error); } loopcount++; if(loopcount > max_retries) { return(-error); } RefreshRates(); price= normalizePrice(price,cmd,symbol); stoploss= normalizeStopLoss(price,stoploss,cmd,symbol); takeprofit= normalizeTakeProfit(price,takeprofit,cmd,symbol); result= OrderSend(symbol,cmd,volume,price,slippage,0,0,comment,magic,expiration,arrow_color); } wie man sieht ist die gesamte OrderSend-Party in einer Schleife und wird sooft wiederholt bis es klappt oder zuooft wiederholt wurde. Zwischen jedem Versuch wird Preis, SL und TP angepasst nachdem per RefreshRates die aktuellsten Kurse geholt wurden.
-
RefreshRates ?
soweit richtig ;) Ich schreib jetzt einfach mal ein bissl mehr Infos, vielleicht hilfts ja wem. Zur Ausführung von start(): start() wird bei jedem tick ausgeführt, sofern bei einlangen des ticks der vorige Aufruf von start() bereits beendet ist. Hat man also eine start() die länger dauert bzw. einen sehr schnellen Markt, kann es schnell mal sein das man einen tick "übersieht". Hat eine schnelle start() ist das also normal kein Problem. Wenn du vom Broker als reply auf dein OrderSend aber ein ErrorRequote kriegst, bist du ja immer noch in deiner start(). Deine internen Werte sind also noch die (inzwischen bestätigt) veralteten. Hier musst du RefreshRates machen um Zugriff auf die neuen Werte zu haben. Oder die start() beenden und beim nächsten tick weiterarbeiten ;) Zum REQUOTE: Hier muss ich zugeben bin ich mir nicht ganz sicher wies wirklich läuft bzw. trau ich mich keine allgemeingültige Aussage zu treffen. Theoretisch hast du Recht mit dem Slippage-Parameter. AFAIR hatte ich aber bei Realkonten schon requotes trotz hohem slipage Parameter. Ich hatte auch oft das Gefühl das Requotes kommen sobald sich der "reale" Bid von dem von mir gesendeten "Bid" (Also Preis bei Marketorder) unterscheidet. Das lustigste Verhalten war, wenn ich einen Requote-Error hatte, aber nach dem RefreshRates Bid/Ask unverändert blieben... Ich glaube es hängt stark vom Broker ab wann er ein Requote sendet etc. Aber wie gesagt, das is nur meine gefühlte Erfahrung, ich habs weder genau beobachtet noch sonstwas. Es war nur das RefreshRates definitiv notwendig ;) Es sollte also mMn auf jeden Fall bei der Fehlerbehandlung berücksichtigt werden, andernfalls ist eigentlich jede Fehlerbehandlung sinnlos (da man mit "alten" Werten arbeitet). Sprich wenn man bei OrderSend/OrderModify/OrderClose-Errors nicht einfach abbricht und "nix" tut, sollte man ein RefreshRates einbauen. Auch beim Thema Stoplevel: Wenn man recht weite StopLevel vom Broker hat und den Stop auf minimaldistanz nachziehen will, kann es passieren das aufgrund einer Kursänderung die Stoplevel nicht mehr eingehalten sind, hier hilft auch nur ein RefreshRates und anpassen der Stops an die neuen Werte. Zur Frage ob hoher Slipageparameter dumm ist: Kommt drauf an welchen bösen Vorsatz du dem Broker unterstellst und ob er das tut was wir denken. Wenn der Slipageparameter entsprechend verarbeitet wird und du dadurch defakto keine Requotes kriegst, kommst du natürlich schneller in den Markt. Auf der anderen Seite sagst du dem Broker eigentlich explizit "Gib mir einen Kurs, er darf bis zu X Pips schlechter sein als du es versprochen hast"... Also eigentlich ein ziemlicher Freibrief. Wenn jetzt ein Broker bewusst gegen den Trader arbeiten würde (was natürlich keiner macht...), könnte er diesen Parameter verwenden um dir standardmäßig schlechtere Ausführungen zu geben, obwohl sich der Markt nicht dermaßen bewegt hat. Aber zum Glück gibts keine automatischen Tools die solche Tricks möglich machen würden. hth
-
Robotik-Pionier und Experte für Künstliche Intelligenz
Also der Dialekt/Sprache is einfach nur genial! @PH und künstliche Intelligenz: da fällt mir nit mehr ein als "ja genauuuuuu" In Anlehnung an ein anderes Topic: "Winners win" ;) @Pressemitteilung: Da hat jemand das Video vom Pfeifer (das Interview is mMn gar nicht schlecht) gesehen und gedacht "da kann ich mich doch auch mit verkaufen" oder wie? ;) Ehrlich gesagt bezweifle ich das Prof. Pfeifer den Namen P.H. schonmal gehört hat, geschweige denn weiß wer das is ;)
-
RefreshRates ?
Was es damit auf sich hat: Mit RefreshRates() aktualisierst du alle "vordefinierten Variablen". Sprich Dinge wie Bid, Ask, Close, High, Low etc. werden mit den aktuellsten Werten beschrieben. Wann macht das Sinn? Im normalen Ablauf passiert das automatisch vor Aufruf der start(). Wenn dein EA also nix zeitaufwändiges macht, is es nit immer notwendig. Die Funktion ist hilfreich/notwendig wenn du zB: - deine start() nie beendest um auch zwischen den Ticks Aktionen ausführen zu können. Hier musst du regelmäßig RefreshRates aufrufen um auch immer die aktuellen Marktdaten zu haben - einen Error von OrderSend bekommst (vor allem bei Requote) und die Order an die neuen Marktdaten anpassen musst. Im Fall von Requote steht im Bid (innerhalb eines Aufrufs von start()) immer noch der alte Wert. - deine start() teils längere Berechnungen macht und du nach diesen Berechnungen (oder auch zwischendrin) die aktuellsten Werte benötigst etc. Sinnvoll ist die Verwendung also teils auf jeden Fall. Standard muss sie nur im Errorhandling der Orderverwaltung sein wenn man Marketorders rausschickt, denn hier ist der übergebene Bid/Ask nach dem Requote nicht mehr gültig und führt zu neuem requote. hth
-
Forex Impuls
Leider scheinbar schon. Ich denke die Krise trägt auch ihren Teil bei. Es gibt immer mehr die wenig haben, aber "ständig" von den Reichen lesen, den bösen Spekulanten die an der Börse ein Vermögen machen. Früher hat man von Reichen gehört die ein Unternehmen aufgebaut haben, Öl finden oder was weiß ich. Alles Dinge die man nicht einfach selber auch machen kann. Heute sieht man eine Doku von Selfmade-Millionären an der Börse und findet sofort 20 Angebote die tolle Renditen versprechen für die man selber nichts machen muss. Und die Menschen sind leider noch zu gutgläubig und wenig aufgeklärt als das sie die versprochenen Renditen hinterfragen würden. Derzeit hört man in den Medien ständig Zahlen und Beträge (vor allen in Verbindung mit der Börse) die weit weg von jeder Vorstellungskraft sind, da wird es durchaus plausibel das so ein Anbieter 100% im Jahr macht. Mich stimmt es eher traurig wie skrupellos diverse Anbieter die Gutgläubigkeit der Menschen ausnutzen. Frei nach dem Motto "Was Profit bringt ist moralisch vertretbar"... Zur Gutgläubigkeit im Internet: Es betrifft ja nicht nur Renditeversprechen. Man hört regelmäßig von Opfern des klassischen "Sie haben einen Sportwagen gewonnen, überweisen sie bitte 800€ für die Spesen und Transport dann steht er bei Ihnen" oder den beliebten Verkaufsbetrügereien...
-
MT4 und gemieteter Server
ok ich glaub ich muss mal relativieren. Wenn jemand selber richtige Server (Mehrzahl ;) zuhause hat und dementsprechend ein kleiner Sysadmin ist, hat er natürlich lieber alles unter Kontrolle. Ich meinte auch eher den 0815-User der zwischen "meinen Standardpc 24/7 laufen lassen" und VPS entscheiden muss. Es fängt hier ja schon bei der Auswahl der richtigen Hardware für Dauerbetrieb an. Dann die Frage mit permanentem Internet, Strom, Hardwarewartung, Backups etc. Ich denke die Lösung muss zum jeweiligen Typ passen. Es haben beide Varianten genug Vor- und Nachteile das man ewig diskutieren kann ;)
-
MT4 und gemieteter Server
Vielleicht nicht direkt stabiler, aber "wartungsfrei". Beim VPS kümmern sich andere darum das die Hardware aktuell ist, internet und strom unterbrechungsfrei ist etc. Man muss halt gegen etwaige Neustarts gerüstet sein. Einfach der Punkt: wie ruhig kannst du schlafen/1 tag frei nehmen wenn du weißt das dein System (mit Realkonto) am Heimrechner läuft und niemand reagiert wenn das Internet ausfällt. Beim VPS hast du deinen eigenen "Admin" der die Infrastruktur 24/7 überwacht. bzgl. Internet: Es ist definitiv stabiler und auch stärker. Vor allem der Uplink ist normalerweise massiv höher (nicht das kriterium für trading aber egal). Man müsste einfach einiges an Aufwand betreiben um die gleiche Ausfallssicherheit für die private Maschine zu erhalten. Und da muss man sich bei den aktuellen VPS Preisen ernsthaft fragen ob das dafürsteht.
-
IPad 3 - Features
haben die wenigsten, interessanterweise geben sie trotzdem regelmäßig ein paar hundert für die neue Version aus... Mal ehrlich, wer von denen die derzeit ein iPad2 haben (und das schon eigentlich nicht brauchen), braucht denn wirklich den upgrade auf iPad3?
-
IPad 3 - Features
Soweit ich es verstanden hab is es nur dual-core rechner aber quad-core grafik.