Donnerstag, 18. April 2024, 05:45 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

1

Montag, 31. August 2009, 16:01

Schalter

Ich wollte mittels der Schalterfunktion die Day Session in einem 24h Feed markieren.
Der Schalter fängt bei 0 an wie gewünscht und schaltet dann auch auf 1 um, wenn das Zeitfenster erreicht wurde, allerdings niemals auf die 2. Bedingung.
zur Sicherheit habe ich mir die zweite Bedingung gechartet und die wird regelmäßig true.

wie kann das sein?

Quellcode

1
2
3
4
5
// Reguläre Handelszeit = Day Session ----------------------------
global const RTH_start:930;
global const RTH_ende:1615;
global calc RTH:Schalter(0,Uhrzeit()>=rth_start,1,Uhrzeit()=rth_ende,-1);
// ---------------------------------------------------------------


PS. ich weiß natürlich, dass ich mit einer einfachen Abfrage

Quellcode

1
uhrzeit()>=rth_start and uhrzeit()<=RTH_ende
zum Ziel komme.
Mir geht´s um das Verhalten der Schalterfunktion, das für mich nicht verständlich ist.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

2

Montag, 31. August 2009, 18:08

Mensch Lord, nun enttäuscht Du mich aber 8o Die erste Bedingung wird doch nie unwahr, wenn die 2. Wahr ist. Im PS haste die 2. Bedingung dagegen richtig codiert :D
Gruss
Bernd

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

3

Dienstag, 1. September 2009, 01:28

Hallo Bernd,

nix fur ungut, aber
1. stimmt nicht was Du schreibst,
2. Schalter schaltet um, müßte also trotz Deiner Bemerkung funktionieren.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

4

Dienstag, 1. September 2009, 06:31

Die erste Bedingung wird doch nie unwahr, wenn die 2. Wahr ist.

Du musst die erste Bedingung z.B. so anpassen,

Zitat


// Reguläre Handelszeit = Day Session ----------------------------
global calc Uhrzeit: DatePart(h)*100+DatePart(n);
global const RTH_start:930;
global const RTH_ende:1615;
global calc RTH: Schalter(0,Uhrzeit=rth_start,1,Uhrzeit=rth_ende,-1);
// ---------------------------------------------------------------

.. dass sie beim Eintritt der 2. Bedingung wieder Falsch ist. Denn wenn die erste Bedingung immer noch Wahr ist, wenn die 2. Bedingung Wahr wird, welche Bedingung sollte dann wohl der Schalter annehmen? Na?


PS: das Beispiel funktioniert natürlich nur, wenn die Perioden die jeweiligen Schaltzeiten hergeben. Andernfalls (Renko oder P&F Grundkompression) wird man mit Komp() arbeiten müssen.
Gruss
Bernd