Software (allgemein)

      Für R-Liebhaber gibt es seit einiger Zeit eine bedeutend komfortablere Entwicklungsumgebung als die old-school-Variante RGui von der R-Mainwebsite. Mit der Dank Qt erheblich aufgehübschten IDE RStudio kann man jetzt auch recht komfortabel ein Notebook-Interface (mixed-text/mixed-code) benutzen und aus diesem per Knopfdruck auch Html exportieren inklusive der erstellten Grafiken und anderer R-Berechnungsergebnisse. Alternativ bleibt aber das einfache Scripting erhalten. RStudio gibt es u.a. in einer kostenlosen Opensource-Variante zum Download, die für den normalen Alltagsgebrauch völlig ausreichend ist. Zum Erstellen eigener statistischer Auswertungen inkl. recht schicker Reports ist das eine im Vergleich zu Mathematica (wo ich diese Notebooks wirklich schätzen gelernt habe, um Ordnung ins Chaos zu bekommen) kostengünstige Variante.
      Das Hamsterrad sieht nur von innen aus wie eine Karriereleiter.
      Ich kann Electron generell empfehlen für einfache Desktop-Anwendungen. Inklusive Multiplattformfähigkeit ist auch die Programmierung recht einfach, da Electron um den mitgelieferten Chromiumbrowser ein Desktopfenster wickelt, in welches man über die Programmiersprache Javascript eine normale Html-Datei lädt (standardmäßig index.html). Und der Rest besteht aus normaler Webseitenprogrammierung via Javascript/Html/Css allerdings mit zusätzlichen Möglichkeiten von Javascript, die man im normalen Browser aus Sicherheitsgründen nicht hat.
      Das Hamsterrad sieht nur von innen aus wie eine Karriereleiter.

      Editoren basierend auf Electron

      Zur Erwähnung des neuen Git-Clienten von GitHub in meinem vorigen Post passen für manchen Interessierten vielleicht einige Anmerkungen zu den ebenfalls mit dem Electron-Framework erstellten Editoren Atom von GitHub und Visual Studio Code von Microsoft.

      Obwohl beide Editoren auf der gleichen Technologie basieren, wirkt Visual Studio Code von Microsoft fühlbar schneller. Es ist gut gelungen und für Microsoft-Verhältnisse erstaunlich sogar Open Source.

      Natürlich ist für diejenigen, die nur MQL-Quelltext editieren wollen, die ebenfalls gute, bereits im MetaTrader integierte Entwicklungsumgebung ausreichend. Allen anderen, die noch einen benutzerfreundlichen Editor suchen, sei ein Blick auf Visual Studio Code ausdrücklich empfohlen. Mit IntelliSense und der Möglichkeit integriert zu debuggen, werden für einen Editor schon recht ordentliche Funktionalitäten angeboten. Diese sind durchaus erkennbar dem größeren Entwickler-Paket Visual Studio nachempfunden, wobei die hohe Namensähnlichkeit aber ansonsten kaum Bezug zur internen technologischen Vergleichbarkeit hat, denn die benutzten Technologien sind trotz ähnlichem äußerem Erscheinungsbild völlig verschieden.

      Für diesen Editor gibt es für zig Anwendungsfälle und Sprachen Plugins, um wirklich komfortabel arbeiten zu können. Ich selber nutze wegen der damit sehr hohen erreichbaren Produktivität vorrangig den vim, sowohl unter Windows als auch unter Cygwin und Linux und stelle erfreut fest, dass es für Visual Studio Code auch ein Vim-Plugin (und andere Plugins zur Emulation weiterer gängiger Editoren) gibt, so dass man bei den Tasten-Kombinationen nicht alles mühevoll neu erlernen muss.

      Für die Entwicklung serverseitigen Javascripts mit node.js und den zahlreichen darauf basierenden Frameworks könnte Visual Studio Code sogar eines der Tools der ersten Wahl sein.

      Auch wenn die nur geringfügige Anwendung von Javascript in der DEGIRO API eine sehr einfache Entwicklungsaufgabe ist, die kaum spezielle Werkzeuge nötig macht, kann dieser Editor natürlich auch dort gut passen.
      @ Krümel

      Wenn Du mal genug Zeit und Lust haben solltest, würde ich mich freuen, wenn Du eine Art Praxis-Review zu Deinen Ada-Erfahrungen machen könntest.

      Auch auf die Gefahr hin, mich als ignorant, inkompetent oder Friemel-süchtig mit Stümper-Tools zu outen, habe ich bisher Ada eher als Rand-Erscheinung wahrgenommen, bei der nicht mal der mächtige militärisch-industrielle Komplex es schaffte, seine Kopf-Geburt anderen Leuten rein zu drücken, obwohl er es in seinen Ausschreibungs-Vorschriften und mit überbordender finanzieller Macht eigentlich relativ klar versucht.

      Irgendwie hatte ich das immer mit der Monströsität von Projekten, die ein voll ausgebautes V-Modell erfordern und unter hoch-bürokratischer Kontrolle stehen, in Verbindung gebracht.
      Eine wie ich finde sehr interessante Alternative für Fans des Mathematica-Notebook-Formats nennt sich jupyter.org/ und bietet aktuell bereits die Möglichkeit, mit Sprachen wie R, Python, Ruby, Haskell, Scala in interaktiven Notebooks zu arbeiten. Man kann sich auch auf dem heimischen Server einen eigenen Notebook-Server aufsetzen.

      Nach dem letzten Wochenende und diversen Compile-Versuchen verschiedenster Gems für Ruby unter Windows 7 sowie wxWidgets (wollte ich als GUI-Toolkit an OCaml hängen) unter Cygwin und Mingw kann ich aber nur empfehlen, sich möglichst von Anfang an für eine Linuxdistribution zu entscheiden, auch wenn man nur mal "was schnell ausprobieren will". Letzteres klappt meist nicht so gut, wenn man eher linux/unix-basierte Tools unter Windows einsetzen will, v.a. wenn man sie zuvor noch kompilieren muss.

      Nach den letzten Entwicklungen von Microsoft und Co - Apple ist für mich keine Alternative, sondern nur der passende Teufel zum Belzebub - bin ich auch gerade massiv dabei, die komplette Infrastruktur mittelfristig auf Linux umzustellen und untersuche daher verschiedene "Microsoft-neutrale" Varianten wie Ruby-on-Rails (Web-Frame-Work für Ruby), Jupyter (webbasierter Notebook-Server für div. Skriptsprachen), GTK-Server (streambasiertes, sprachunabhängiges Interface für die GTK-GUI), Glade (GUI-Builder für GTK mit XML-Output), Gnuplot (Möglichkeit zum Einbinden der Erstellung unterschiedlichster Plots in eigene Programme, z.B. Ruby). Da hat sich erstaunlich viel in den letzten Jahren getan und als Fazit bleibt, dass ich sogar auf Mathematica verzichten könnte, denn mich nervt an Mathematica erheblich die Lizenzpolitik und die Performance im Frontend bei größeren Notebook-Dateien. :cursing:

      Ich habe auch diverse Programmiersprachen einem Update unterzogen: C/C++,Pascal/Object Pascal, Java, Haskell, OCaml, newLisp, Lisp, Go (Google Eigenbau v.a. für Mobile Geräte im C-Style), Dart (Google-Eigenbau als Ersatz für "Unzulänglichkeiten" von JavaScript), Python, Ruby, F#, C# (Dank dezenter Weiterentwicklung von Mono auch für Linux denkbar). Nach wie vor ist ein Punkt die Größe der jeweiligen Community, denn man hat immer irgendwelche Probleme, die man natürlich versuchen kann selbst zu lösen. Oft geht es aber schneller, zunächst mal nach Lösungen im I-Net zu suchen und sich die Problemlöse-Energie für Dinge aufzusparen, für die man keine I-Net-Lösung findet, die aber dennoch bewältigt werden müssen.
      • Für Haskel und ähnliche Sprachen sieht es leider vergleichsweise mau aus, für OCaml (Foren) sollte man sogar einigermaßen Französisch sprechen, da Inria eine franz. Firma ist, die hinter der OCaml-Entwicklung steht (wenn auch nicht alleinig) und die Franzosen oft nicht sonderlich gern Englisch sprechen - ich erinnere mich in diesem Zusammenhang an Scilab-Dateien mit französischen Kommentaren - mMn ein No-Go in Open-Source-Projekten, wo man will, dass möglichst viele sich international an der Entwicklung beteiligen. :thumbdown:
      • F# hat in den letzten Jahren massiv dazugewonnen, vermutlich auch aufgrund der starken Unterstützung durch Microsoft, ist OCaml recht ähnlich, hat aber eine bedeutend "rundere" Einsatzmöglichkeit, bessere GUI-Anwendung, IDE (Visual Studio), einfache Nutzbarkeit der Dot-Net-Umgebung inkl. Assemblies...
      • Die beiden Google-Eigenentwicklungen (DART und GO) haben v.a. einen Nachteil - GOOGLE. Die Ansätze sind gut, aber die Implementierungen brauchen vermutlich noch ein paar <hier Zeiteinheit eintragen>.
      • Die Pascal-Sprachen hängen heutzutage v.a. an einem Hersteller (Embarcadero, davor Borland), bieten aber Dank einer recht umfangreichen Community um FreePascal und der freien Entwicklungsumgebung Lazarus für FreePascal auch ganz nette Möglichkeiten für plattformunabhängige Programmierung.
      • Python ist sehr stark, aber auch Ruby, was zu meinem Glück auf syntaktische Whitespaces verzichtet ;). Generell sind beide gut nutzbar, finde ich, und sie haben einen großen Vorteil - eine breite interessierte Community und gute Anbindungen an diverse Guis und Tools.
      • Java hängt leider an Oracle - was die aus/mit der Sprache machen, wissen die Götter. Sich derart von einem Hersteller abhängig zu machen ist für mich nicht mehr drin. Zumal Google mit seinem putzigen Eigenbau GWT (Google Web Toolkit) auch noch ein eigenes "Java" unters Volk wirft, was aber bei weitem nicht die Leistungsfähigkeit des "echten" Javas beinhaltet.
      • newLisp als lisp-ähnliches Skriptsprache ist nicht uninteressant, nutzt aber leider Java 1.5 als GUI und meine Meinung zu Java hab ich ja schon kundgetan. Für reine Lisp-Umgebungen (Lispworks, Franz Lisp,...) muss man leider etwas mehr Geld ausgeben und macht sich wieder hersteller-abhängig :( .
      • C# ist eine schöne Programmiersprache und auch recht empfehlenswert, wäre da nicht die vermaledeite Entwicklung von Microsoft zu einem "Software-As-A-Service"-Anbieter, neudeutsch für Selbstbedienungsladen..... *grusel*. Irgendwie ist das alles nicht mehr meins und ich habe den Eindruck eines starken Kontrollverlustes, der mich aber zum Glück den Allerwertesten hochkriegen lässt, um der Mausefalle zu entkommen, in die ich zunehmend Dank viel leckerem Käse und Bequemlichkeit seitens Anbietern wie Microsoft und Apple in den letzten Jahren gelockt wurde.
      • JavaScript selbst als die "Zukunft" im Rahmen von HTML5 ist eigentlich ganz ok. Seit einiger Zeit gibt es ja mit Emscripted auch die Möglichkeit, C/C++-Code nach JavaScript (AMS) zu transformieren, was u.a. zu einem Wiederaufleben längst totgehoffter Uralt-Games im I-Net geführt hat. Ältere Geräte wie mein Ipad 1 + Safari (Danke Apple fürs Updates-Einstellen ^^) brechen bei den Seiten aber reproduzierbar zusammen, so dass ich keine Lust mehr hatte, mir das näher anzuschauen. Es werden von Emscripted aber mittlerweile auch andere Programmiersprachen zur Übersetzung nach JavaScript angeboten, Voraussetzung: man benutzt keine closed Fremdbibliotheken.
      • PHP/Perl hab ich früher schon für Webprogrammierung eingesetzt, aber ab einer gewissen Code-Menge wächst einem das über den Kopf, für kleinere Projekte kann man aber gut damit arbeiten. Als Shellsprache hat sich Perl auch bewährt, wird aber wohl zunehmend auch abgelöst von Python, Ruby u.ä.
      • TCL/TK ist immernoch plattformunabhängig unterwegs, TK als Gui-Toolkit kann auch relativ einfach an andere Sprachen rangebastelt werden (z.B. Ruby), TCL ist für kleinere Programme auch sehr nett, für sehr große Datenmengen wirds aber eklig mit dem Speicher.
      • C/C++ (C++ war meine erste Programmiersprache) ist nach wie vor eine gute solide Variante für performante Programme (OCaml ist die einzige Sprache, die da in etwa rankommt und z.B. von Bloomberg zum Untersuchen von Datenstreams eingesetzt wird).
      Aber es stellt sich natürlich immer die Frage: wie performant brauch' ich's denn überhaupt, und macht es nicht eher Sinn, auf möglichst stabile und schnelle Ergebnisse zu setzen und erst bei störenden Bottlenecks die entsprechenden Teile in C zu schreiben und einzubinden - eine Möglichkeit, die bei den meisten Programmiersprachen vorhanden ist. Dank Tools wie GTK-Server und Glade steht dasselbe Gui-Toolkit für verschiedendste Sprachen zur Verfügung und last but not least wird vermutlich irgendwann ein Großteil der Software nur noch im Browser laufen (Html5), so dass die Bedeutung des darunterliegenden Betriebssystems verschwindend gering ist.

      Einige Tradingsoftware-Anbieter setzen ja auch schon darauf und bieten parallel zu einem Standalone-Programm (Interactive Brokers mit der TWS in Java, Saxo Bank mit dem Saxotrader in C#) auch Web-Interfaces an, die zwar bei IB z.B. bei weitem noch nicht den Umfang des Vollprogrammes haben,... aber in die Richtung wird es vermutlich weiterlaufen. Ich habe mich daher auch für diese Richtung entschieden nach Sichtung der aktuellen "Befundlage", die natürlich nicht vollständig ist und zum Teil auch von einigen Wutanfällen unterbrochen sowie von diesen in spontane Richtungen gelenkt wurde. Ich bin letztlich bei Ruby (Einbindung von Glade und Gnuplot), Ruby-on-Rails fürs (Intra)Web, C für Performanceboost im Notfall und einem wachen Auge auf Jupyter/Iruby hängengeblieben. Ich hab diese Teile in akzeptabler Zeit auch unter Windows zum Laufen bekommen, sie sind aber Microsoft-neutral, was mich etwas entspannter in die Zukunft schauen lässt. :)
      Das Hamsterrad sieht nur von innen aus wie eine Karriereleiter.
      Deswegen und seit langer Zeit laufen bei mir nur Linux Rechner die lassen sich auch recht gut verschlüsseln. Aber auch hier muss man aufpassen sicher ist man auch in der Open Source Welt nicht SELinux ist beispielsweise von der NSA mit Entwickelt worden, also benutze ich keine Distributionen die dies im Kernel nutzen.

      Aber was zum Thema Microsoft noch ich finde die geschichte mit dem Secure-Boot das von Windows 10 gefordert wird echt eine Oberfrechheit. Warum die das haben wollen kann man sich ja denken.

      Ich kann und würde jedem Empfehlen sich Linux oder BSD einfach mal anzusehen und zu versuchen. Das tut nicht weh und Live CD/DVD´s machen es einem Leicht ohne jede Installation mal rein zu schnuppern.

      Boykottiert die Super-Wanze des Spitzel-Verbrechertums!

      Vor einem vorschnellen Update auf Windows 10, welches der mittlerweile trotz noch hoher Marktmacht schon in beginnender Erosion befindliche Konzern ganz sicher nicht aus reiner Menschenfreundlichkeit "verschenkt", sei dringend gewarnt. Neben vielen anderen (teils deutlich weiter in die Tiefe gehenden und noch diverse weitere Windows-10-Total-Wanzen-Aspekte behandelnden) Artikeln gibt dazu u. a. einer von Netzpolitik.org (Kryptographie, Open Source und Gesellschaft) einiges Grundsätzliches zu bedenken. Zu einigen, in ihrer Vielfalt für einen Durchschnittsnutzer kaum zu überblickenden Details der Wanze Windows 10 habe ich stellvertretend für viele ähnliche mal diesen Artikel verlinkt: Überwachung bis zum letzten Klick der Verbraucherzentrale.

      Microsoft war und ist nie der Freund der Computer-Nutzer gewesen, sondern ein besonders aggressiv agierender, besonders raffgieriger und in der Regel die Nutzer-Interessen mit Füßen tretender Konzern und eine der Speer-Spitzen des Systems zur knallharten Durchsetzung der Interessen der US-Hochfinanz. Hier (wie bei anderen Internet-Konzernen vom Typ Stasi 4.0) ist es zwischen sattem Geldverdienen (das machen die nämlich selber, während viele andere Folter-Werkzeuge des Staates aus den Bürgern abgepressten Steuern bezahlt werden müssen) mit brutalen Machtinteressen zu einer ganz besonders üblen Synergie gekommen.

      Microsoft ist ein Feind seiner Nutzer, nicht nur durch dessen übermäßige finanzielle Ausplünderung und dem Nutzer die Arbeit erschwerenden Lizenz-Schikane-Mechanismen sondern nunmehr endgültig auch als Total-Überwachungs-Tool als dauerhaft präsente unsichtbare Macht.
      Tradingjournal

      wollte keinen extra Thread aufmachen.

      Bin auf der Suche nach einen Tradingjournal ( soll auf dem PC laufen ). Auch kostenpflichtig, wenn es nichts kostet auch o.k. :D
      Muss nichts grosses, ausführliches sein.
      Nur das übliche, entry - exit - stopp - Gewinn - Verlust - Gebühren - Chart einfügen - Text - usw.
      Wer Rechtschreibfehler in meinen Beiträgen findet, darf sie gerne behalten!
      candletrading.de/blog/category/tradingblogs/harley-fgbl/

      Notiz-Programm

      Ich suche so eine Art Notizblock-Programm. Das Ganze sollte sehr einfach zu handhaben sein und vielleicht eine On-Top Funktion haben.

      Ich brauche das Programm hauptsächlich für schnelle Eintragungen, wie zB. „EURO interessant am Wk“ etc.

      Benutzt jemand von euch derartiges oder kann eine Empfehlung machen?

      Management von Passworten mit KeePass

      Das Lesen eines heute neu aufgetauchten kryptischen Alias erinnerte mich an die sehr praktische Software KeePass (Wikipedia: Keepass, Homepage: keepass.info) zum Managen von Passworten, die als sehr praktisch jedermann zur Nutzung empfohlen werden kann.

      Dort kann zum automatischen Generieren von wenigstens halbwegs lesbaren (aber trotzdem sicheren) oder bestimmten Policies entsprechenden Passworten auch ganz einfach ein Muster vorgegeben werden. Da kann dann z. B. so etwas abgefordert werden wie '895-Ukoxos-Vicafa-Avotun-Widice', was selbst beim manuellen Übertragen auf ein anderes Gerät noch ohne zig Fehler eintippbar ist.

      Desktop-Tool

      Wenn man es schön ordentlich und übersichtlich an seinen Arbeitsplatz haben möchte. :D
      WinSplit Revolution ist ein Tool, welches das saubere Anordnen von mehreren offenen Fenstern auf dem Monitor, per Alt-TAB und Ziffernblock, erlaubt. Daduch entfällt das lästige Zoomen und die Hin- und Herschieberei von Charfenstern wie zB. bei Oanda. Programm ist auch Multi-Monitorfähig. Ich finde es recht brauchbar.

      Gruß Bill
      Alles sollte so einfach wie möglich sein - aber nicht einfacher. Albert Einstein
      Unabhängig vom Agena-Trader (der in meiner Sandbox auch nicht installieren wollte) - du wirst dich darauf einstellen müssen, dass immer mehr Software in Sprachen mit JIT-Compilern geschrieben wird/werden wird.

      C# oder Java selbst sind nicht langsam, mehr oder weniger schon gleichauf mit C++. In Teilbereichen langsamer, in anderen schneller. Der JIT ist mittlerweile relativ clever, und mit on-the-fly CPU Optimierungen und Ähnlichem kann statisch compilierter nativer Code manchesmal nicht mithalten. Bei den Performance-Unterschieden geht es aber nicht mehr um Grössenordungen - für 99% der Anwendungen ist das vernachlässigbar.

      Die Sprachen selbst sind auch nicht groß. Die Frameworks natürlich schon.

      Man kann in allen Sprachen guten oder schlechten Code schreiben, und in den meisten auch einigermaßen schnellen. Das Trading-Software oft schlechte Qualität hat, würde ich nicht unbedingt einer Programmiersprache in die Schuhe schieben. Das fängt schon beim UI-Design an - die meisten Order-Eingabe-Masken sind derartig grottig, ich frag mich da oft, wie man überhaupt auf die Idee kommt..
      Wieso sollte man die Hardware wechseln oder sich gar verausgaben nur einer Software zuliebe? Das Argument greift m.M.n. nach nicht. Das macht eigentlich keinen Sinn in meinen Augen. Der Unterschied zu Konkurrenzlösungen im selben Segment, und die im Umfang womöglich noch das Selbe oder mehr bieten, bleibt doch weiter bestehen, da letztere in Sachen Perfomance den Hardwarevorteil auch nutzen können. Wenn der Unterschied zweier Produkte bei bspw. Faktor 10 liegt, dann liegt er auch bei ähnlichem Faktor im neuen System. Wieso sollte man sich einer Software anpassen und hinterherrennen, anstatt dessen die Softwareentwickler einen besseren Job machen würden? Der Kunde hat eher die Freiheit adieu zu sagen, als einem gar noch überteuerten Fehlprodukt weiteres bad Money hinterherzuwerfen. Ich vergleiche das mal mit durch Nachkaufaktionen ins fallende Messer greifen anstatt einen Schlussstrich zu ziehen. Wieso sollte man einem Softwarehersteller hinterherfallen, wenn seine Technologie im Vergleich rückständig ist und das Softwareverhalten unabhängig vom System Frustration erzeugt? Wo ist da der Edge? Und wieso sollte man einer Software, die sich tief ins System gräbt, gar noch schlecht deinstallieren lässt, tausende Überbleibsel nach Entfernung zurücklässt und für Instabilitäten sorgt sein OK geben? Eine Software muss faszinieren und systemunabhängig reibungslos funktionieren, um in die Kategorie Topprodukt aufgenommen zu werden (jedenfalls wenn es nach mir ginge).