Samstag, 27. April 2024, 16:37 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Candle

unregistriert

1

Dienstag, 23. November 2004, 13:47

Indikator steigt wieder

Wer kann mir helfen?

Mein Handessystem soll in dem Moment Long gehen, wenn das 20 Tage Momentum den Wert 100 übersteigt. Zuvor sollte der Indikator unter 70 gelegen haben.

Ich hätte das so formuliert:

MOM(Close, 20) <70 and Cross(MOM(Close, 20), 100, 1) =1

Funktioniert aber nicht.
In dieser Formel ist zwar kein Programmierfehler, trotzdem kommt es nicht zum gewünschten Ergebnis.

Danke für die Hilfe

Tim

unregistriert

2

Dienstag, 23. November 2004, 17:59

Hi Candle,

das kann so nicht funktionieren, weil das Momentum (Mom(close,20) ) nicht gleichzeitig kleiner als 70 sein kann und die 100 "crossen" kann. Die Bedingung kann nie wahr werden.

Möglich wäre z.B. eine Formel in dieser Art:

Ref(Mom(close,20),-2) < 70 and Cross(Mom(close,20),100,1)=1

Hier würdest Du ein Signal bekommen, wenn das Momentum vor 2 Perioden unter 70 notiert hat und in der aktuellen periode die Signallinie bei 100 von unten nach oben gecrosst hat.

Grüße vom Tim

Candle

unregistriert

3

Dienstag, 23. November 2004, 21:10

Danke Tim,

Du hast natürlich vollkommen recht. Ein Indikator kann nicht kleiner als 70 sein und gleichzeitig den Wert 100 schneiden.
Der Fehler passiert mir wohl nicht mehr.
Deine Formel funktioniert fehlerlos. Was mir nicht gefällt, ist die Bedingung (Ref … -2). Was mache ich wenn die Ref-Bedingung 3, 4, 7 oder ?? zurückliegt?

Da muss ich mir noch etwas einfallen lassen.

Viele Grüße

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

4

Mittwoch, 24. November 2004, 07:11

Hallo Candle,

schau dir mal die Funktion Schalter(...) an. Damit müsstest du das Problem lösen können.
Viele Grüße,
Hans-Jürgen

TitaniumTrader

unregistriert

5

Mittwoch, 24. November 2004, 08:11

Hi Candle,

eventuell könnte Dir auch BarsSince(MOM(Close, 20) <70, 1) > {Grenzwert}
helfen, weil Du damit sicherstellen kannst, dass das Momentum in einem bestimmten Mindest- oder Maximalabstand den Schwellwert unterschritten hat. Das bringt manchmal eine zusätzliche Performance-Verbesserung.

Candle

unregistriert

6

Donnerstag, 25. November 2004, 07:59

@Hans-Jürgen

Danke für den Hinweis zur Funktion Schalter(...)
Ich habe davon schon viel gehört und gelesen. So richtig kapiert habe ich die Schalter-Funktion aber immer noch nicht. Hilft nichts, da muss ich jetzt wohl mal ran.

@Titanium

Danke auch dir für deinen Tipp. Es klappt allerdings SO noch nicht. Vielleicht liegt das Problem aber auch in einer anderen Ecke des HS. Ich mache mich mal auf die Suche.

Viele Grüße

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Candle« (25. November 2004, 08:00)


Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

7

Donnerstag, 25. November 2004, 08:37

Hallo Candle,

ich hab mal dein Problem umgesetzt:

---------------------------------------------------------------------------------------------
calc Mom: MOM(Close, 20);
calc Signal: Cross(Mom, 100, 1);
const Schwelle: 70;
calc Mom_unter_Schwelle: Schalter(0, Mom < Schwelle, 1, Signal = -1, 0);

{Enter Long}
Mom_unter_Schwelle and Signal = 1

---------------------------------------------------------------------------------------------

zur Funktion Schalter:
Wenn Mom < Schwelle ist, wird die Mom_unter_Schwelle = 1. Die Begingung Signal = -1 {Kreuzen der 100-Linie von oben nach unten} setzt Mom_unter_Schwelle wieder auf 0 und der nächste Zyklus kann beginnen.....

Viel Erfolg!
Viele Grüße,
Hans-Jürgen