Ich startete dieses Geschäft zu entwerfen, die besser Handelssysteme konzentrieren. Programmierung, offensichtlich spielt eine große Rolle im Prozess.
Was die meisten Menschen nicht wissen, ist, dass der Programmiererfahrung kann eine ziemliche Herausforderung. Wenn ein Projekt braucht mehr Zeit als erwartet, es neigt dazu, viel mehr Zeit als die ursprüngliche Schätzung zu nehmen.
Die Programmierung ist wie Air Travel
Viele von Ihnen reisen regelmäßig. Fliegen ist ziemlich selbstverständlich, wenn Sie eine erhebliche Strecke zurück.
Wie oft haben Sie reiste und der Flug kam 5 Stunden früher? Die Frage ist lächerlich. Es geschieht nicht.
20 Minuten zu früh an die Tore macht die meisten Vielflieger ekstatischen. Sie wissen, dass früh ankommen, wenn auch nur um ein paar Minuten, ist so gut wie es geht.
Performance lässt an die Fluggesellschaft beziehen sich zu einem gewissen Grad. Prüfung auf Wartungsprobleme verhindert Überraschungen 20 Minuten vor dem Start oder, Gott bewahre, in der Luft.
Die Besatzung Ankunft auf Zeit hilft. Das letzte Mal, dass ich flog von Dulles nach Dallas, die Ersatzcrew kam am Gate eine Stunde zu spät.
Die letzten beiden Male, die ich flog nach Dublin, United Airlines hat meinen Koffer… beide Male. Manchmal, es ist wirklich 100% die Fluglinien’ Fehler.
höhere Gewalt
Diese Erfahrungen zur Seite, wie oft haben Fluggesellschaften goof up so schlecht, dass Reisende ankommen Tage zu spät? Reisende müssen mit erheblichen Verzögerungen kommen, aber diese Umstände sind in der Regel wetterbedingte. Es ist außerhalb der Fluggesellschaften’ Steuerung.
Ich erinnere mich an den Vulkan in Island, die vor ein paar Jahren ausgebrochen. Menschen wurden buchstäblich in Europa für eine Woche stecken.
Der Sequester ist ein gutes Beispiel. In was ist sicher eine vorsätzliche Wahl, um Schmerzen zu verursachen, Flieger, die FAA beschlossen, Fluglotsen an den großen Flughäfen furlough.
Diese Flughäfen sind die gleichen, die ich häufig. Als ich nach Dublin fliegen am Dienstag, und ich bin potenziell 4 Stunden hinter dem Zeitplan, Ich werde böse sein. Aber, Ich werde auch wissen, dass die Wut auf Congress statt der airline direct.
Programmierung und Reisen sind Fragile Systeme
Die Idee zu diesem Artikel kam aus Antifagile, wo Nassim Taleb beschreibt, wie kleine Änderungen erstellen exponentiellen Probleme.
Reisen vertraut ist für uns alle, so, wenn wir über das Delta zu denken, das steht für die kleinen Änderungen, Bild sie als die Zeitverzögerung oder Erhöhung der Laufzeit.
Betrachten Sie die Auswirkungen der 3 verschiedenen Deltas
Betrachten Sie mein Zwischenstopp in Newark. Wie spät kann ich, bevor ich vermisse den Anschlussflug. Wenn ich vermisse die Verbindung, Wie lange dauert es verzögern mich?
20 Minuten – Der Wechsel hier ist minimal. Ich werde viel leiden (wahrscheinlich unnötig) Stress. Meine Frau und ich könnte über den Anschluss joggen, Suche in den Prozess ein wenig töricht. Dennoch, die Chance, dass der Anschluss in der Nähe bestimmter.
60 Minuten – Dies ist Szenario ist direkt am Rande der Katastrophe. Meine arme Frau wird auf mich hören stöhnen und beißen meine Nägel, als ich aus Flip über fehlende die Verbindung.
Wenn wir machen den Flug, es ist nur, weil die Fluggesellschaft entschied sich er-Flug am Tor halten. Dabei Unannehmlichkeiten Hunderte von wartenden Fahrgäste, während eine Handvoll Reisende huschen, um den Flug zu besteigen.
Wenn sie nicht den Flug zu halten, gut, dann bin ich aufgeschraubt.
Das beste Szenario kann nach fehlt die Verbindung auftritt, ist, dass die Fluggesellschaft übertragen uns in eine andere europäische Destination. Die Fluggesellschaft muss dann mit uns auf eine Partner-Airline setzen, um uns in Dublin fliegen, Backtracking, wo wir gerade herkommen. Eine einstündige Verzögerungen bringt uns dazu,
- Warten Sie auf einem anderen europäischen Flug
- Fliegen eine zusätzliche Stunde auf ein anderes Ziel
- Warten Sie einen Dublin-Verbindung in einem anderen Flughafen
- Fliegen eine Stunde Backtracking
Eine Verzögerung wie diese könnte leicht in ein extra führen 6-8 Stunden Reisezeit- Alles aus einer 1 Stunden Verspätung.
3 Stunden Verspätung – Fangen einen anderen Flug nach Europa sieht wirklich optimistisch. Der beste Fall ist, dass die Fluggesellschaft brachte uns in einem Hotel für die Nacht und schickt uns auf die morgige Dublin Flug. A 3 Stunden Verspätung erweitert, um eine 24 Stunde warten, plus die restlichen Flugzeit.
Programmierung
Okay, Shaun, Okay. Was bedeutet sein müssen, um mit der Programmierung zu tun?
Genau wie auf Reisen, ein Programmierprojekt kann nur so gut gehen. Immer, wenn etwas Unerwartetes geschieht, die Probleme Verbindung sich exponentiell.
The Evil Delta
Die Zeit ist der Feind des Reisenden. Im Programmier Trading Roboter (oder Programmieren nichts, wirklich), Das Delta ist das Maß der Überraschung.
Betriebssystemänderungen: Wir entwickelten eine benutzerdefinierte MT4-Plugin für einen Client, der zum Preis Leitern mag. Eine Woche nach der Bereitstellung der Software-, Microsoft ein Betriebssystem-Update. Das Update brach Code in der Software, die wir zur Verfügung gestellt.
Kommunikation: Sie glauben, dass Sie sich für eine Sache gebeten, aber Sie anderen zu gelangen. Elemente, wie kleinere Versehen scheinen bis in große Probleme zu blasen.
Chris arbeitete an einem Projekt im vergangenen Monat, die, um eine Trading Grid in genauen Abständen auszuführen gesucht. Chris’ Originalversion verwendet Market Orders. Eine Handvoll Bugs aufgetaucht, aber der Kern der ursprünglichen Version funktionierte gut. Der Klient, jedoch, angenommen, wir würden noch nicht erledigten Aufträge verwenden, und forderte, dass es geändert werden.
Die Änderung zerstörten das ursprüngliche Design. Noch wichtiger ist, entdeckten wir, dass die Erreichung genaue Ausführung im Grunde unmöglich ist, weil wir die Ausführungszeit nicht genau kontrollieren konnte.
Was als ein 5 Stunden-Projekt blies bis zu 30 Arbeitsstunden. Die Delta vom Kommunikations Überraschungen ist böse.
Basis Marktmechanik: Manchmal erhalten wir Fragen, wenn der Gewerbetreibende sollte die Antwort wissen. Eine gemeinsame Trader-induzierte Frage, die wir erhalten, fragt, warum Trades plötzlich nahe am Markt. Händler sollten ausreichende Kenntnisse und Erfahrungen verfügen, um solche grundlegenden Probleme zu vermeiden.
Das Delta zu diesen Themen variiert, aber sie sind nicht so streng wie Kommunikationsprobleme. Sie können überall aus zu gehen 20 Minuten verbrachte die Erforschung der Frage zu mehreren Stunden.
Dinge, die rechts in einem Programmierprojekt gehen
- Geben Sie Code auf Zeit. Die Zeitbedarf für die termingerechte Lieferung sind die einfachste, vorherzusagen,. Projekte beginnen mit einem Ziel. Der Codierer hat eine gute Idee für die Höhe der Zeit benötigt, um eine funktionierende Version zu bauen.
Ich sehe dies als analog zu einer Flugbesatzung Ankunft auf Zeit. Die Bar ist ziemlich niedrig hier. - Der Code funktioniert fehlerfrei das erste Mal, – kein Zweifel, hier ist Ihre erste Reaktion, “Das ist so, wie es sein sollte!”. Es ist sicherlich die Art und Weise, die ich möchte es sein,, aber es häufig nicht, dass das so.
Die meisten Software-Probleme resultieren aus Kommunikations. Wenn wir einen Arbeitsumfang und das Programm ein Fachberaterin, wir glauben, dass wir die Anforderungen vollständig verstehen,.Es stellt sich heraus, daß oft einige der Anforderungen nicht mitgeteilt. Das Produkt buchstäblich folgt der Reihenfolge. Es ist nur bei der Anzeige das Handwerk in den Markt eintreten, dass der Client erkennt, dass sie sich nicht um etwas bitten – genau wie der Client, der noch nicht erledigten Aufträge anstelle von Market Orders wollte. Sie irrtümlicherweise wurde verstanden, wenn es nicht. Die Erfahrung des Sehens die fehlenden Features ist der einzige Weg, der Benutzer erkennt die Aufsichts.
- Behandeln Menschen gut – Die Programmierung ist eine Dienstleistung, aber niemand will, um wie die Person sich auf das andere Ende kümmert sich nur um Geld. Ich sorge mich wirklich über die Gestaltung von Handelssystemen und den Menschen hilft,. Wenn ein Kunde macht Geschäfte mit OneStepRemoved, Ich will, dass sie besser und für den Handel kennt dass wir über ihre langfristigen Erfolg Pflege.
Sie können jederzeit per E-Mail mich persönlich, wenn Sie denken, Sie haben auf andere Weise behandelt worden.
Welche Art von überrascht, haben Sie mit bei der Programmierung Ihrer Trading Roboter behandelt? Teile deine Erfahrungen in den Kommentaren unten.
Scott sagt
In den frühen Entwicklungsstadien, immer die Flexibilität (Code-weise) zur Erweiterung der Konzepte, wie Sie mehr Wissen / Erfahrungen zu sammeln. Ein gutes Beispiel ist die Bereitstellung für mehrere Zeitrahmen Fähigkeit.
Wie oft haben wir erforderlich, um den Umbau “Ader” Aspekte der Code für tiefer gehende Behandlung des Generalthema ermöglichen?
Shaun-Overton sagt
Gut gesagt!