Donnerstag, 18. April 2024, 08:30 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lieber Besucher, herzlich willkommen bei: INVESTOX-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Shaw

unregistriert

1

Montag, 20. Oktober 2003, 14:08

3 Gdl

Ich kann’s beinahe.

Ich bin Stolz, wie Oskar. Habe ohne Hilfe meine erste Formel programmiert. Und wie könnte es anders sein? Es gibt ein Problem.

Aufgabe: Signalausgabe soll erfolgen, wenn GD1 seit mindestens x-Perioden im Beispiel (10 Perioden) unter dem GD2 liegt und beide Durchschnitte seit mindestens x-Perioden (im Beispiel 5 Perioden) unter dem GD3 liegen.

Lösungsansatz: (CrossHold(GD(Close, 4, E), GD(Close, 9, E), 10) = -1) AND (CrossHold(GD(Close, 9, E), GD(Close, 18, E), 5) = -1)

Problem: das Wörtchen: mindestens.
Mit dieser Formel erhalte ich lediglich dann ein Signal, wenn alle Bedingungen exakt erfüllt wurden.

Wunsch: Ich möchte jedoch auch dann ein Signal erhalten, wenn GD1 seit mehr als 10 Perioden unter GD2 liegt und/oder beide Durchschnitte seit mehr als 5 Perioden unter GD3

Hinweis: Die Angabe von 10 bzw. 5 Perioden soll lediglich eine Mindestanforderung darstellen.

Lacht bitte nicht, aber als Anfänger verbringt man mit solchen Problemen Stunden.
Wer kann mir helfen?

Danke

Fritz

unregistriert

2

Montag, 20. Oktober 2003, 17:52

Hallo,
mit
Vergangene Perioden ..... > xy sollte es gehen.

Gruß Fritz

Shaw

unregistriert

3

Montag, 20. Oktober 2003, 19:01

Danke...

...aber das dürfte mein Problem leider nicht lösen.

Vergangene Perioden (Bars Since) gibt die Anzahl der vergangenen Perioden seit einem Ereignis an.

Mein Problem besteht jedoch darin, dass ein Signal nur dann gegeben wird, wenn exakt vor x-Perioden die GD sich entsprechend den Vorgaben gekreuzt haben. Ich benötige jedoch auch dann das Signal, wenn dieses Ereignis länger zurückliegt und bis heute noch Bestand hat.

Vielleicht gibt's da noch einen anderen Weg.

Gruß

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

4

Montag, 20. Oktober 2003, 20:35

Hallo Shaw,
ich kann mich aus Zeitgründen nicht sehr tief in das Problem eindenken, könnte mir aber vorstellen, dass evtl. die Funktion SCHALTER weiterhilft.

calc BedingungAN:
(CrossHold(GD(Close, 4, E), GD(Close, 9, E), 10) = -1) AND (CrossHold(GD(Close, 9, E), GD(Close, 18, E), 5) = -1);

calc BedingungAUS: Hier sollte eine Bedingung stehen, die den Schalter zurücksetzt!

calc Signal: Schalter(0, BedingungAN, 1, BedingungAUS, -1);

Signal hat als Startwert 0. Wenn BedingungAN WAHR wird, wird Signal 1 zu gewiesen und zwar solange, bis BedingungAUS WAHR wird und die Var. Signal auf -1 setzt. Die Var. Signal kann dann auf ihren Wert ausgewertet werden.
Viele Grüße,
Hans-Jürgen

Fritz

unregistriert

5

Dienstag, 21. Oktober 2003, 08:07

Hallo,

"Danke...

...aber das dürfte mein Problem leider nicht lösen.

Vergangene Perioden (Bars Since) gibt die Anzahl der vergangenen Perioden seit einem Ereignis an."

hast Du es probiert, oder vermutest Du es nur???

Was hälst Du von:

BarsSince(Cross(GD1,GD2,1)=1 {oder -1},1) > X {Anzahl der Perioden die mindestens seit cross vergangen sein müssen}

Gruß Fritz

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Fritz« (21. Oktober 2003, 08:07)


Shaw

unregistriert

6

Mittwoch, 22. Oktober 2003, 13:46

Zitat

...hast Du es probiert, oder vermutest Du es nur???


Mit dem probieren hatte und habe ich so mein Problem. Komme mit diesem Befehl einfach nicht klar. Laut Beschreibung in der Investox-Hilfe schien mir diese Formel aber auch nicht die Lösung zu sein. Jetzt würde ich es doch gerne einmal testen. Eine Bitte: Kannst du mir den Befehl einmal komplett hier einstellen?

Es sollte ein Signal ausgegeben werden, wenn der 4-GD seit 10 Tagen oder länger unter dem 9-GD liegt und gleichzeitig beide seit 5 Tagen oder länger unter dem 18-GD liegen.

Danke.

Fritz

unregistriert

7

Mittwoch, 22. Oktober 2003, 16:44

Hallo Shaw,
könnte es sein, das Du ein ganz klein bisserl faul oder bequem bist?
Mach Dir doch einfach einen Teilchart auf und trage meine Formel etwas ergänzt ein und schaue, was sie macht. Lege einen weiteren Teilchart an, wo Du Deine Bedingungen, z.B. GD4 < GD9 usw einträgst.
Und dann schaue wie sich alles verhält und teste. Auf diese Weise kann man sich fast alles erarbeiten.
Hier nun die Version für Bequeme:

calc GD4: GD(close,4,s);
calc GD9: GD(close,9,s);
calc GD18: GD(close,18,s);

Barssince(GD4>GD9,1)>9 AND Barssince(GD4>GD18 AND GD9>GD18,1)>4

Achte darauf, das die Bedingung > lauten muß, weil Barssince die Perioden zählt, die seit dem letzten "wahr" vergangen sind.

Grüße Fritz

Shaw

unregistriert

8

Mittwoch, 22. Oktober 2003, 17:05

Zitat

könnte es sein, das Du ein ganz klein bisserl faul oder bequem bist?


Gewiss nicht. Dann schon eher ein ganz klein bisserl blöde oder begriffstutzig.
Sorry, aber ich bin wirklich absoluter Neuling. Habe z. Zt. Urlaub und befasse mich von morgens 08:00 Uhr bis in die Nacht mit Investox. Aber mit dieser Formel kam ich einfach nicht klar.
Keine Angst: Ich weiß schon, dass man das kleine Einmaleins beherrschen muss, bevor man an das Große geht :D

Danke u. Gruß

Shaw

unregistriert

9

Donnerstag, 23. Oktober 2003, 13:36

Danke Fritz.
Du hast den roten Punkt unter deinem Nick wirklich verdient.

Das war exakt die Formel, die ich brauchte. Und stell dir vor, ich habe sie nicht nur kopiert, sondern auch kapiert.

Quellcode

1
2
3
calc GD4: GD(close,4,e);
calc GD9: GD(close,9,e);
calc GD18: GD(close,18,e);

...war's wohl gewesen, was mir fehlte.
Ich vergesse es nie wieder.

Danke und Gruß