Düğme ve fare tıklamalarının durdurulmasıyla otomasyon. - sayfa 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 ;
      }
   }
}



Bu harika bir şey. Paylaştığın için teşekkürler.

Ama bu benim için çalışmıyor. Metatrader ve Terminal Kimliği tamam, ancak test penceresini bulamıyor. MT5 kullanırken çözümünüzün MT4 için olduğunu tahmin ediyorum. Ya da belki bir dil sorunudur (MT5'im portekizcedir). Test penceresi için uygun kimliği keşfetmenin başka bir yolu var mı? Çok teşekkür ederim. Ve (zayıf) ingilizce cevap verdiğim için gerçekten üzgünüm.

 

Güzel gün.

Beyler, lütfen 1 tıklama ticareti etkinken satın alma ve satma komut dosyasıyla bana yardım edin. Basit, parti büyüklüğünü değiştirme zahmeti olmadan... ve benzeri...

Zaten kafamı kırdım - hiçbir şey olmayacak.

Şimdiden çok teşekkür ederim. Şubeyi tekrar okudum, buna benzer bir şey bulamadım.

 
axis :

Güzel gün.

Beyler, lütfen 1 tıklama ticareti etkinken satın alma ve satma komut dosyasıyla bana yardım edin. Basit, parti büyüklüğünü değiştirme zahmeti olmadan... ve benzeri...

Zaten kafamı kırdım - hiçbir şey olmayacak.

Şimdiden çok teşekkür ederim. Şubeyi tekrar okudum, buna benzer bir şey bulamadım.


Neyin işe yaramadığını buraya (kod) veya yeni bir gönderiye gönderin, size neyin yanlış olduğunu söyleyeceklerdir. Tek tıkla ticaret, komut dosyasının ticaret yapmasını engeller mi? Belki sadece autotrade butonu aktif değildir? Veya DC otomatik ticarete izin vermez, o da olur.

Genel olarak, en azından günlükten yürütme hata kodlarını yayınlama zahmetine girin ve hatta kaynak kodlarını daha da iyi hale getirin.

 

Yine de, bir danışmanı test etmek için tarihleri programlı olarak belirlemenin mantıklı bir yolu var mı? Yazar Yuriy Zaytsev tarafından daha önce açıklanan yöntemin çalıştığına inanıyorum, ancak bunun gibi DateTimePicker türünün öğelerine erişmek için işlevler var:

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

Sadece henüz uygulanmadı. Bu konuda herhangi bir fikriniz var mı?