Limits: Horizontale Linie im Wertpapier-Chart + relativer Abstand zu Limit

Hallo, ich habe letztens das Wertpapier-Attribut “Limit Preis” entdeckt und finde es sehr hilfreich.
Was in meinen Augen noch wesentlich mehr Übersicht der Limitüberwachung bringen würde wären folgende zwei Punkte:

A) Horizontale Linie entsprechend eingetragenem Limit im Wertpapierchart
So würde man zeitlich gut sehen wie sich der Kurs zu dem Limit verhält.

B) relativer Abstand von aktuellem Kurs zu eingestellten Limitkurs
z.B. als readonly Text in der jeweiligen Zelle der Limit-Spalte. Aktuell steht in der Zelle z.B. “< 45”. Da könnte dann sowas stehen “< 45 (-13%)”. Wobei die “< 45” durch den Benutzer eingegeben und die “(-13%)” durch die Software berechnet und angezeigt wird.
Das ermöglicht eine bessere Einschätzung wie groß der Abstand zwischen Kurs und Limit ist.

Falls es diese Anfrage schonmal gab, bitte ich um Entschuldigung der Doppelmeldung und um einen zusätzlichen Strich zu diesem Thema auf der Wunschliste. Ich hab nach “chart limit preis horizontale linie” gesucht und nichts gefunden.

Danke und Grüße

Zu B:

1 Like

Danke, @chirlu, für den Hinweis zu dem bestehenden Thema bezüglich des relativen Abstands.
Die prinzipielle Frage die ich mir stelle: wäre das eine für die Allgemeinheit sinnvolle Änderung oder spricht da etwas dagegen?

Ich hab mich mal dran gesetzt und den SourceCode zu den Limits angesehen, eclipse installiert und bei mir versucht den relativen Abstand zu implementieren.
Fazit: Durch die bereits vorhandene, sehr saubere Implementierung sollte die Änderung schnell möglich sein.

Lediglich die Datei “AttributeColumn.java” muss geändert werden. Und zwar in der Funktion “public String getText(Object element)” müssen die letzten beiden Zeilen durch diesen Code ersetzt werden:

LimitPrice value = (LimitPrice)attributes.get(attribute);
if (value == null)
    return null;
            
SecurityPrice latestSecurityPrice = security.getSecurityPrice(LocalDate.now());
if (latestSecurityPrice == null)
    return attribute.getConverter().toString(value);
                        
double relativeDistance = ((double)value.getValue()/latestSecurityPrice.getValue() - 1);
DecimalFormat df = new DecimalFormat("+#.#%;-#.#%"); //$NON-NLS-1$
return attribute.getConverter().toString(value) + " (" + df.format(relativeDistance) +")"; //$NON-NLS-1$ //$NON-NLS-2$
Die gesamte Funktion wäre dann diese:
@Override
public String getText(Object element)
{
    Security security = Adaptor.adapt(Security.class, element);
    if (security == null)
        return null;

    Attributes attributes = security.getAttributes();
    if (attributes == null)
        return null;
    
    LimitPrice value = (LimitPrice)attributes.get(attribute);
    
    if (value == null)
        return null;
    
    SecurityPrice latestSecurityPrice = security.getSecurityPrice(LocalDate.now());
    if (latestSecurityPrice == null)
        return attribute.getConverter().toString(value);
                
    double relativeDistance = ((double)value.getValue()/latestSecurityPrice.getValue() - 1);
    DecimalFormat df = new DecimalFormat("+#.#%;-#.#%"); //$NON-NLS-1$
    return attribute.getConverter().toString(value) + " (" + df.format(relativeDistance) +")"; //$NON-NLS-1$ //$NON-NLS-2$
}

Und so sähe es dann aus an einem Beispielwertpapier:

Es wird berechnet wieviel der Kurs prozentual noch steigen/fallen müsste bis zum eingegebenen Limit.
Ich habe versucht mich am vorhandenen Code-Style zu orientieren.
Ich hoffe ich habe nichts übersehen und bin offen für Rückmeldungen.

Grüße

1 Like

Ich hab mich jetzt zu beiden Punkten dran gesetzt und einen Entwurf implementiert. Mir stellt sich nur die Frage: lohnt sich der Aufwand den Entwurf noch glatt zu ziehen (z.B. Übersetzungen) um dann einen Pull request zu machen? Oder sind das Funktionen an denen sowieso schon an anderer Stelle entwickelt wird oder sollen solche Funktionen gar nicht hinein?
Mir selbst würden diese (vor allem die Limits im Chart) viel helfen um einen Überblick über Limits und Unterstützung zur Anpassung der Limits zu haben.

Im Folgenden kurz die Implementierungsergebnisse:

Limits im Chart:
grafik

  • Eine zusätzliche Chart-Option “Zeige Limits”
  • Alle Limits des ausgewählten Wertpapiers werden eingezeichnet
  • Offen: Was wäre eine geeignete Farbe für die Linien?
  • Offen: Linienfarbe auch ändern (Rot, Grün) wenn Limit durch aktuellen Kurs unter-/überschritten ist?

Relativer Abstand zwischen Kurs und Limit:
grafik

  • Pauschal im Limitfeld mit hinten dran gehangen
  • Offen: Sollte es einstellbar sein, ob der Abstand angezeigt wird? Wenn ja: Wo sollte das am besten eingestellt werden?

Ich habe beide Punkte bei mir lokal im eclipse implementiert. Bisher habe ich es nicht hinbekommen die Änderungen in meinen fork über eclipse zu pushen (entsprechend Verbesserungen im Source Code in GitHub einbringen - #7 by inv-trad). Es kommt ein Anmeldefenster in dem ich meine github Anmeldedaten eingebe. Die Anmeldung schlägt aber fehl. Im Browser klappt die Anmeldung aber.
Weiß da jemand woran das liegen könnte?

2 Likes

Die Limits im Chart konnte ich dann doch noch pushen und einen Pull Request anlegen.
So wie ich das sehe könnte die Funktion in der nächsten Version verfügbar sein.
Danke für’s Aufnehmen des Features!

Damit kann dieses Thema wohl geschlossen werden.
Die Thematik mit dem Abstand (relativ/absolut) zwischen Kurs und Limit ist ja hier besser geeignet: Prozentualer/absoluter Abstand zum Limit darstellen

3 Likes