Automazione con intercettazione di pulsanti e clic del mouse. - pagina 4

 
HIDDEN >> :

interessato al controllo software del tester di strategia.

1. aprirlo da Expert Advisor (codice trovato)

2. premere il pulsante Start

ecc. In generale, sarebbe auspicabile avere tutti i codici di questa finestra. pulsanti, ecc.

Tu vuoi cavartela facilmente. :))

Ci sono molte cose complicate qui:


1. aprire la finestra del tester

2. aprire la lista degli EA, selezionare un determinato EA dalla lista per nome (può essere saltato, lasciando prima una posizione nella lista)

3. aprire la lista dei simboli, selezionare un dato simbolo dalla lista per nome (si può saltare questa operazione lasciando prima una posizione nella lista)

4. aprire l'elenco dei metodi, selezionare un dato metodo dall'elenco per nome o numero

5. Aprire l'elenco dei periodi, selezionare un dato periodo dall'elenco per nome o numero

6. Spunta la casella "Usa la data", spuntala

7. Spunta la casella di controllo "Ottimizza". 10.

8. Seleziona la casella "Visualizzazione", deselezionala (opzionale)

9. Inserisci la data indicata nella finestra "Da" (se possibile)

10. Inserire la data impostata nella finestra "A" (se possibile)

11. premere il pulsante "Start

12. Ricevere un segnale della fine dell'ottimizzazione, cioè il testo "Start" restituito al pulsante (si può usare un timer)

13. Chiudere la finestra del tester


Questo se non mi sono ancora perso qualcosa.

 
granit77 >> :

Tu vuoi cavartela facilmente. :))

Ci sono un sacco di cose complicate qui:


1. aprire la finestra del tester

2. aprire la lista degli Expert Advisors, selezionare un determinato Expert Advisor dalla lista per nome (può essere saltato, lasciando prima una posizione nella lista)

3. aprire la lista dei simboli, selezionare un dato simbolo dalla lista per nome (è possibile saltarlo lasciando prima una posizione nella lista)

4. aprire l'elenco dei metodi, selezionare un dato metodo dall'elenco per nome o per numero

5. Aprire l'elenco dei periodi, selezionare un dato periodo dall'elenco per nome o numero

6. Spunta la casella "Usa la data", spuntala

7. Spunta la casella di controllo "Ottimizza". 10.

8. Seleziona la casella "Visualizzazione", deselezionala (opzionale)

9. Inserisci la data indicata nella finestra "Da" (se è possibile)

10. Inserire la data impostata nella finestra "A" (se possibile)

11. premere il pulsante "Start

12. Ricevere un segnale della fine dell'ottimizzazione, cioè il testo "Start" restituito al pulsante (si può usare un timer)

13. Chiudere la finestra del tester


Se non ho ancora perso qualcosa

C'è un file lastparameters.ini nella cartella del tester, ciò che impedisce che venga preparato nell'Expert Advisor, scritto e aperto nel tester e premuto il pulsante di avvio. Si scopre che la metà degli oggetti sono già scomparsi.

 

È vero, l'avevo dimenticato.

Se avete lavorato con esso, scorrere la lista, forse tutto quello che dovete fare è premere 'Start'?

 
granit77 >> :

Giusto, l'avevo dimenticato.

Se ci hai lavorato, scorri la lista, forse hai davvero bisogno solo di premere "Start"?

optimization=0 //ottimizzazione on e off
genetico=1 //genetica
fitnes=0
method=0 //metodo di prova
use_date=0 //per data
from=1226620800 // data di inizio in secondi dal 1970
to=1226620800 // data di fine


lo stesso per l'EA, dopo il test e l'ottimizzazione si fa una volta manualmente i parametri si salvano e si cambiano a piacere. Devo ancora premere il pulsante Start, oh quanto ne ho bisogno....


Se l'ottimizzazione è in corso per l'Expert Advisor che fa trading su un grafico, si può premere il codice F6 e, di conseguenza, l'Expert Advisor e la coppia di valute vengono selezionati automaticamente.

 
HIDDEN >> :

Devo ancora premere il pulsante di avvio, oh quanto ne ho bisogno....

Non sono particolarmente lusingato. Un'esecuzione manuale con ottimizzazioni periodiche non ha ancora prodotto un risultato univocamente positivo.

Inoltre, anche la questione della scelta del miglior set di parametri è sospesa nell'aria, ognuno se ne esce con un nuovo.

Mathemat ha promesso un articolo, forse chiarirà un po'.

Ma con questo strumento, le possibilità aumenteranno di un ordine di grandezza; sarà una svolta.

 

Da un thread vicino Erics suggerisce.


I codici dei pulsanti vengono cercati in Spy++ (ID di controllo)

E sono usati per ottenere il descrittore del pulsante:

hButtonStart = GetDlgItem(hTester, 0x40A);



Mi sveglierò e capirò come attaccarlo.

 

Prima di eseguire qualsiasi azione nella finestra Strategy Tester, si dovrebbe prima capire come è organizzato l'albero delle finestre in MetaTrader, e in secondo luogo, determinare
il suo descrittore di sistema. Poi, puoi usare la funzione GetDlgItem(int hDlg,int nIDDlgItem) per ottenere gli ID dei controlli necessari.


L'immagine qui sotto mostra una parte dell'albero della finestra di MetaTrader in Spy++. Il marcatorerosso indica la sua radice. Il marcatore giallo mostra la posizione della finestra "Terminale" nell'albero, ecc.
Così, per ottenere l'identificatore di sistema del pulsante "Start" (segnato con un marcatore blu nell'immagine), si deve passare in sequenza attraverso tutti i livelli superiori
. A titolo illustrativo, ogni livello è contrassegnato da un colore.




Ecco un codice di esempio in MQL per ottenere il descrittore del pulsante "Start".

#include <WinUser32.mqh>

#import "user32.dll"
   int GetAncestor(int hWnd, int gaFlags);
   int GetDlgItem(int hDlg, int nIDDlgItem);
#import

void start()
{
   int hMetaTrader, hTerminal, hTester, hButtonStart;
   
   hMetaTrader = GetAncestor(WindowHandle(Symbol(),Period()),2); //дескриптор основного окна терминала
	
   hTerminal = GetDlgItem(hMetaTrader,0xE81E);
   hTester = GetDlgItem(hTerminal,0x53);
   hButtonStart = GetDlgItem(GetDlgItem(hTester,0x81BF),0x40A);  //дескриптор кнопки "Старт"
}

Per determinare il descrittore, il secondo parametro della funzione GetDlgItem() passa l'ID del controllo al componente della finestra. Può essere definito chiamando
la voce di menu "Proprietà..." cliccando con il tasto destro del mouse. Come esempio, nella figura qui sotto l'ID di controllo della finestra "Terminal"(0xE81E) è segnato in rosso .


 
Ilnur >> :

Prima di fare qualsiasi azione nella finestra Strategy Tester, è necessario innanzitutto capire come è strutturato l'albero delle finestre in MetaTrader, e in secondo luogo, determinare


Grazie per il tutorial. Il pulsante Start è tranquillamente premuto, così come gli altri pulsanti necessari sul pannello di controllo chiamato MetaTrader 4.

 

Eh.... mi viene in mente.


Gli americani hanno mandato un turista in un sottomarino sovietico. Il primo giorno si ubriacò, la mattina si svegliò e vide il capitano con un manganello che correva dietro ai marinai e urlava: "Chi ha premuto il pulsante rosso? Chi ha premuto il pulsante rosso?". L'americano lo rimprovera:
- Sa, signore, in America non ci sono capitani che si comportano così!
- Non c'è più l'America! Chi ha premuto il pulsante rosso?

 
HIDDEN писал(а) >>

Eh.... Mi viene in mente.

Gli americani hanno mandato un turista su un sottomarino sovietico. Si è ubriacato il primo giorno. Si svegliò la mattina e vide il capitano con un manganello che inseguiva i marinai e urlava: "Chi ha premuto il pulsante rosso? Chi ha premuto il pulsante rosso?". L'americano lo rimprovera:
- Sa, signore, in America non ci sono capitani che si comportano così!
- Non c'è più l'America! Chi ha premuto il pulsante rosso?

Era un buon terminale : -)))