Inhalte aufrufen

  • Über Facebook anmelden Über Twitter anmelden Über WindowsLive anmelden Log In with Google Anmelden
  • Mitglied werden
Profilbild

Zorro-Trader

- - - - -

  • Du kannst leider keine neuen Themen eröffnen
  • Please log in to reply
25 Antworten zu diesem Thema

  #1
OFFLINE   PriNova

Hallo Leute,

heute möchte ich euch auf eine freie Handelssoftware aufmerksam machen, auf die ich aus dem 3DGameStudio-Forum gestoßen bin. Das Projekt steckt noch in den Kinderschuhen ist aber jetzt schon voll genialer Möglichkeiten.
Anmerkend steh ich in keinstem Verhältnis zum Ersteller dieser Software um Werbung zu machen, außer das ich in deren Englisch-Deutschen Forum tätig bin.

Zorro-Trader ist eine Software zum programmieren automatischen Strategien auf Basis lite-C. Diese Scriptsprache wird auch im 3DGamestudio verwendet und ist äußerst flexible.

Hier mal einige Features der Software:

Script


  • lite-C, einfache und dennoch leistungsfähige Scriptsprache aus der Spieleprogrammierung.
  • Extrem einfach: Kleine Strategien benötigen nur 5 Zeilen Code.
  • Geschwindigkeit: 3x mal schneller als C#, 40 x mal schneller als MQL4™, 200 x mal schneller als R.
  • Keine Grenzen: Voller Zugriff auf die Windows API und andere API Bibiliotheken.
  • OpenSource: Kann Strategien von externen .dll ausführen.
  • C/C# Syntax für Kombatibilität zum Industriestandard.
  • Syntax Highlighting Script Editor mit Kommandohilfenfenster.
  • Script code kan einfach auf oder von anderen Plattfrormen konvertiert werden.
  • Schritt für Schritt Strategie Workshop.

Strategie und AI


  • Entry limit, stop loss, profit target, profit lock, trailing, timed exit.
  • Benutzerdenifierte Tickbasierende Algorithmen.
  • Separate Parameter für alle Portfolio Komponenten.
  • Synthetische Assets aus einer Kombination echter Assets.
  • 150 Standard Indikatoren für traditionelle Technische Analyse.
  • Highpass, lowpass, bandpass, Gauss, Spearman, und Median Filter.
  • Preiskorrelation und dominante Preiszyklus-Erkennung.
  • Kursmustererkennung (Frechet Algorithmus).
  • Fortgeschrittene Statistik- und Transformationsfunktionen.
  • Lokale Datum/Zeit Functionen für Saisonales oder Gap Trading.
  • String und File Funktionen für Datenimport und -export.
  • Polynom Regression (Polyfit Funktion).
  • Neurales Netzwerk (Perceptron) und Decision Trees.
  • Quellcode der meisten Indikatoren.
  • Zwei Autotrading Strategies mit > 100% Jahresrendite dabei.

Testen und Optimieren


  • In-Sample, Out-Of-Sample, und Walk-Forward Analysen!!!.
  • Portfolio Analyse und Optimierung.
  • Konsistenz-Analyse mit Daten Oversampling.
  • Benutzerdenfinierte Optimierungszielfunktionen.
  • Kursdaten detrenden und invertieren.
  • Erzeugt einen optimalen Kapitalallokationsfaktor.
  • Erzeugt AI-basierende Handelsfilterregeln.
  • Emuliert Slippage, Spread, Rollover und Kommissionen.
  • Automatischer Download und Aktualisierung von Kursdaten.
  • M1 Kursdaten für Hauptwährungen und Indizes dabei.

Output


  • Detailierte Preformancesheet mit individuellem Asset und Algorithmusanalysen.
  • Chartanzeige mit Kurskerzen, Ordern und Balanzekurve.
  • Bar, Linien, oder Bandchart für Indikatoren oder benutzerdefinierte Funktionen.
  • Statistikscharts für Kursprofile, Parameterprofile, oder benutzerdefinierten Statistiken.
  • Handelsstatistiken und Log-Export für z.B. Excel.

Trading Robot Platform


  • Portfoliohandel mit mehreren Instrumenten und allen Zeitfenstern gleichzeitig (Multicurrency, Multitimeframing).
  • Moneymanagement mit OptimalF dynamischer Positionsgröße.
  • Echtzeithandels-Simulation ('Phantom handel') für Equitykurvenhandel.
  • Echzeit Parameter-Justierung durch einstellbare Regler.
  • Echtzeit Parameter-Optimierung ohne Unterbrechnung des Handelsprozesses.
  • Einstieg und Ausstiegsgrenzen durch die Software.
  • Tick-präziser Handels-Management durch Benutzerfunktionen.
  • Offenes API Interface für leichte Implementierung einer Broker API (Quellcode enthalten: FXCM, IB).
  • Freie direkte Verbidung mit dem FXCM Kursserver.
  • Kein High-end hardware benötigt; läuft auf alten PC oder langsamen Notebooks

Ich bin von dem Ding völlig begeister und experimentiere seit Tagen damit rum.
Nochmals angemerkt, ich stelle dies nur aus Eigeninteresse vor und möchte das Ding um einiges Erweitern.
Es wurde z.B auch schon ein Script für das The7 - System erzeugt.

Hier mal ein einfaches Scriptbeispiel einer einfachen Handelsstrategie:

function tradeTrend()
{
    var *Price = series(price());
    var *Trend = series(LowPass(Price,optimize(250,100,1000)));
    Stop = optimize(2,1,10) * ATR(100);
    
    if(strstr(Algo,":L") and valley(Trend)) 
        enterLong();
    else if(strstr(Algo,":S") and peak(Trend)) 
        enterShort();
}


function tradeCounterTrend()
{
    var *Price = series(price());
    var Threshold = optimize(1.0,0.5,2,0.1);
    var *DomPeriod = series(DominantPeriod(Price,30));
    var LowPeriod = LowPass(DomPeriod,500);
    var *HP = series(HighPass(Price,LowPeriod*optimize(1,0.5,2)));
    var *Signal = series(Fisher(HP,500));
    Stop = optimize(2,1,10) * ATR(100);


    if(strstr(Algo,":L") and crossUnder(Signal,-Threshold)) 
        enterLong(); 
    else if(strstr(Algo,":S") and crossOver(Signal,Threshold)) 
        enterShort();
}


function run()
{
    set(PARAMETERS+FACTORS+LOGFILE); // use optimized parameters and reinvestment factors
    BarPeriod = 240;    // 4 hour bars
    LookBack = 500;    // needed for Fisher()
    NumWFOCycles = 8; // activate WFO
    NumBarCycles = 4;    // 4 times oversampling
    
    if(ReTrain) {
        UpdateDays = 30;    // reload new price data from the server every 30 days
        SelectWFO = -1;    // select the last cycle for re-optimization
    }
    
// portfolio loop
    while(asset(loop("EUR/USD","USD/CHF")))
    while(algo(loop("TRND:L","TRND:S","CNTR:L","CNTR:S")))
    {
// set up the optimal margin
        if(Train)
            Lots = 1;
        else if(strstr(Algo,":L") and OptimalFLong > 0) {
            Lots = 1;             
            Margin = clamp((WinLong-LossLong) * OptimalFLong/2, 50, 10000);
        } else if(strstr(Algo,":S") and OptimalFShort > 0) {
            Lots = 1;
            Margin = clamp((WinShort-LossShort) * OptimalFShort/2, 50, 10000);
        } else
            Lots = 0; // switch off trading


        if(strstr(Algo,"TRND")) 
            tradeTrend();
        else if(strstr(Algo,"CNTR")) 
            tradeCounterTrend();
    }
    
    PlotWidth = 1000;
    PlotHeight1 = 320;
}
(Auszug aus dem Workshop Teil 6: Portfolio-Handel)


Damit wird Trendhandel und Countertrendhandel betrieben in verschiedenen Währungen mit Walk-Forward-Optimierung.

Link: Zorro-Trader

Und nochmal zum Mitschreiben, dass ist für LAU, FREE, KOSTENLOS zu erhalten und runter zuladen. Ohne Viren, Malware oder sonstigen Backdoors
  • Divecall und traderdoc gefällt das
Copyright © 2008-2016

Als Nomade quer durch Europa. Bei Interesse auch Hausbesuche 😉

  #2
OFFLINE   oldschuren

Interessante Sache. Naja, aber die FAQs sind schon etwas merkwürdig:

How can a software multiply the money on my bank account?
Which profit can I expect?
How clever is Zorro?
Where does the money come from that I earn with Zorro?

Was ich jetzt auf die schnelle nicht gefunden habe, mit welchen Brokern funktioniert die Software direkt und unterstützt Zorro auch ObjektOrientierteProgrammierung?

  #3
OFFLINE   PriNova

Ganz ehrlich, die FAQs hab ich mir gar nicht angeschaut. Ist halt das typische Geplänkel.

Im Moment gibt es eine API für FXCM und IB. Es wird aber daran gearbeitet weitere Broker zu unterstützen, welche eine API anbieten, bzw. versuch ich selber eine Bridge für MT$ herzustellen.

OOP ansich nicht. Ist eine einfache C-Sprache ohne Klassen, aber mit Structs, Pointers, (Multi-)Arrays, dynamische Memoryallokation etc. etc. und man kann natürlich inkludieren und somit per header andere APIs einbinden.
Copyright © 2008-2016

Als Nomade quer durch Europa. Bei Interesse auch Hausbesuche 😉

  #4
OFFLINE   oldschuren

Danke PriNova, der Sache könnte man mal ne Chance geben. Hab aber selber ne Amibroker-Lizense und würde eher meine Energie darin stecken... Über ne MetaTrader-Bridge habe ich mir auch schon den Kopf zerbrochen. Einfachste Möglichkeit währe ja über ne txt-Datei.

  #5
OFFLINE   PriNova

Ja, genau per .txt, .csv etc., oder aber gleich direkt per Socketanbindung.
Copyright © 2008-2016

Als Nomade quer durch Europa. Bei Interesse auch Hausbesuche 😉

  #6
OFFLINE   Zendo

Eine Alternative zum MT wäre net schlecht ...
Wird aber nur mit mehr Brokern möglich werden.

  #7
OFFLINE   PriNova

Hier mal ein Beispiel einer Konvertierung eines MT$ EA's zum Zorro lite-C Scripting:

// trade when the RSI goes above or below a level
int start()
{
   string algo = "RSI"
   int rsi_period = 12;
   double rsi_buy_level = 75.0;
   double rsi_sell_level = 25.0;
 
// get the rsi value
   double rsi_value = iRSI(Symbol(), Period(), rsi_period, PRICE_CLOSE, 0);
 
// set up stop / profit levels
   int stoploss = 200*Point;
   int takeprofit = 200*Point;
   int magic_number = 12345;
 
// number of open trades for this EA
   int num_long_trades = 0;
   int num_short_trades = 0;
 
// total number of trades for the entire account
   int all_trades = OrdersTotal();
   
// cycle through all open trades
   int i;
   for(i = 0; i < all_trades; i++)
   {
// use OrderSelect to get the info for each trade
     if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == false) 
       continue;
 
// Trades not belonging to our EA are also found, so it's necessary to
// compare the EA magic_number with the order's magic number
     if(magic_number != OrderMagicNumber()) 
       continue;
 
     if(OrderType() == OP_BUY)
     {
// if rsi is below sell level, exit long trades
       if(rsi_value < rsi_sell_level)
         OrderClose(OrderTicket(), OrderLots(), 
           Bid, 3, Green);
       else
// otherwise count the trades
         num_long_trades++;
     }
 
     if(OrderType() == OP_SELL)
     {
// if rsi is above buy level, exit short trades 
       if(rsi_value > rsi_buy_level))
         OrderClose(OrderTicket(), OrderLots(), 
           Ask, 3, Green);
       else
// otherwise count the trades
         num_short_trades++;
     }
   }
 
// if rsi is above buy level, enter long 
   if((rsi_value > rsi_buy_level) 
     && (num_long_trades == 0)) {
     OrderSend(Symbol(), OP_BUY, 
       1.0, Ask, 3,
       Ask - stoploss, Bid + takeprofit, 
       algo, magic_number, 
       0, Green);
   }
// if rsi is below sell level, enter short
   if((rsi_value < rsi_sell_level) 
     && (num_short_trades == 0)) {
     OrderSend(Symbol(), OP_SELL, 
       1.0, Bid, 3, 
       Bid + stoploss, Ask - takeprofit, 
       algo, magic_number, 
       0, Green);
   }
 
   return(0); 
}

Und hier das Zorro-Script:

// trade when the RSI goes above or below a level
function run()
{
  algo("RSI");
  var rsi_period = 12;
  var rsi_buy_level = 75;
  var rsi_sell_level = 25; 
 
// get the rsi value
  var rsi_value = RSI(series(priceClose()),rsi_period);
  
// set up stop / profit levels
  Stop = 200*PIP;
  TakeProfit = 200*PIP;
 
// if rsi is above buy level, exit short and enter long
  if(rsi_value > rsi_buy_level) {
    exitShort();
    if(NumOpenLong == 0) enterLong();
  }
// if rsi is below sell level, exit long and enter short
  if(rsi_value < rsi_sell_level) {
    exitLong();
    if(NumOpenShort == 0) enterShort();
  }
}

  • flo1973 gefällt das
Copyright © 2008-2016

Als Nomade quer durch Europa. Bei Interesse auch Hausbesuche 😉

  #8
ONLINE   traderdoc

Ich verkürze mal und fasse zusammen:

.........
Ne ich bekomme den mql4-Code zwar kopiert, aber das wäre an dieser Stelle leider nicht mehr lesbar, weil der Code in eine fleißende Zeile geschrieben wird. Dann eben als Attach.

Aber ich gebe Dir durchaus Recht, der mql4-Code ist trotzdem länger und aufwändiger.

traderdoc

Dateianhang


Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

 


  #9
OFFLINE   PriNova

haha, du witzbolt :rofl:

wird leider wegen den Kommentaren // MT4 so nicht schlucken.

4b3r m4l 64nz 3hrl1ch, w45 häl57 du 50 4l5 31n63fl315ch73r pr06r4mm13r3r v0n d3m 700l?
Copyright © 2008-2016

Als Nomade quer durch Europa. Bei Interesse auch Hausbesuche 😉

  #10
ONLINE   traderdoc

Du hast zu früh gepostet.

Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

 


  #11
ONLINE   traderdoc

Also mal ganz ehrlich, wenn Du mich als eingefleischten Programmierer fragst, was ich von dem Tool halte :welldone: (hehe), dann sage ich mal, wenn das jetzt nicht nur ein Extrembeispiel eine verkürzten Codes war und in dem Tool noch so manch andere Überraschungen stecken, dann sehe ich eine rosige Zukunft. Die Frage der Abarbeitung des Programms wäre noch entscheidend.
Ne mehr kann ich jetzt erstmal nicht sagen, weil ich da zu wenig reingerochen habe. Aber so intuitiv gebe ich dem wie gesagt viel Potential.

traderdoc
  • Zendo gefällt das

Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierwünsche.

 


  #12
OFFLINE   Sasch

Hallo,

ich hab mal Fragen dazu:

Was hat es denn mit dem "from the rich to the poor" auf sich? Sind als poor die Nutzer des Systems gemeint oder ist der Gedanke, dass man als Robin Hood fungiert und (Teil)Gewinne an wirklich Bedürftige weiterleitet ?

Generell für Programmierer wahrscheinlich sehr interessant aber für gerade im MQL lauwarm gewordene wohl eher nicht geeignet oder?

Und kann jmd was zu den Strategien sagen gibt es schon Erfahrungen damit sind die zu gebrauchen ?


Beste Grüße
Von nichts kommt nichts

  #13
OFFLINE   PriNova

Hallo Sasch,

dies ist nur eine Metapher. Die Benutzer von Zorro sehen sich als der Robin Hood, den Reichen das Geld abzunehmen und an die Armen (Ich/Du/wir/ihr/sie) zu verteilen.

Der Umstieg von MQL auf diese Scriptsprache C-lite sollte nicht sehr aufwendig sein, da diese vieles vereinfacht.
Es sind in dem Workshop Strategie-Ansätze vorhanden, die im letzten Teil einen Walkforward-Test in der Out-Of-Sample Phase gut überstehen. Dies soll aber nur als Anreiz dienen zur Entwicklung eigener Ideen.
Da leider der Andrang nicht so riesig ist, entwickle und tüftle ich bisher nur für mich allein.

*Wink an traderdoc* hier geht es lang -> Strategieschmiede
  • Sasch gefällt das
Copyright © 2008-2016

Als Nomade quer durch Europa. Bei Interesse auch Hausbesuche 😉

  #14
OFFLINE   Sasch

Ich finde auch die Verknüpfung zur Spieleentwicklung interessant man stelle sich Scalping vor als Spiel verpackt, Momentum in Physiksimulationen übertragen usw hihi
Interessante Sache auf jeden Fall bin gespannt wie es damit weitergeht

Gruß
Von nichts kommt nichts

  #15
OFFLINE   PriNova

Aktuell liegt eine neue Beta-Version von Zorro vor. Seit der Version 1.10 ist nun auch ein MT4-Plugin erhältlich, als Brücke zu Zorro. Sowie neue Features und Ergänzungen.
Da es sich um eine Beta handelt, könnten noch Fehler vorhanden sein.

Hier der Download-Link zur Beta: OpServer
Copyright © 2008-2016

Als Nomade quer durch Europa. Bei Interesse auch Hausbesuche 😉

  #16
OFFLINE   sammyfx

Hi,

nutzt das jemand aktiv?

Bin heute durch Zufall im Netz drauf gestoßen und siehe da, auch in der Fabrik speicht man drüber ;-)

Gruss

  #17
OFFLINE   tbrbde

Auf die letzte Frage gab es hier keine Antwort. Nach 2 Jahren wird es Zeit, die Frage mal zu wiederholen, da Zorro offensichtlich immer noch existiert und auch weiterentwickelt wird. Nutzt das jemand? Welche Meinungen gibt es dazu? Mir scheint besonders die Walk-Forward-Optimization interessant zu sein, sowie die Möglichkeit, Handelssysteme während das laufenden Betriebs immer mal wieder zu optimieren, um sie an veränderte Bedingungen anzupassen. Es wird sehr damit geworben, dass alles frei und umsonst sei, aber ich habe den Eindruck, dass viele der nützlichsten Features einen monatlichen Betrag kosten. 


  • justme762 gefällt das

  #18
OFFLINE   forexler

eine bridge zu MT4 wird dir aufgrund der Architektur von MT4 nicht helfen, dann wird zwar das script schneller ausgeführt, der rest ist aber weiterhin schrott

mt4 scheitert an der architektur nicht an der geschwindigkeit von MQL4, nicht umsonst hat das ist das zeugs auf keiner Börse der welt erlaubt

 

mit MT5 siehts schon wieder anders aus



  #19
OFFLINE   justme762

... und noch einmal zwei Jahre später - ich bin auf der Suche nach Personen, die mit Zorro für das Trading programmieren.

 

Wäre ganz toll, wenn sich jemand melden würde!

 

LG

justme762



  #20
OFFLINE   tbrbde

Ich beschäftige mich relativ viel mit dem Zorro-Trader und halte ihn (ohne mit den Herstellern verbunden zu sein) für eins der besten Werkzeuge für automatisiertes Traden überhaupt. Der größte Schwachpunkt scheint mir die eingebaute Optimierung zu sein, die leider die sehr effizienten genetischen Algorithmen nicht beherrscht. Es gibt allerdings eine Schnittstelle zur Programmiersprache R, über die man mit wenigen Zeilen Code genetische Algorithmen und sogar neuronale Netze einbeziehen kann. Für ausführliche Tests mit vielen Systemen und Basiswerten und langen Kurshistorien gibt es kaum etwas besseres und schnelleres. Mit dem MT4 kommt man da sehr schnell an deutliche Grenzen und verbringt große Teile seines Lebens mit dem Bearbeiten von Kurshistorien sowie mit Zuschauen beim endlosen Rechnen. Auch das schlanke, system-schonende Handeln mit vielen gleichzeitig laufenden Instanzen ist beim Zorro-Trader um Welten besser als beim MT4 zu realisieren. Für den Zorro-Trader gibt es ein recht gutes Manual sowie ein Tutorial, und auch die folgende Seite hilft mit ausgesprochen kenntnisreichen Artikeln, sofern man des Englischen mächtig ist: http://www.financial-hacker.com. Es gibt auch einen freien Editor, mit dem man Kurshistorien in verschiedene Formate hin- und her-konvertieren kann (Zorro, MT4, CSV).

 

Ebenfalls für spannend halte ich übrigens cAlgo, das eine moderne, objektorientierte Programmierumgebung (C# und Visual Studio) bietet. Beide Umgebungen erlauben ohne weiteres auch das Arbeiten im Tick-Bereich, wofür man im MT4 erhebliche Klimmzüge machen müsste. Der größte Vorteil des MT4 ist, dass man ihn bei fast jedem Broker einsetzen kann. cAlgo ist da aber auf dem Vormarsch, und auch beim Zorro-Trader kommen langsam mehr Broker hinzu. Zorro-Trader kann im Prinzip über seine MT4-Bridge auch jeden Broker bedienen, aber dadurch büßt man natürlich manche Vorteile wieder ein. Der Vorteil schneller Systementwicklung und schneller Backtests bleibt aber bestehen, weil die MT4-Bridge dafür nicht verwendet wird.


  • Crashbulle und €urix gefällt das






Also tagged with one or more of these keywords: Diverse PRG.

0 Benutzer lesen gerade dieses Thema

0 Mitglieder, 0 Gäste, 0 anonyme Nutzer