Einzelnen Beitrag anzeigen
  #2 (permalink)  
Alt 22.04.19
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von stoffel Beitrag anzeigen
... aber wenn sie den %abstand berechnet kommt es zu unsinnigen Ergebnissen. Zusätzlich habe ich für den aktuellen Chart ein Label-objekt erstellt. Da werden die Ergebnisse korrekt angezeigt
Kling vllt etwas kompliziert ist es aber nicht. Ich hänge einen Screenshot an.
hier mal meine Funktion:
8< --- SNIP ---
Ich hoffe ich habe mich halbwegs klar ausgedrückt.
Im Screenshot unten kann man den Tooltip mit den W52 High/Low % sehen.
Hat jemand eine Idee warum die Berechnung für den aktuellen Chart korrekt ist, nicht aber bei den Tooltips
So ganz klar ist das nicht und Dein Bild sieht eher aus wie der Negekampf im Tunnel. Ich habe folgendes gemacht:
1. _Symbol eingesetzt, damit ich das zum Testen auf ein paar Paare schmeißen kann.
2. die w52Prozent erst mal als reinen Wert genommen
3. alle Berechnungen auf _Digit Wert Genauigkeit
4. dann beim Prozent die *100
5. ganz zum Schluß die 2-er Digits für die Prozente
Hier stimmt alles. Code:
Code:
         double w52Prozent = NormalizeDouble((w52High-w52Low),_Digits);
         
         double w52HighProzent1 = NormalizeDouble(w52High-Close[0],_Digits);
         double w52HighProzent  = NormalizeDouble(w52HighProzent1/w52Prozent*100,_Digits);
            if(w52HighProzent > 100 || w52HighProzent < 0)Print("w52 ERROR w52HighProzent ",w52HighProzent," ",GetLastError());
            
         double w52LowProzent1  = NormalizeDouble(Close[0]-w52Low,_Digits);
         double w52LowProzent   = NormalizeDouble(w52LowProzent1/w52Prozent*100,_Digits);
            if(w52LowProzent > 100 || w52LowProzent < 0)Print("w52 ERROR w52LowProzent ",w52LowProzent," ",GetLastError());

           //Print("end ",GetMicrosecondCount());
           Print(_Symbol," w52Prozent Range(100%): ",w52Prozent);
           Print(_Symbol," summ H%1+L%1: ",w52HighProzent1+w52LowProzent1);
           Print(_Symbol," W52 iHighest: ",w52iHighest," W52 High: ",w52High," W52 High % ",w52HighProzent);
           Print(_Symbol," W52 iLowest: ",w52iLowest," W52 Low: ",w52Low," W52 Low % ",w52LowProzent);
           Print(_Symbol," summ H%+L%: ",w52HighProzent+w52LowProzent);

LabelCreate(0,"Label",20,20,"text","Arial",12,clrYellow,0,1,"tooltip");         
ObjectSetString(0,"Label",OBJPROP_TOOLTIP,
                   "MarketClose="+DoubleToStr(Close[0],_Digits)
                +"\nw52 High="+DoubleToStr(w52High,_Digits)
                +"\nw52 Low ="+DoubleToStr(w52Low,_Digits)
                +"\nLow % ="+DoubleToStr(w52LowProzent,2)
                +"\nHigh %="+DoubleToStr(w52HighProzent,2)
               );
Vielleicht geht es so bei Dir. AVT