Tradestation User Group Germany (http://www.tradernet.org/wbb/index.php)
|- Posts aus dem alten Userforum (http://www.tradernet.org/wbb/board.php?boardid=15)
|-- Jo: Wie wärs mit einem Archiv bei tradernet.de (http://www.tradernet.org/wbb/threadid.php?boardid=15&threadid=153)


Geschrieben von _Heiko Schröder am 01.12.2001, 15:10:

  Jo: Wie wärs mit einem Archiv bei tradernet.de

Hallo Jo!

Wie wärs mit einem Archiv bei der tradernet.de.

Dort könnte man std. Tools und evt. hist. Kurse und co. für alle zugänglich ablegen.

Ich würde für den start auch GlobalVar.DLL, NextOpen.DLL und Garch.DLL spenden .

Gruss

Heiko


Geschrieben von _Uwe am 01.12.2001, 17:10:

  RE: Jo: Wie wärs mit einem Archiv bei tradernet.de

Hallo Heiko!

Gerade bin ich mit meiner Arbeit für einen einfachen EIN-/AUS-Schalter fertig geworden, da sehe ich Dein Angebot, das doch wesentlich umfangreicher ist. Danke Dir also für Deine Offerte.

Doch damit meine Arbeit nicht ganz überflüßig war, hier das Programmteil, das die DLL Switch.dll einbindet, in der die beiden Funktionen

  • int _extern SetSwitch(int ONOFF)
    {
    Schalterstellung=ONOFF;
    return(Schalterstellung);
    }


  • int _extern GetSwitch(int i)
    {
    return(Schalterstellung);
    }


    enthalten sind, die auf die global definierte Variable int Schalterstellung zugreift (Schreiben bzw. Lesen).

    Das EL-Programm würde mit dieser DLL im Verzeichnis C:USERDLL so aussehen können:


    vars:GD1(0), GD2(0), ONOFF(0), isInit(false), Test(0), Schalter(100), nBars(0);

    DefineDLLFunc: "C:USERDLLswitch.dll", int,"SetSwitch",
    int;
    DefineDLLFunc: "C:USERDLLswitch.dll", int, "GetSwitch",
    int;

    if isInit=false then
    begin

       {
    Schalterstellung auf Alarm-EIN }

        Test=SetSwitch(1);
        isInit=true;
    end;
    {beliebige Ein-/Aus-Schalterstellung}

    Schalter=intportion(random(100));
    Schalter=Schalter-2*intportion(Schalter/2);
    print(date:8:0, time:8:0,Schalter:10:1); {im Debug-Fenster wird Schalterstellung angezeigt}


    GD1=Average(close,5);
    GD2=Average(close,35);

    if GD2 > GD1 then
    begin

       { Korrekte Schalterstellung wird abgefragt}
        Schalter = GetSwitch(0);
        if Schalter=1
    then
        begin

            {Schalter ist aus
            -> ersmaliges Eintreten des Ereignisses
            nach der letzten Schalterveraenderung}

            plot1(high,"",red);
            plot2(low,"",red);
            {Schalter
    auf Null setzen, um Alarm beim nächsten Durchgang zu unterduecken}

            Test=SetSwitch(0); 
    {auch moegl.: SetSwitch(1)}
            nBars=0;
        end;
        nBars=nBars+1;
    end
    else
    begin
        {Schalter auf Eins setzen, wenn GD2<=GD1 fuer neuen Alarm} 
        SetSwitch(1);    {auch
    moeglich: Test=SetSwitch(0) }

    end;
    Schalter=2;




    Gruß
    Uwe


  • Geschrieben von _Uwe am 01.12.2001, 18:10:

      EL-Programmcode noch einmal, ....

    ...da Formatierung beim ersten Versuch (Übernahme aus FrontPage) mißraten ist:



    vars: GD1(0), GD2(0), ONOFF(0), isInit(false), Test(0), Schalter(100), nBars(0);


    DefineDLLFunc: "C:USERDLLswitch.dll", int, "SetSwitch", int;
    DefineDLLFunc: "C:USERDLLswitch.dll", int, "GetSwitch", int;

    if isInit=false then
    begin
       { Schalterstellung auf Alarm-EIN }
        Test=SetSwitch(1);
        isInit=true;
    end;

    { beliebige Ein-/Aus-Schalterstellung }
    Schalter=intportion(random(100));
    Schalter=Schalter-2*intportion(Schalter/2);
    print(date:8:0, time:8:0,Schalter:10:1); { im Debug-Fenster wird Schalterstellung angezeigt }

    GD1=Average(close,5);
    GD2=Average(close,35);


    if GD2 > GD1 then
    begin


       { Korrekte Schalterstellung wird abgefragt }
        Schalter = GetSwitch(0);

        if Schalter=1 then
        begin


            { Schalter ist aus -> ersmaliges Eintreten des Ereignisses
            nach der letzten Schalterveraenderung }

            plot1(high,"",red);
            plot2(low,"",red);

            { Schalter auf Null setzen, um Alarm beim nächsten Durchgang zu unterduecken}
            Test=SetSwitch(0);  { auch moegl.: SetSwitch(1) }

            nBars=0;

        end;
        nBars=nBars+1;

    end
    else
    begin

        {Schalter auf Eins setzen, wenn GD2<=GD1 fuer neuen Alarm} 
        SetSwitch(1);    { auch moeglich: Test=SetSwitch(0) }

    end;

    Schalter=2;


    Geschrieben von _Tina am 01.12.2001, 20:10:

      Meine Bedenken dazu ...

    Hallo Uwe,

    ich könnte mir vorstellen, daß es bei deinem Schalter zu den gleichen Problemen führen wird wie von Steffen (s.u.) geschildert. Denn, nehmen wir mal an es ist dein Schalter AUS, andere Bedingungen waren vorher schon mal erfüllt und es kommt (ungeklärterweise) zu einem "Refresch", dann wird in diesem Moment ein falsches Signal generiert.

    Konnte es noch nicht testen(Wochenende), bin mir aber recht sicher. Diese unliebsame Erscheinung kann man m.e. nur mit der Idee von Steffen ( "if time=currenttime and date=currentdate then begin ........end;" ) ausschließen.

    zweifeld und grübelnd

    Tina


    Geschrieben von _Uwe am 01.12.2001, 20:10:

      RE: Meine Bedenken dazu ...

    Hallo tina!

    Bezüglich Deiner Bedenken kann ich noch nicht Stellung nehem, da ich mir erst im klaren darüber werden muß, welche Situation Du im Sinn hast, den der Begriff "refresh" ist mir in seiner Auswirkung auf die Indikatoren-/Signale noch nicht klar genug.

    Jedoch bleibt jetzt schon festzuhalten, das der Zustand time=currenttime genau eine Minute lang wahr ist, da Die Zeiten im HHMM-Format in EL zur Verfügung stehen.

    Gruß
    Uwe


    Geschrieben von _Uwe am 02.12.2001, 18:10:

      RE: Zwei Probleme?...

    tina: ...ich könnte mir vorstellen, daß es bei deinem Schalter zu den gleichen Problemen führen wird wie von Steffen (s.u.) geschildert. Denn, nehmen wir mal an es ist dein Schalter AUS, andere Bedingungen waren vorher schon mal erfüllt und es kommt (ungeklärterweise) zu einem "Refresch", dann wird in diesem Moment ein falsches Signal generiert.


    So wie Du, tina, die "Refresh"-Wirkung beschreibst, scheint mir kein Mittel geeignet, sich vor diesen Auswirkungen zu schützen.

    Ich habe mich noch einmal bezüglich der beschriebenen Problematiken durch die Beiträge gelesen und mir scheint, dass die Frage nach einem Schalter (DLL) und die Vermeidung der "Resfresh"-Auswirkungen zwei verschiedene Dinge sind.

    Insofern hast Du natürlich recht, dass die Auswirkungen des "refresh", so wie ihn Steffen beschrieb:

    von Steffen am 29.Nov.2001 16:20
    Dabei tritt Phänomen auf(Refresh ???).

    Willkürlich (ca.3-5 mal am Tag, auch während der entstehenden Kerze) erfolgt eine akustische Signalisierung und ein kompletter Neueintrag aller bisherigen Signale in die vorhandene Datei. So, wie wenn ich die Technik gerade auf den Chart lege oder sie im Easy Language verifiziere.


    weder durch einen Schalter noch anscheindend durch eine andere, programmtechnische Möglichkeit einzudämmen sind, da hier anscheinend eine "Reoganisation" des internen, für den GS zur Verfügung stehenden Speichers der Auslöser zu sein scheint (taucht dieses "Refresch" bei allen offen Datenfenster, nur bei Datenfenster des gleichen Symbols oder nur bei einem Chartfenster in dem betreffenden Augenblick auf?)

    Hingegen wird ein "nervendes" (Akustik-)Signal innerhalb eines Bars, das dadurch entsteht, das z.B. während der Zeitperiode mit jedem eingehenden Tick eine bestimmte Bedingung ein weiteres mal erfüllt, durch einen Schalter abstellbar sein. Doch Vorsicht! Es muss berücksichtigt werden, dass die Bedingung "Flip-Flop"-mäßig einmal erfüllt, danach wieder nicht erfüllt um dann wieder erfüllt zu werden. Dies ist z.B in der unmittelbaren Umgebung eines Schnittpunkts zweier Kurven zu erwarten, wenn man nach dem Überkreuzen fragt. In diesem Fall muss man wohl das wiederholte Akustiksignal hinnehmen, wenn man über jeden Durchgang informiert werden will.

    Nun bin ich gespannt, wo mein Begriffsproblem liegt, denn das "Refreschproblem" habe ich noch nicht so nachvollziehen können, während mir Deine Beschreibung bezüglich der auf halben Wege(?) durch einen Refresh gestörten Indikatoren-/Signalauswertung des EL-Skriptes noch nicht ganz klar ist, wenn ich sie denn so richtig verstanden habe.

    Gruß
    Uwe


    Geschrieben von _Tina am 02.12.2001, 22:10:

      RE: Zwei Probleme?...

    Hallo Uwe,

    in der Tat handelt es sich um zwei unterschiedliche Probleme. Allerdings sind die Auswirkungen innerhalb meiner Anwendung ähnlich. Wenn es interessiert könnte ich das auch näher erläutern. Im Moment könnte ich mir vorstellen, daß die Verbindung aus deinem DLL-Schalter und Steffen`s Code-Trick die Lösung liegen könnte. Ich werde es im Laufe der Woche unter real-Bedingungen testen und das Ergebnis hier mitteilen. Auf alle Fälle schon mal vielen Dank für deine viele Mühe.

    Gruß Tina


    Geschrieben von _Karl Blau am 03.12.2001, 23:10:

      Archiv bei tradernet.de

    Super Idee!

    Viele Fragen werden immer wieder gestellt. So wäre das Forum viel effektiver, da nicht immer die gleichen Themen wieder aufgerollt werden müssen.

    Ich finde ein solches Archiv extrem lohnenswert!

    Tschö


    Geschrieben von Jo Haas am 04.12.2001, 19:10:

      kommt in Kürze

    und noch viel mehr.
    Es wird Redakteure geben (hier sind Uwe, Klaus u.a. herzlich eingeladen)
    Grafiken können den postings hinzugefügt werden.
    Ela Codes können hinzugefügt werden u.v.a

    Archiv von wichtigen / interessanten Postings
    Knowledge Base und FAQ

    Werde gegen Ende der Woche einigen Usern/Vielschreibern die erste Betaversion präsentieren - um Vorschläge einzuholen

    Gruss Jo


    Geschrieben von _Heiko Schröder am 05.12.2001, 12:10:

      Sind wir mal gespannt

    Wir sehen uns ja evt. in Essen am Di.

    Gruss

    Heiko

    Powered by: Burning Board 1.1.1 © 2001 by WoltLab