CDax Info Tool

  • Hi!

    Hab mir so´n kleines Tool gemacht, welches immer den aktuellen Stand vom Cdax(->Is ne Citigroup Indikation des Deutschen Aktienindexes) holt und dazu gleich den durchschnitt der letzten 3 minuten ausrechnet.
    Um die Zahlen nicht immer nachschlagen zu müssen hab ich mit Splashtexton gearbeitet da ich mich mit GUI überhaupt nicht auskennne....
    Aber nun zum eigentlichen Thema:
    Wenn ich die AutoIt version 3.2.2.0 installiert hab funkt alles Problem los, nur bei der neueren Version rechnet er den Durchschnitt partout nicht aus ?(
    Fehlersuche hab ich gemacht: Hab das ganze so umgesciptet das er mir anzeigen soll ob er ne Zahl findet, wenn ja welche, wenn nein fehlermeldung. Auch ob er überhaupt die .txt findet etc.
    Komischerweise brachte er keine Fehler und das Prog. lief ansonsten normal weiter.

    Nur zur Info, ich kann auch mit der älteren Version arbeiten....mich interessiert eigentlich nur warums mitm alten geht und mitm neuen nich^^
    Falls eine/r Lust hat das ganze zu testen und mir evtl. ne Antwort geben kann würd ich mich freuen, ansonsten sag ich ma Dabke fürs lesen ;)

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    AutoIt Version: 3.2.2.0
    Author: oernzzz

    [/autoit] [autoit][/autoit] [autoit]

    Script Function:
    Template AutoIt script.

    [/autoit] [autoit][/autoit] [autoit]

    #ce ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    ; Script Start - Add your code below here

    [/autoit] [autoit][/autoit] [autoit]

    #include <INet.au3>
    #include <Array.au3>
    #include <String.au3>
    #include <Date.au3>
    #include <file.au3>
    #include <math.au3>
    #include "misc.au3"

    [/autoit] [autoit][/autoit] [autoit]

    $Datum = _NowDate()
    $Zeit = _NowTime()
    $find = "."
    $replace = ""
    $file = "C:\Dokumente und Einstellungen\Administrator\Desktop\Dax info tool\" & $Datum & ".txt"
    $Durchschnitt = "C:\Dokumente und Einstellungen\Administrator\Desktop\Dax info tool\Durchschnitt.txt"
    $Trend = "C:\Dokumente und Einstellungen\Administrator\Desktop\Dax info tool\Trend.txt"

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists ($file) = 0 Then
    _FileCreate("C:\Dokumente und Einstellungen\Administrator\Desktop\Dax info tool\" & $Datum & ".txt")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists ($Durchschnitt) = 0 Then
    _FileCreate("C:\Dokumente und Einstellungen\Administrator\Desktop\Dax info tool\Durchschnitt.txt")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If FileExists ($Trend) = 0 Then
    _FileCreate("C:\Dokumente und Einstellungen\Administrator\Desktop\Dax info tool\Trend.txt")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Func ZahlenDa()
    $Zahl1 = FileReadLine($file,1)
    $Zahl2 = FileReadLine($file,3)
    $Zahl3 = FileReadLine($file,5)
    $Zahl4 = FileReadLine($file,7)
    $Zahl5 = FileReadLine($file,9)
    $Zahl6 = FileReadLine($file,11)

    [/autoit] [autoit][/autoit] [autoit]

    If $Zahl6 > 0 Then
    $CdaxX = ($Zahl1+$Zahl2+$Zahl3+$Zahl4+$Zahl5+$Zahl6)/6
    FileWriteLine($Durchschnitt,$CdaxX)

    ElseIf $Zahl5 > 0 Then
    $CdaxX = ($Zahl1+$Zahl2+$Zahl3+$Zahl4+$Zahl5)/5
    FileWriteLine($Durchschnitt,$CdaxX)

    ElseIf $Zahl4 > 0 Then
    $CdaxX = ($Zahl1+$Zahl2+$Zahl3+$Zahl4)/4
    FileWriteLine($Durchschnitt,$CdaxX)

    ElseIf $Zahl3 > 0 Then
    $CdaxX = ($Zahl1+$Zahl2+$Zahl3)/3
    FileWriteLine($Durchschnitt,$CdaxX)

    ElseIf $Zahl2 > 0 Then
    $CdaxX = ($Zahl1+$Zahl2)/2
    FileWriteLine($Durchschnitt,$CdaxX)

    ElseIf $Zahl1 > 0 Then
    $CdaxX = $Zahl1
    FileWriteLine($Durchschnitt,$CdaxX)

    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    ;Die Schleife:

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $source = _INetGetSource("http://citiwarrants.onvista.de/snapshot.html?ID_ISSUER_GROUP=56444&ID_NOTATION=14097793")
    $found1 = _StringBetween($source, '<span class="s2gb">', "</span>");Cgax Grün
    $found2 = _StringBetween($source, '<span class="s2rb">', "</span>");Cgax Rot
    $foundzeit = _StringBetween($source, "Realtime-Kurs&nbsp;&nbsp;&nbsp;"&$Datum&",&nbsp;", "</td>")
    $Zeit = _NowTime()

    [/autoit] [autoit][/autoit] [autoit]

    If IsArray($found1) Then $found1 = $found1[0]
    If IsArray($found2) Then $found2 = $found2[0]
    If IsArray($foundzeit) Then $foundzeit = $foundzeit[0]

    [/autoit] [autoit][/autoit] [autoit]

    ;letzter Kurs vor abfrage
    $Cdaxvoriger = FileReadLine($file,1)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If $found1 > $found2 Then
    _FileWriteToLine($file,1, $found1 & @CRLF & " "& $foundzeit)

    ElseIf $found1 < $found2 Then
    _FileWriteToLine($file,1, $found2 & @CRLF & " "& $foundzeit)

    Else
    _FileWriteToLine($file,1, $Cdaxvoriger & @CRLF & " "& $foundzeit)
    Sleep(25000)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $Cdax = _ReplaceStringInFile($file, $find, $replace)

    [/autoit] [autoit][/autoit] [autoit]

    ;Aktueller Kurs
    $Cdax = FileReadLine($file,1)

    [/autoit] [autoit][/autoit] [autoit]

    ;Aktueller Zeit
    $CdaxZeit = FileReadLine($file,2)

    [/autoit] [autoit][/autoit] [autoit]

    ;Voriger Kurs
    $CdaxAlt = FileReadLine($file,3)

    [/autoit] [autoit][/autoit] [autoit]

    ;Durchschnitt der letzten 3 Minuten
    ZahlenDa()
    $CdaxXZeile = _FileCountLines($Durchschnitt)
    $CdaxX= FileReadLine($Durchschnitt,$CdaxXZeile)
    $CdaxX = Round($CdaxX,2)

    [/autoit] [autoit][/autoit] [autoit]

    $CdaxXzeileAlt= _FileCountLines($Durchschnitt) - 1
    $CdaxXAlt= FileReadLine($Durchschnitt,$CdaxXzeileAlt)
    $CdaxXAlt=Round($CdaxXAlt,2)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;Darstellung der Zahlen
    $Splashtext=(@CRLF&$CdaxZeit&" Uhr: "&$Cdax&@CRLF&"Voriger : "&$CdaxAlt&@CRLF&"3min Schnitt :"&$CdaxX&@CRLF &"alter Schnitt :"&$CdaxXAlt&@CRLF)
    SplashTextOn("CDax Info Tool", $Splashtext,170,200,0,570,8)

    [/autoit] [autoit][/autoit] [autoit]

    Sleep(25000)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Exit

    [/autoit]

    Btw: wollt ich noch fragen warum die Zeilen 88-90 so wichtig sind bzw. was bedeutet [0] hinter den Array´s?

    Danke und mfg
    oernzz

    noob aus erfahrung

  • Das hier:

    Spoiler anzeigen
    [autoit]


    $Zahl1 = FileReadLine($file,1)
    $Zahl2 = FileReadLine($file,3)
    $Zahl3 = FileReadLine($file,5)
    $Zahl4 = FileReadLine($file,7)
    $Zahl5 = FileReadLine($file,9)
    $Zahl6 = FileReadLine($file,11)

    [/autoit]

    hierdurch ersetzen:

    Spoiler anzeigen
    [autoit]


    $Zahl1 = StringReplace(FileReadLine($file,1),",",".")
    $Zahl2 = StringReplace(FileReadLine($file,3),",",".")
    $Zahl3 = StringReplace(FileReadLine($file,5),",",".")
    $Zahl4 = StringReplace(FileReadLine($file,7),",",".")
    $Zahl5 = StringReplace(FileReadLine($file,9),",",".")
    $Zahl6 = StringReplace(FileReadLine($file,11),",",".")

    [/autoit]

    Wenn du die Zahlen aus der Textdatei liest, dann ist da ein Komma drinnen, es muss aber ein Punkt sein, damit er richtig rechnen kann.

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

  • Ist mir auch bereits aufgefallen. Einige mathematische Funktionen sind pingelig geworden. Ich hatte in einem Script (wegen eines Programmfehlers) ein Leerzeichen vor der Zahl und schon funktionierte die anschließende Berechnung nicht mehr. Bis zur letzten AutoIt-Version gab es keine Probleme.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Ach So! *Mit_der_Hand_auf_die_Stirn_klatsch* Tjo da wär ich nie drauf gekommen das das Komma nun nich mehr mitm Komma-Zeichen dargestellt werden muss^^ Ich sach ma Thnx 4 help!


    mfg oernzzz

    noob aus erfahrung