Registrierung Kalender FAQ & Boardregeln Suche Mitgliederliste Moderatoren und Administratoren Linkdatenbank Startseite
Tradestation User Group Germany » freie Foren » Posts aus dem alten Userforum » VIDYA » Hallo Gast [registrieren|anmelden]
« Vorheriges Thema Nächstes Thema » Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Autor
Beitrag
_GRUNDI
Administrator



Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 6

_GRUNDI ist offline
  VIDYAAntwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Hallo,

ich bin in Sachen Tradestation noch ein ziemlicher Newcomer.

Ich habe heute einen zusätzlichen Indicator in meine Tradestation einprogrammiert, den Variable Index Dynamic Average(VIDYA).
Syntax entnommen aus dem Buch von E.Florek"Neue Tradingdimensionen".
Ich möchte nur ein (zugegeben recht simples)Signal schreiben, bei dem ein Kaufsignal ausgelöst wird, wenn der Schlusskurs über dem VIDYA liegt.
Mit einem einfachen Moving Average sieht das ja wie folgt aus.

Inputs: MA(9);
Condition1= c> Average(c,MA);

If Condition 1 then buy this bar on close;


Nun meine Frage:

wie könnte die Syntax für den VIDYA aussehen?

Finde dazu leider nichts im EasyLanguageHandbuch.
Wäre nett wenn mir jemand hier einen Tip geben könnte.

Vielen Dank

Grundi

02.11.2001, 13:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _GRUNDI senden Homepage von _GRUNDI
_Uwe
Administrator



Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313

_Uwe ist offline
  RE: VIDYAAntwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Hallo Grundi!

Mag das Signal auch simpel sein, so muß Du dennoch gleich tief in die Programmierstruktur von EL einsteigen, wenn Du eigene/neue Indikatoren allgemein verwenden willst.

Prinzipiell ist es zum Verständnis wichtig, zu erkenne, daß es

  • Indikatoren (Indicator, ShowMe, Paint-Bars) gibt, deren Darstellung im Chart über die plot-Anweisung sichtbar werden,
  • Signale, die in Systemen zusammen gebunden werden und deren Auswirkungen als Handelsaktionen umgesetzt werden und
  • Functionen, bei denen nur intern ein Wert bestimmt wird, der bei den hier vorher beschriebenen Tpen von Element und auch wieder bei anderen Function verwendet werden kann.

    Wenn Du Dich also auf "Entdeckungsreisen" begibst, wirst Du u.a. Programmteile finden, die unter der Rubrik Functionen abgelegte sind. Dort wirst Du dann auch viele bekannte Namen finden, wie z.B. Average, Xaverage und viele mehr.

    Wenn Du Funktionsprogrammteil öffnest, wirst Du weiter entdecken, daß die üblichen plot-Anweisungen und auch Handelsanweisungen (buy/sell/EXIT...) nicht auftauchen. Sie haben dort nichts zu suchen.

    Aber auch die INPUT-Zeile weist eine Eigenart auf, die nur für Function-Programme zutreffen: Vorgabewerte für Inputvariablen gibt es nicht, sondern es sind, soweit Input-Variablen vorgesehen sind, Vorgabedatentypen anzugeben.

    Ferner ist in der Regel im Programmteil eine Anweisungszeile vorhanden, in der der Function-Name eine Zuweisung erhält, also z.B.

    FUNC_TEST = AUSGABE;

    Diese Zeile bewirkt in der "Function" mit dem Namen FUNC_TEST, der hier beispielhaft gewählt wurde, das der Rückgabewert den ermittelten Wert, der in AUSGABE gespeichert ist, erhält. Dieser Rückgabewert steht dem die Funkition FUNC_TEST aufrufenden Programm damit zur Verfügung.

    Beispiel:


    {Indikator/Signal-Programm
    INPUT: Len(5), ....;
    VARS: Testwert(0), .....;
    ....
    Testwert = 5 + FUNC_TEST(Len);
    .....
    {
    aber auch die direkte Nutzung ist möglich:
    IF FUNC_TEST(Len) then....
    oder
    Plot1(FUNC_TEST(Len),-...);
    }

    .....
    IF Testwert > 5 then buy
    ELSE if Testwert < 5 then sell....
    ......
    {***ENDE des Indikator-/Signal-Programmes****}




    Der nachfolgende Programmteil ist als Function zu schreiben!!!

    {Function FUNC_TEST}
    INPUT: FuncLen(Numeric), ....;
    VARS: Temp(0), counter(0), .....;
    ....
    Temp = average(close, FuncLen)/close-1;
    .....
    FUNC_TEST = temp;
    ......
    {***ENDE des Function-Programms****}




    Nun könnte vielleicht alles zum eigenen Versuch klar sein, den Du ja auf der Grundlage eines mit einem EL-Code bekannten Indikators durchführen möchtest.

  • Deine Funktion erhält den z.B. den Namen funcVIDYA
  • Die Zahlenangaben in einer Inputanweisungen werden durch Datentypen ersetzt
  • plot-/Trade-Anweisungen werden eliminiert
  • es ist die "Rückgabezeile" funcVIDYA = .... einzubauen

    In Deinem Signalprogramm verwendest Du dann erstmals die neue Funktion funcVIDYA wie folgt:


    INPUT: ...Len1(13), Smooth(13),..., refBar(3);
    VARS: VIDYA(0);

    VIDYA = funcVIDYA(len1, Smooth);

    If VIDYA crossed over Close then buy;
    If VIDYA < VIDYA[refBar] and marketposition >0 then EXITLONG;



    Alle Angaben ungeprüft und ohne Gewähr auf Richtigkeit


    Viel Erfolg
    Uwe

  • 02.11.2001, 18:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _Uwe senden Homepage von _Uwe
    _GRUNDI
    Administrator



    Dabei seit: 12 2001
    Herkunft: User altes Forum
    Beiträge: 6

    _GRUNDI ist offline
      RE: VIDYAAntwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

    hallo uwe,

    erst mal vielen dank für die hilfe. werde mich mal durch Ihr sehr umfangreiches Info-Material durcharbeiten.


    Vielen Dank.

    05.11.2001, 08:10 Profil von Füge  deiner Freunde-Liste hinzu Email an _GRUNDI senden Homepage von _GRUNDI
      « Vorheriges Thema Nächstes Thema »
    Neues Thema erstellen Antwort erstellen
    Gehe zu:

    Powered by: Burning Board 1.1.1 © 2001 WoltLab GbR