Dienstag, 16. April 2024, 09:44 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.

Peratron

unregistriert

1

Mittwoch, 18. November 2015, 07:36

Probleme mit Ascunia Indikator - Candlestick_Signature

Hallo,
bekomme folgende Fehlermeldung.

Meldung: Überlauf aufgetreten. Die Werte einer Berechnung liegen außerhalb des gültigen Bereiches oder es fand eine Division durch 0 statt (Fehler Nr. 6).

Hier der dazugehörige Code.

Wer hat ne Idee woran es liegen könnte. Grüße Peratron

calc segment_divisor: 100/segmente; // prozentualer Anteil jedes der Segmente an der Gesamtkerze
calc candle_range: high-low; // Handelsspanne der aktuellen Kerze
calc average_range: GD(candle_range,perioden,s); // durchschnittliche Handelsspanne der letzten x Kerzen im Chart
calc range_multiplier: If(candle_range/average_range>1,1,candle_range/average_range); // Ratio aus Handelsspanne und durchschnittlicher Handelsspanne, wenn aktuelle Kerze nicht überduchschnittlich groß ist - sonst 1
calc candle_range1: If(candle_range/100=0,0.00000001,candle_range/100);

calc HO:Round((((high-open)/candle_range1)*range_multiplier)/segment_divisor);
calc HC:Round((((high-close)/candle_range1)*range_multiplier)/segment_divisor);
calc OL:Round((((open-low)/candle_range1)*range_multiplier)/segment_divisor);
calc CL:Round((((close-low)/candle_range1)*range_multiplier)/segment_divisor);

If(art=HO,HO,If(art=HC,HC,If(art=OL,OL,If(art=CL,CL,0))))

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Peratron« (18. November 2015, 07:58)


Giuseppe Männlich

Meister

Registrierungsdatum: 31. März 2004

Beiträge: 556

Wohnort: Wien

2

Mittwoch, 18. November 2015, 08:24

Hello Peratron,

Zitat

Meldung: Überlauf aufgetreten. Die Werte einer Berechnung liegen außerhalb des gültigen Bereiches oder es fand eine Division durch 0 statt (Fehler Nr. 6).


ich gehe davon aus, dass eine Division durch 0 stattfand, so wie in der Fehlermeldung beschrieben.

Versuche der Reihe nach alle Divisionen zu prüfen:

1) 100/segmente
2) candle_range/average_range
3) ... /candle_range1
4) ... /segment_divisor

z.B. lasse dir die Zeitreihen segmente, average_range, /candle_range1, segment_divisor im Chart anzeigen. Gleich wirst du sehen wo eine Null vorkommt.

LG
Giuseppe
keep going on...
Inv [7.6.7]

Peratron

unregistriert

3

Mittwoch, 18. November 2015, 13:39

Hallo Guiseppe,

danke für den Tip.

Hab die Formel nun wie folgt geändert, und nun funktioniert es ohne Probleme.

// prozentualer Anteil jedes der Segmente an der Gesamtkerze
calc segment_divisor: 100/segmente;
// Handelsspanne der aktuellen Kerze
calc candle_range: If(high-low = 0, 0.00000001, high-low);
// durchschnittliche Handelsspanne der letzten x Kerzen im Chart
calc average_range: GD(candle_range,perioden,s);
// Ratio aus Handelsspanne und durchschnittlicher Handelsspanne, wenn aktuelle Kerze nicht überduchschnittlich groß ist - sonst 1
calc range_multiplier: If(candle_range/average_range > 1, 1, candle_range/average_range);

calc candle_range1: candle_range/100;

calc HO:Round((((high-open)/candle_range1)*range_multiplier)/segment_divisor);
calc HC:Round((((high-close)/candle_range1)*range_multiplier)/segment_divisor);
calc OL:Round((((open-low)/candle_range1)*range_multiplier)/segment_divisor);
calc CL:Round((((close-low)/candle_range1)*range_multiplier)/segment_divisor);

If(art=HO,HO,If(art=HC,HC,If(art=OL,OL,If(art=CL,CL,0))))