Nutzt jemand AMIBROKER???
-
-
Ich hab einen Schnellschuss für eine candle60 implementierung anzubieten. Ich benutze AmiBroker nur mit EOD daten, mein backtest mit den 60 Minuten Einstellungen war also fatal. Wer 60 Minuten Daten hat kann ja mal schauen ob das dort besser klappt. Vielleicht hab ich auch einfach irgendwo noch einen dicken Fehler im Code. Wie gesagt: Schnellschuss
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „zweioeltanks“ ()
-
-
-
Hallo Thomas - und alle Guru`s!
Wie wäre es, wenn wir ein exemplarisches Amibroker Projekt durchspielen würden:
Candle 60 Backtesting und Optimierung mittels Amibroker
Dann hätten wir sowohl eine Datenbasis als auch einen Vergleich für Verifikationszwecke.
Dazu dienen sich ja auch die neuen Candlestick-Erkennungs-Codes von Herman Miller in der AFL-Library an.
Dies könnte man dann noch weiterentwickeln durch eine RT Schnittstelle und andere Underklyings.
Als Hinweis: Die AMibroker RT Version ist nur für Tickdaten erforderlich, ab 1 Minuten kann auch die Standard-Version benutzt werden. Und emulen ist auch dankbar, ich habe danach meine RT Version bei Ebay für 99 € geschossen problemlos registriert.
MFG
Cerberus24 -
Hallo midu,
kannst mir auch ruhig privat ne mail schreiben, wenn Du Hilfe brauchst:
tz@tradingbasis.com
Schöne Grüße
Thomas
Original von midu72
Hallo Thomas,
danke für die Hinweise; ich kann in der Schnellsichtung tatsächlich vieles finden - man muss sich halt alles zusammen suchen, aber in Kombination von AMIBROKER und deiner Seite TRADINGBASIS kommt man soweit wohl hin.
Bleibt nur noch das Lesen und Verstehen...........................werde mich wohl bei Bedarf wieder bei dir melden. Danke.
Viele Grüsse
midu72 -
Hallo Thomas,
danke für die Hinweise; ich kann in der Schnellsichtung tatsächlich vieles finden - man muss sich halt alles zusammen suchen, aber in Kombination von AMIBROKER und deiner Seite TRADINGBASIS kommt man soweit wohl hin.
Bleibt nur noch das Lesen und Verstehen...........................werde mich wohl bei Bedarf wieder bei dir melden. Danke.
Viele Grüsse
midu72 -
-
-
Hier noch ein Link mit den Funktionen:
amibroker.com/guide/afl/afl_index.php?m=2
Lesen muss man es halt noch selber, lol
Schöne Grüße
Thomas -
Hallo cerberus,
ich kann Deine Antwort leider nicht verstehen, denn erstens habe ich meine Hilfe eh schon angeboten und zweitens ist die Amibroker Hilfe so gemacht, dass man daraus wirklich alles super lernen kann.
Ich kenne natürlich auch die Hilfe von vielen Programmen, bei denen es oft sinnlos ist, wenn man irgendwas finden möchte. Bei Amibroker ist es nicht so.
Wo hast Du denn das erlebt, dass Diskussionen schnell zu Ende gehen ?
In der deutschsprachigen Usergroup wurde bis jetzt einfach zu wenig geschrieben. Die Mehrheit bevorzugt die englische Usergroup weil da ca. 3000 Beiträge jeden Monat geschrieben werden und normalerweise jeder innert kürzester Zeit eine Antwort bekommt.
Die neue Amibroker Version bietet jetzt auch Drag & Drop Unterstützung. Da kann man jetzt Indikatoren (auch eigene) einfach mit der Maus über einen chart legen. Ist jetzt auch für Newbies viel einfacher geworden.
Eine Einarbeitungszeit braucht es natürlich wie bei jedem anderen Programm auch.
Aber hier mal ein kurzer Auszug aus der Hilfe:
amibroker.com/guide/afl/afl_view.php?name=rsi
und hier einfach mal ein einfaches beispiel für eine Signalgenerierung:
buy = cross(rsi(14),30);
sell = cross(70,rsi(14);
Und hier für die Darstellung:
Plot (rsi(14),"RSI",colorgreen,styleline);
Das ganze ist jetzt aber ansich eh nicht mehr notwendig, weil die indis alle vordefiniert sind und man sie nur noch auswählen muss.
Grüße
Thomas
Original von Cerberus24
Hallo Thomas, bisher habe ich Dich (ausser bei Moneytec) nur in der engl. Yahoogroup gesehen. Das es eine dt. gibt, war mir entgangen, bzw ich hatte mal eine "eingeschlafene" Gruppe gesehen.
Diese bisherige Diskussion zeigt das Hauptproblem von AMIBROKER:
Von Programmierern für Programmierer ! Newbies werden süffisant lächelnd auf die (kryptische) Doku und die Archive verwiesen, die Diskussion wird schnell techie und geht dann, wenns interessant wird, in PM Bahnen.
Diese Methode ist äusserst erfolgreich in ihrem Unterfangen, dem Rest der Welt Amibroker zu verwehren.
Schade - Gut so!
Cerberus24 -
Guten Morgen an alle,
jetzt kommt der Beitrag erst so richtig in Schwung :-)) Vielen Dank für die zahlreichen Tipps.
Mein Wunsch und Ziel ist es eine Art Grundwortschatz für die AFL zu erlernen, damit ich mich überhaupt mal mit dem Programmieren eigener Ideen auseinander setzen kann - so eine Art Vokabel lernen -
Ich komme aber bei Fragen/Problemen usw. gerne auf die angebotene Hilfe zurück.
Nochmals vielen Dank für die Antworten, bis bald
Gruss
midu72 -
cerberus,
wie wahr! ich fühl mich mit dem teil richtig gut, weil ich nunmal in erster linie Programmierer bin... allerdings ist mir bei der erkenntnis, das man ama() und ama2() dafür misbrauchn kann selbstreferenzierende ausdrücke zu schreiben auch erstmal etwas komisch geworden... nur gut das es heutztage Loops gibt -
eine implementierung der funktionen in C++ könnte folgendermassen aussehen: ich habe das AMIBroker SDK zur Zeit nicht zur hand. Du müsstest myfunc() also noch auf die erwartete Signatur anfassen anpassen, dann das ganze einfach in visual studio in ein dll projekt stopfen und die myfunc() funktion exportieren
#include <iostream.h> /* pData ist immer die datenreihe nPeriods sind die zu berechnenden Perioden pResult ist der array in den das ergebnis geschrieben wird pSize ist die länge der Datenreihe, pResult muss midestens so gross wie pData sein. */ // EMA berechnen void ema(const double *pData, unsigned int nPeriods, double *pResult, unsigned int nSize) { double ew = 2.0/(nPeriods+1); pResult[0] = pData[0]; for (int i=1; i<nSize; i++) pResult[i] = (pData[i] - pResult[i-1] )*ew + pResult[i-1]; } // ROC berechnen void roc(const double *pData, unsigned int nPeriods, double *pResult, unsigned int nSize) { int i = 0; for
i<nPeriods; i++) pResult[i] = 0; for
i<nSize; i++) pResult[i] = 100*pData[i]/pData[i-nPeriods] - 100; } void myfunc(const double *pData, unsigned int nPeriods, // wird hier ignoriert double *pResult, unsigned int nSize) { double *pTemp1 = new double[nSize]; double *pTemp2 = new double[nSize]; roc(pData, 3, pTemp1, nSize); ema(pTemp1, 5, pTemp2, nSize); ema(pTemp2, 8, pResult, nSize); delete[] pTemp1, pTemp2; } // test main int main(int argc, char **argv) { int testSize = 10; double testData[] = {1.0, 2.0, 1.5, 2.5, 2.0, 2.3, 2.2, 3.1, 2.8, 2.1}; double testResult[testSize]; myfunc(testData, 0, testResult, testSize); cout << "result: "; for (int i=0; i<testSize; i++) cout << testResult[i] << " "; cout << "\n"; return 0; }
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „zweioeltanks“ ()
-
.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Cerberus24“ ()
-
Hallo Thomas, bisher habe ich Dich (ausser bei Moneytec) nur in der engl. Yahoogroup gesehen. Das es eine dt. gibt, war mir entgangen, bzw ich hatte mal eine "eingeschlafene" Gruppe gesehen.
Diese bisherige Diskussion zeigt das Hauptproblem von AMIBROKER:
Von Programmierern für Programmierer ! Newbies werden süffisant lächelnd auf die (kryptische) Doku und die Archive verwiesen, die Diskussion wird schnell techie und geht dann, wenns interessant wird, in PM Bahnen.
Diese Methode ist äusserst erfolgreich in ihrem Unterfangen, dem Rest der Welt Amibroker zu verwehren.
Schade - Gut so!
Cerberus24 -
komisch, das forum macht aus der letzten ziffer in der formel einen smily.
Sollte eigentlich die Zahl 8 (ACHT) sein. So, hoffentlich ist der jetzt ohne smily, lol
Original von fxfriend
Hi,
eigentlich wären es schon ganz einfach Sachen wie zum Beispiel eine DLL mit folgendem Wert:
myvalue = EMA(EMA(ROC(C,3),5),8);
Danach möchte ich einfach nur noch myvalue in amibroker aufrufen können.
Schaut einfach aus, ist es aber nicht, zumindest für mich, lol
lg
Thomas -
Hi,
eigentlich wären es schon ganz einfach Sachen wie zum Beispiel eine DLL mit folgendem Wert:
myvalue = EMA(EMA(ROC(C,3),5),8);
Danach möchte ich einfach nur noch myvalue in amibroker aufrufen können.
Schaut einfach aus, ist es aber nicht, zumindest für mich, lol
lg
Thomas -
-
-
Teilen
- Facebook 0
- Twitter 0
- Google Plus 0
-
Reddit 0
-
Benutzer online 1
1 Besucher