Freitag, 19. April 2024, 23:19 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

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))))