Ciao a tutti, oggi voglio parlarvi di un modo semplice per collegare un ordine manuale all'uso del Strategy Tester. Come molti di voi già sanno, il ChartEvent non funziona con il Strategy Tester, e gli oggetti più semplici che possiamo utilizzare (attualmente con i codici MQL5 di base) sono solo "label" e "button". Per quanto riguarda la label, non ci sono problemi ad attaccarla, ma per il bottone... anche se riesci a inserirlo nel tester, non potrai rilevarne lo stato (se è stato cliccato o meno) senza utilizzare programmazione avanzata e collegarlo ad altri sistemi.
Il trucco che ho usato per ottenere questo, è attraverso un semplice processo di rilevamento di file. Immaginate questo EA come un ricevitore autonomo; ad ogni movimento di tick, l'EA controllerà continuamente una cartella per un file che attiverà un ordine. Se il file di testo richiesto in una specifica posizione della cartella viene rilevato, l'EA eseguirà un comando per elaborare l'ordine e poi eliminerà il file. Quindi, l'esistenza di un certo file in una cartella è il comando principale per eseguire una trade.
Ora potete utilizzare qualsiasi metodo vi venga in mente per ordinare all'EA di eseguire l'ordine semplicemente posizionando un certo file in una cartella.
In questo EA, un semplice nome di file come "buy.txt", "sell.txt" o "close.txt" nella cartella "...\\Common\\Files\" di MetaTrader 5 attiverà un comando per eseguire un certo ordine in base al nome del file. I file di testo sono vuoti, è il nome del file che conta e la sua presenza nella cartella che è importante. I file devono apparire uno alla volta in <common_data_folder>\Files (la mia cartella appare così: C:\Users\Rmd user\AppData\Roaming\MetaQuotes\Terminal\Common\Files\). Solo uno dei tre file deve apparire alla volta nella cartella; in caso contrario, il primo file che l'EA legge verrà eseguito, dopo di che l'EA eliminerà qualsiasi file nominato tra i tre.
L'altra applicazione esterna di cui avrete bisogno è quella che creerà o fornirà il file di testo richiesto nella suddetta cartella, oppure potete semplicemente trovare un modo per trasferire il nome del file menzionato nella posizione della cartella target. Io l'ho realizzata in Visual Basic; mi piacerebbe condividerla, ma dubito che il sito mi permetterà di caricare un file eseguibile qui, quindi il miglior consiglio è di crearne una o cercarne una da solo. È possibile farlo in qualsiasi modo pensiate, basta posizionare il file di testo del comando nella cartella corretta. Controllate l'area discussione in fondo; pubblicherò come ho creato il mio pannello.

Raccomandazioni:
- Se desiderate utilizzare un indicatore a vostra scelta per il tester, salvate o rinominate un template dell'indicatore in "StrategyTesterPracticeTrade.tpl", lo stesso nome dell'EA che utilizzerete nel Strategy Tester.
- Fate attenzione alla posizione corretta della cartella in cui devono apparire i file di testo di comando (...\MetaQuotes\Terminal\Common\Files\).
- Potete sviluppare questa idea non solo per l'uso del Strategy Tester, ma anche come un modo per collegare influenze esterne ad altri codici EA. Ad esempio: invece di utilizzare solo la presenza di un nome di file, potete usare FileOpen e leggere il contenuto del file dove possono essere presenti e recuperati dati per Take Profit, Stop Loss e dimensioni dei lotti... ecc... Così, la vostra applicazione esterna può coprire altre possibilità su cui volete che il vostro EA reagisca.
Post correlati
- RRS Impulse: Il Tuo Esperto per MetaTrader 4
- Guida Pratica all'Utilizzo di MQL5 Wizard per Strategie di Trading con Stochastic
- MQL5 Wizard: Creare Trading Signals con Morning/Evening Stars e MFI per MetaTrader 5
- Guida all'Utilizzo di MQL5 Wizard per i Segnali di Trading: 3 Black Crows/3 White Soldiers + MFI
- Guida all'Utilizzo del MQL5 Wizard: Trading con Pattern di Candele e Indice CCI