Autor |
|
_Heiko Schröder
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 12
|
|
|
01.12.2001, 15:10 |
|
_Uwe
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313
|
|
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
|
|
01.12.2001, 17:10 |
|
_Uwe
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313
|
|
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;
|
|
01.12.2001, 18:10 |
|
_Tina
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 31
|
|
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
|
|
01.12.2001, 20:10 |
|
_Uwe
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313
|
|
|
01.12.2001, 20:10 |
|
_Uwe
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 313
|
|
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
|
|
02.12.2001, 18:10 |
|
_Tina
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 31
|
|
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
|
|
02.12.2001, 22:10 |
|
_Karl Blau
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 16
|
|
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ö
|
|
03.12.2001, 23:10 |
|
Jo Haas
Super Moderator
Dabei seit: 12 2001
Herkunft: Schwaigern B.-W.
Beiträge: 130
|
|
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
|
|
04.12.2001, 19:10 |
|
_Heiko Schröder
Administrator
Dabei seit: 12 2001
Herkunft: User altes Forum
Beiträge: 12
|
|
Wir sehen uns ja evt. in Essen am Di.
Gruss
Heiko
|
|
05.12.2001, 12:10 |
|
|