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.
Rubelroller
unregistriert
Rubelroller
unregistriert
Hallo Vuego,
ja, mit AutoIT, kann man die Ausschaltzeit automatisch von PM auf AM und umgekehrt umschalten.
Da aber zwischen 23:00 und 23:15 TWS sowieso keine Daten liefert, könnte man automatisch um 23:10 aussteigen und dann wieder automatisch (mit myTWSStart vom Bernd) um 23:12 einsteigen. Vorteil: TWS läuft stabiler, Nachteil: Tradeliste wird gelöscht.
Tim
unregistriert
Zitat
Hat jemand eine Idee, woran das liegen kann?
Yoggi
unregistriert
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
Opt("WinWaitDelay",100) Opt("WinTitleMatchMode",4) Opt("WinDetectHiddenText",1) Opt("MouseCoordMode",0) WinWait("UX - Interactive Brokers Trader Workstation","") If Not WinActive("UX - Interactive Brokers Trader Workstation","") Then WinActivate("UX - Interactive Brokers Trader Workstation","") WinWaitActive("UX - Interactive Brokers Trader Workstation","") Send("{ALTDOWN}e{ALTUP}g") WinWait("Trader Workstation Configuration","") If Not WinActive("Trader Workstation Configuration","") Then WinActivate("Trader Workstation Configuration","") WinWaitActive("Trader Workstation Configuration","") Send("ausstieg{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{SPACE}{TAB}{TAB}{TAB}{ENTER}{TAB}{TAB}{ESC}") |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
WinWait("UX - Interactive Brokers Trader Workstation","") If Not WinActive("UX - Interactive Brokers Trader Workstation","") Then WinActivate("UX - Interactive Brokers Trader Workstation","") if WinWaitActive("UX - Interactive Brokers Trader Workstation","")=1 or controlfocus("UX - Interactive Brokers Trader Workstation","","")=1 Then controlsend("UX - Interactive Brokers Trader Workstation","","","{ALTDOWN}e{ALTUP}g") WinWait("Trader Workstation Configuration","") If Not WinActive("Trader Workstation Configuration","") Then WinActivate("Trader Workstation Configuration","") if WinWaitActive("Trader Workstation Configuration","")=1 or ControlFocus("Trader Workstation Configuration","","")=1 then ControlSend("Trader Workstation Configuration","","","ausstieg{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{SPACE}") sleep(2000) ControlSend("Trader Workstation Configuration","","","{TAB}{TAB}{ENTER}") sleep(2000) ControlSend("Trader Workstation Configuration","","","{TAB}{TAB}") sleep(2000) ControlSend("Trader Workstation Configuration","","","{ESC}") EndIf EndIf |
wie Bernd in seinem anderen Thread geschrieben hat: bei jedem TWS Update muss man dann wieder prüfen, ob nicht ein Feldchen dazu gekommen ist.
Grund: im Folgenden Coding werden wir nicht mehr die (bei AutoIT-) eingebaute Funktion Send() verwenden, um das Logon-Popup zu bedienen, sondern die ebenfalls eingebaute Funktion ControlSend(), welche auch bei gesperrtem Bildschirm funktioniert. Die "or" Verknüfung ist nötig, damit auch vorhandenes älteres Coding noch funktioniert.
Das neue GUI ist nicht sehr Timing-stabil, d.h. es bekommt die Folge der Tabs, um von Feld zu Feld zu springen, nicht immer alle mit.
Um diesem Umstand Rechnung zu tragen, habe ich die Sleep(20) Befehle eingefügt, welche oben im Coding zu sehen sind. 20 Millisekunden warten zwischen den Tabs
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Bernd« (13. Oktober 2008, 22:42)