Jump to content
Tom Next - Daytrading Community

Automatischer Handel: Die Möglichkeiten


Rumpel

Recommended Posts

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 ;-)

Edited by systemtrader
Link to comment
Share on other sites

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.

  • Upvote 8
Link to comment
Share on other sites

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;

   }

Edited by systemtrader
  • Upvote 8
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...