Automattizare trading con FindWindow, FindWindowEx e SendMessage...
In breve vi racconto la mia esperienza nella ricerca di un'automazione per l'invio degli ordini generati dai trading system di visual trader.
Cercando su google avevo trovato un metodo per inviare messagi agli oggetti presenti sul desktop.
Ogni oggetto del desktop ha un HWND, un indirizzo univoco, per intenderci.
Un avolta trovato l'oggetto con cui vogliamo interagire e ottenuto il suo HWND, possiamo iniziare il dialogo con l'oggetto.
Per capire come funziona il giochino basta scaricare spy++ 8.0 e tramite il cursore di ricerca muoversi su uno qualsiasi degli oggetti presenti sul desktop per ottenere il suo puntatore: hwnd.
Le funzioni che espone la dll User32.dll, sono quelle che ci servono per ricercare hwnd del'oggetto e sono FindWindow, FindWindowEx e SendMessage per comunicare con lei.
Ecco dove nasce il problema: la msgbox di invio ordine che apre VT, questa per intenderci,
http://digilander.libero.it/s.borgia72/images/vt.JPG non ha una caption, ma espone la stessa hwnd della madre.
Come possiamo vedere con spy++, l'hwnd della finesta è 70E58, ma questa non HA CAPTION!!!.. di conseguenza non so a che titolo si riferisce l'ordine...
Gli unici hwnd esposti sono i 2 textbox, prezzo/quantità, e Trading/chiudi.
Un' altro approccio alla soluzione del problema potrebbe essere quello di utilizzare le funzionalità di VT per scrivere su file di testo gli ordini e creare un Software esterno per inviarli...
In questo caso però non sappiamo quale standard seguire per l'invio degli ordini.
Una soluzione ibrida potrebbe essere utilizzare VT per generare i segnali e scriverli in un file di testo ed utilizzare un programma terzo per inviare gli ordini ad IW Bank utilizzando la loro PEI.
Questo servizio è ben documentato e risolverebbe l'automazione in toto:
http://www.iwbank.it/documenti/moduli/moduli_vari/pei.pdf
Spero che qualche programmatore possa darci una mano a risolvere il problema...magari trovando un approccio diverso per la soluzione del problema!!!
ciao a tutti .. stefano.