Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Automatischer Handel: Die Möglichkeiten

Geschrieben

Hey Followers,

ich habe es ebend im JForex-Optmierungs-Thread von Ecart gesehen. Ich weis nicht welcher User da von was auch immer geritten wurde aber auf einmal ging es sehr rau zu. Ich möchte mich da jetzt überhaupt nicht zu äussern, weil das würde mein folgendes Vorhaben zerstören. Ich würde, natürlich mit eurer Hilfe, eine Sammlung erstellen wollen zu den verschiedenen "Schienen" im automatischen Handel.

 

Es gibt mittlerweile sehr viele Broker mit den verschiedensten handelbaren Werten, viele verschiedene Plattformen und viele verschieden Code-Sprachen. Man hat relativ freie Wahl beim ersten Mal. Wenn man sich aber erstmal für eine Plattform, eine Sprache oder einen Broker entschieden hat ist man erstmal relativ in einer "Schiene" drinn. Weil ein Wechsel dann schwer fällt. Zum Beispiel weil man MQL gelernt hat und dann nicht einfach von heut auf morgen auf C umsteigen kann.

( Ja, wer MQL gelernt hat wird auch C nach ein wenig Einarbeitung hinbekommen, ich möchte mich hier überhaupt nicht streiten. )

 

Im Vordergrund stehen die Plattformen, und die Sprachen, nicht die Machenschafften der Broker. Ich will dabei sehr auf eine unbewertete Sammlung hinaus. Das JForex auf Java läuft ist wissenswert, ob Java nun toll ist oder nicht - das muss am Ende jeder selbst entscheiden. Aber so würde man einen Blick dafür bekommen bei welchem Broker man sich auf welche Gegebenheiten einlässt und auf welcher "Schiene" man in der Zukunft fährt, oder fahren "muss".

 

Vielleicht wäre das ja mal eine gute Idee. Dachte ich mir gerade so im Vorbeigehen ..

 

Viele Grüße,

Rumpelstilzchen

  • Antworten 54
  • Aufrufe 12,5Tsd
  • Erstellt
  • Letzte Antwort

Top-Benutzer in diesem Thema

Most Popular Posts

  • Fullstop!   @ joshsmi - wie lange willst Du noch ein Deiner Demontage arbeiten? Ein kluger Kopf und trotzdem bekommst Du nicht mehr einen Fuß vor den Anderen. Wo bitte bleibt Dein Respekt vor den Mitg

  • systemtrader
    systemtrader

    Hallo   Damit man sich grob vorstellen kann wie ein in C++ geschriebenes System zum Backtest Zweck aussehen kann hier mal ein kleiner Code dazu. Man erkennt auf dem ersten Blick das es etwas Komplexe

  • @joshmi Ach, die Qualitätssicherung ist wieder da ! Hatten wir das nicht schon mal in einem anderen Thread ?   Wenn du das Post konzentriert lesen würdest, und nicht nur blind Amibroker verteidigend,

Veröffentlichte Bilder

Featured Replies

Geschrieben

Mit Amibroker kann man keine Tickdaten verwenden und deshalb keine "tickgenauen Backtests" duchführen? "Simulierte Ticks"? Wie bitte? Seit wann denn das? Kannst du mir erklären, was dann das da unten im Anhang ist (Tickdatenbank nicht auf aktuellstem Stand, wer sich am Datum reibt)? Einen solchen auf Halbwissen aufbauenden Unsinn habe ich schon lang nicht mehr gelesen. Da helfen auch keine ...., vier, fünf, sechs, sieben, ... Ausrufungszeichen und zig Rechtschreibfehler, um Unwahrheiten seriöser wirken zu lassen. Besser wäre es, die Hilfe und sonstige Quellen genauer zu lesen, anstatt solche Misinformationen zu verbreiten. Auf der anderen Seite bezweifle ich stark, dass deine Anwendung leistungsgmäßig und genau arbeitend auch nur annähernd an bereits vorhandene Applikationen geschweige denn an die Fähigkeiten und den Umfang von bspw. Amibroker herankommt. Das macht man nicht einfach mal so nebenbei, sondern das ist ein langwieriger, zeitaufwendiger Entwicklungsprozess, um dorthin zu kommen. Zeige doch bitte mal, was du selber unter tickgenauen Backtests mit Bid-, Asktickdaten u.S. verstehst. Am besten mit deiner eigenentwickelten angeblichen "eierlegenden Wollmilchsau". Vielleicht in einem anderen Thread, da wohl hier eher off-topic.

 

Auf solche unfreundliche Antworten gehe ich mal gar nicht groß ein nur mal soviel.

 

Sicher kommen Eigenentwicklungen nicht vom Umfang her an den großen Tools ran schöne Charts alleine sind schon eine sehr große Aufgabe, ich könnte eine solche Plattform ganz ehrlich auch nicht Entwickeln da es viel zu umfangreich und deutlich mehr können abverlangt.

 

Und ja Amibroker kann Ticks verarbeiten habe nie was anderes behauptet, es bezog sich auf MT4/5!!!!!!!!!!!!!!!!!!!!!!

 

zu dem

Einen solchen auf Halbwissen aufbauenden Unsinn habe ich schon lang nicht mehr gelesen. Da helfen auch keine ...., vier, fünf, sechs, sieben, ... Ausrufungszeichen und zig Rechtschreibfehler, um Unwahrheiten seriöser wirken zu lassen.

 

Das ist schon ein Starkes Stück Frechheit!!!!!

 

Auch habe ich nie behauptet eine vollwertiges Trading Applikation Entwickelt zu haben sondern nur das ich meine Backtest selber in C++ schreibe und auch Teilweise damit Handel.

So weit ich weiß geht es hier in diesem Thread nur um entsprechende Möglichkeiten das ist eine fertig.

 

Du bist der Meinung das C/C++ weniger leistungsfähig ist wie die schönen anderen Programme dann frage ich mich mal wie weit es mit deinem Wissen bestellt ist.

 

Die Rechtschreibung ist nicht die allerbeste dafür Entschuldige ich mich natürlich ;-)

Bearbeitet von systemtrader

Geschrieben

Fullstop!

 

@ joshsmi - wie lange willst Du noch ein Deiner Demontage arbeiten?

Ein kluger Kopf und trotzdem bekommst Du nicht mehr einen Fuß vor den Anderen.

Wo bitte bleibt Dein Respekt vor den Mitgliedern und vor allem vor dem Gastgeber?

Hallo - willst Du so angesprochen werden?

Was soll diese Shayze Disserei hier?

Es muss irgendwas mit Amibroker zu tun haben. Aber heh, was glaubst Du erreichst wohl mit der Aktion bzw. willst Du erreichen?

Um die N#1 der Unsympathen zu werden? Das kann ich mir nicht vorstellen.

 

Du bist Lobbyist, aber wofür? Für schlechte Manieren und Respektlosigkeit habe ich kein Verständnis.

Ich falle vom Glauben ab, jetzt muss ich wirklich über disziplinarische Maßnahmen nachdenken? HALLO?

 

Also: Chance gibt es eine letzte. Ich erneuere mein Angebot von hier. Folgt ein weiterer Ausraster dieser Art, war es das.

 

Mir bleibt dann nichts anderes übrig als das Verhalten so zu interpretieren, dass eine Eskalation gewünscht ist. Von Dir - von mir nicht.

Um weiteren Schaden von der Community fernzuhalten, werden wir entsprechend reagieren.

Geschrieben

Hallo

 

Damit man sich grob vorstellen kann wie ein in C++ geschriebenes System zum Backtest Zweck aussehen kann hier mal ein kleiner Code dazu.

Man erkennt auf dem ersten Blick das es etwas Komplexer ist aber nicht unmöglich und auch nicht untragbar schwer ist denke ich.

 

Das System kann auf 2 Wege getestet werden.

 

1,) Einfacher Backtest mit Festen Werten für Indikatoren und co.

 

2,) Monte-Carlo bzw Backtest mit Radom werten dessen Ergebnisse am ende mittels einer einfacher Fitness Auswertung bewertet und ausgeben wird. Alleine hier hat man sehr interessante Möglichkeiten eigene Optimierungs Methoden zu nutzen die viele Trading Tools nicht bieten.

 

//--------------------------------------------------------------------------------------------------
       //------------------------------------------------------------------------------------------------
       //------------------------ Trading bzw das eigentliche Handelssystem -----------------------------
       //------------------------------------------------------------------------------------------------
       //------------------------------------------------------------------------------------------------

       DayCount += 1;
       //--- Long Entry ---
       if(Close > highesthigh && EnableLong == 0 && DayCount > 1)
       {
           EntryLong = Close;
           AnzahlLong += 1;
           EnableLong = 1;
           Richtung = "Long";
           BarNumber = DayCount;
       }

       //--- Short Entry ---
       if(Close < lowestlow && EnableShort == 0 && DayCount > 1)
       {
           EntryShort = Close;
           AnzahlShort += 1;
           EnableShort = 1;
           Richtung = "Short";
           BarNumber = DayCount;
       }

       //--- Exitlong ---
       if(EnableLong == 1 && Close < stoplong)
       {
           ExitLong = Close;
           GUV = Close - EntryLong - Spread;
           GUVGesamt = GUVGesamt + GUV;
           eineAuswertung.setGUVL(indexguvl,GUV);
           eineAuswertung.setGUVGesamt(indexguvgesamt,GUVGesamt);
           indexguvl += 1;
           indexguvgesamt += 1;
           EnableLong = 0;
           if(ReportErzeugen == 1)
           {
               eineAuswertung.Auswertung_htm_Rumpf(Datum,EntryLong,ExitLong,Richtung,GUV);
           }
       }


       //--- Exitshort ---
       if(EnableShort == 1 && Close > stopshort)
       {
           ExitShort = Close;
           GUV = EntryShort - Close - Spread;
           GUVGesamt = GUVGesamt + GUV;
           eineAuswertung.setGUVS(indexguvs,GUV);
           eineAuswertung.setGUVGesamt(indexguvgesamt,GUVGesamt);
           indexguvs += 1;
           indexguvgesamt += 1;
           EnableShort = 0;
           if(ReportErzeugen == 1)
           {
               eineAuswertung.Auswertung_htm_Rumpf(Datum,EntryShort,ExitShort,Richtung,GUV);
           }
       }


   }

   //------------------------------------------------------------------------------------------------
   //------------------------------------------------------------------------------------------------
   //------------------------Monte Carlo Opti mit Simple Fitniss Test -------------------------------
   //------------------------------------------------------------------------------------------------
   //------------------------------------------------------------------------------------------------
   //cout << "System Ende "<<endl;
   //Fitniss Fuktion einbauen
   eineAuswertung.Fitniss(indexguvl,indexguvs,indexguvgesamt);
   TotalTradesNeu = eineAuswertung.getTotalTrades();
   ProfitFaktorNeu = eineAuswertung.getProfitFaktor();
   MaxDDNeu = eineAuswertung.getMaxDD();
   GrossProfitNeu = eineAuswertung.getGrossProfit();
   //cout << "MCLopp " << MCLoop << "Totaltrade = "<<TotalTradesNeu << "Profit Faktor "<< ProfitFaktorNeu << "MaxDD " << MaxDDNeu << endl;
   //Bewerten wenn MC > 1
   if(MCLoop > 1)
   {
       if(GrossProfitNeu > GrossProfitAlt)
       {
           Fitniss += 1;
       }
       else
       {
           Fitniss -= 1;
       }
       if(TotalTradesNeu > 80 && TotalTradesNeu < 200)
       {
           Fitniss += 1;
       }
       else
       {
           Fitniss -= 1;
       }
       if(ProfitFaktorNeu > ProfitFaktorAlt)
       {
           Fitniss += 1;
       }
       else
       {
           Fitniss -= 1;
       }
       if(MaxDDNeu < MaxDDAlt)
       {
           Fitniss += 1;
       }
       else
       {
           Fitniss -= 1;
       }
       if(ProfitFaktorNeu > ProfitFaktorAlt && Fitniss == 3)
       {
           if(MaxDDNeu < MaxDDAlt / 100 * 120)
           {
               Fitniss += 1;
           }
       }
       if(GrossProfitNeu < GrossProfitAlt && ProfitFaktorNeu > ProfitFaktorAlt)
       {
           Fitniss += 1;
       }
       if(Fitniss >= 4)
       {
           TotalTradesAlt = TotalTradesNeu;
           ProfitFaktorAlt = ProfitFaktorNeu;
           MaxDDAlt = MaxDDNeu;
           GrossProfitAlt = GrossProfitNeu;

           cout << "*******************************************************"<<endl<<"*"<<endl;
           cout << "* besseres gefunden !!!!!!!!!!!!!!!"<<endl<<"*"<<endl;
           cout << "* peins = "<<PeriodeHH << " pzwei = " << PeriodeLL << " pdrei = " << PeriodeSL << " pvier = "<< PeriodeSS <<endl<<"*"<<endl;
           cout << "* Profit Faktor = "<< ProfitFaktorNeu <<endl<<"*"<<endl;
           cout << "* TotalTrades = "<<TotalTradesNeu << endl<<"*"<<endl;
           cout << "* Gross Profit = "<<GrossProfitNeu << endl<<"*"<<endl;
           cout << "*******************************************************"<<endl<<endl;
           Fitniss = 0;
           sleep(1);
       }
   }
   else
   {
       TotalTradesAlt = TotalTradesNeu;
       ProfitFaktorAlt = ProfitFaktorNeu;
       MaxDDAlt = MaxDDNeu;

   }

Bearbeitet von systemtrader

Geschrieben

Wenn man diesen Test gemacht hat bekommt man auch eine Auswertung im MT4 Still ;-) Die Bilder sind allerdings schon älter die Neue Version sieht besser aus und ist Bug bereinigt.

 

bsp-graf.png

bsp-trades.png

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.