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

 
Ilnur Iksanov:
#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); // Return zero here
   hButtonStart = GetDlgItem(GetDlgItem(hTester,0x81BF),0x40A);  //дескриптор кнопки "Старт"
        
   PostMessageA(GetDlgItem(hTester,0x81BF),WM_COMMAND,0x40A,hButtonStart); //нажимаем кнопку старт
   
   Print("Запуск тестера стратегий");
   string sButtonStartName = "";
   while(!IsStopped()) 
   {
      Sleep(3000);
      GetWindowTextA(hButtonStart,sButtonStartName,6); //считываем текст кнопки запуска тестера
      if(sButtonStartName=="Старт")                    
      {
         Print("Работа тестера завершена");
         break;
      }
   }
}



Questa è roba forte. Grazie per averlo condiviso.

Ma questo non funziona per me. Metatrader e Terminal Id sono ok, ma non riesce a trovare la finestra del tester. Immagino che la tua soluzione sia per MT4 mentre io sto usando MT5. O forse è un problema di lingua (il mio MT5 è in portoghese). C'è un altro modo per scoprire l'ID corretto per la finestra del tester? Grazie mille. E mi dispiace molto per aver risposto in (povero) inglese.

 

Buon pomeriggio.

Ragazzi, per favore aiutatemi con lo script di acquisto e vendita quando il trading 1click è attivo. Semplice, senza il fastidio di cambiare la dimensione del lotto... ecc...

Già rotto la mia testa - non ottenere nulla.

Vi sono molto grato in anticipo. Rileggendo il thread, non ho trovato nulla di simile.

 
axis:

Buon pomeriggio.

Ragazzi, per favore aiutatemi con lo script di acquisto e vendita quando il trading 1click è attivo. Semplice, senza il fastidio di cambiare la dimensione del lotto... ecc...

Già rotto la mia testa - non ottenere nulla.

Vi sono molto grato in anticipo. Vetku ha riletto, non ha trovato nulla di simile.


Diffondi ciò che non puoi ottenere qui (codice), o in un nuovo post, ti verrà consigliato ciò che è sbagliato. Il trading con un clic impedisce allo script di fare trading? Forse solo il pulsante di scambio automatico non è attivato? Oppure la vostra società di intermediazione non permette il trading automatico.

Dovreste almeno provare a pubblicare i codici di errore del giornale, o meglio ancora, il codice sorgente.

 

Ma comunque, c'è un modo ragionevole per impostare programmaticamente le date per testare gli EA? Penso che il metodo descritto prima daYuriy Zaytsev funzioni, ma ci sono funzioni che si rivolgono a elementi come DateTimePicker, come questa:

DateTime_SetSystemtime(GetDlgItem(hwndDlg, IDD_Date1), GDT_VALID, &SysTime);

Solo che non è ancora possibile implementarlo. Qualche pensiero su questo?