Düğme ve fare tıklamalarının durdurulmasıyla otomasyon. - sayfa 4

 
HIDDEN >> :

strateji testçisinin program yönetimi ile ilgileniyor.

1. bir uzmandan açın (kod bulundu)

2. Başlat düğmesine basın

İD. genel olarak tüm kodların bu pencereden alınması arzu edilir. düğmeler vb.

Kolay kurtulmak istiyorsun. :))

Burada çok karmaşık şeyler var:


1. Test cihazı penceresini açın

2. Danışman listesini açın, belirtilen danışmanı listeden adıyla seçin (önceden listede bir pozisyon bırakarak atlayabilirsiniz)

3. Bir sembol listesi açın, listeden belirli bir sembolü ada göre seçin (önceden listede bir pozisyon bırakarak atlayabilirsiniz)

4. Yöntem listesini açın, listeden belirtilen yöntemi ada veya numaraya göre seçin

5. Dönem listesini açın, listeden ada veya numaraya göre belirli bir dönemi seçin

6. "Tarih kullan" onay kutusunun durumunu işaretleyin, kutucuğu işaretleyin

7. "Optimizasyon" onay kutusunun durumunu kontrol edin, kutuyu işaretleyin

8. "Görselleştirme" onay kutusunun durumunu kontrol edin, işaretini kaldırın (isteğe bağlı)

9. "Kimden" penceresine verilen tarihi girin (mümkünse)

10. "Kime" penceresine verilen tarihi girin (mümkünse)

11. "Başlat" düğmesine basın

12. Optimizasyon tamamlama sinyalini alın, yani. "Başlat" metnini düğmeye geri getirin (bir zamanlayıcı ile yapabilirsiniz)

13. Test cihazı penceresini kapatın


Henüz bir şey kaçırmadıysam..

 
granit77 >> :

Kolay kurtulmak istiyorsun. :))

Burada çok karmaşık şeyler var:


1. Test cihazı penceresini açın

2. Danışman listesini açın, belirtilen danışmanı listeden adıyla seçin (önceden listede bir pozisyon bırakarak atlayabilirsiniz)

3. Bir sembol listesi açın, listeden belirli bir sembolü ada göre seçin (önceden listede bir pozisyon bırakarak atlayabilirsiniz)

4. Yöntem listesini açın, listeden belirtilen yöntemi ada veya numaraya göre seçin

5. Dönem listesini açın, listeden ada veya numaraya göre belirli bir dönemi seçin

6. "Tarih kullan" onay kutusunun durumunu işaretleyin, kutucuğu işaretleyin

7. "Optimizasyon" onay kutusunun durumunu kontrol edin, kutuyu işaretleyin

8. "Görselleştirme" onay kutusunun durumunu kontrol edin, işaretini kaldırın (isteğe bağlı)

9. "Kimden" penceresine verilen tarihi girin (mümkünse)

10. "Kime" penceresine verilen tarihi girin (mümkünse)

11. "Başlat" düğmesine basın

12. Optimizasyon tamamlama sinyalini alın, yani. "Başlat" metnini düğmeye geri getirin (bir zamanlayıcı ile yapabilirsiniz)

13. Test cihazı penceresini kapatın


Henüz bir şey kaçırmadıysam..

Test cihazının klasöründe Expert Advisor'da hazırlanmasını engelleyen bir lastparameters.ini dosyası var, test cihazını kaydedip açtı ve başlat düğmesine bastı. Puanların yarısının zaten eksik olduğu ortaya çıktı.

 

Doğru, unuttum.

Onunla çalıştıysanız, listeyi inceltin, belki de sadece "Başlat" a basmak yeterlidir?

 
granit77 >> :

Doğru, unuttum.

Onunla çalıştıysanız, listeyi inceltin, belki de sadece "Başlat" a basmak yeterlidir?

optimizasyon=0 // optimizasyon açık ve kapalı
genetik=1 //genetik
uygunluk=0
yöntem=0 // test yöntemi
use_date=0 // tarihlere göre
from=1226620800 // 1970'den beri saniye cinsinden başlangıç tarihi
ile =1226620800 // bitiş tarihi


uzman için de aynı şekilde 1 kez manuel olarak test ve optimizasyon yapıldıktan sonra parametreler kaydedilir ve istediğiniz gibi değiştirilir. Hala Başlat düğmesine basmam gerekiyor, oh, nasıl ihtiyacım var ....


Optimizasyon grafikte işlem gören bir Uzman Danışman için ise, F6 koduna tıklayabilirsiniz ve Uzman Danışman ve döviz çifti buna göre otomatik olarak seçilir. onlar. birkaç nokta daha gitti.

 
HIDDEN >> :

Hala Başlat düğmesine basmam gerekiyor, oh, nasıl ihtiyacım var ....

Kendimi özellikle övmüyorum. Periyodik optimizasyonlarla manuel çalıştırma henüz kesin olarak olumlu bir sonuç vermedi.

Ayrıca, en iyi parametre setini seçme sorusu da havada uçuşuyor, herkes yeni bir tane buluyor.

Mathemat bir makale sözü verdi, belki biraz açıklığa kavuşur.

Ancak bu araçla, olasılıklar bir miktar artacak, bir atılım olacak.

 

Komşu şubeden Erics'in önerdiği .


Düğme kodları Spy++'da (Kontrol Kimliği) görünür

Ve düğme tutamağını almak için kullanılır:

hButtonStart = GetDlgItem(hTester, 0x40A);



Hemen şimdi uyanacağım ve onu nasıl mahvedeceğimi bulacağım.

 

Strateji test edici penceresinde herhangi bir işlem yapmadan önce, öncelikle MetaTrader'daki pencere ağacının nasıl düzenlendiğini anlamak ve ikinci olarak, belirlemek için gereklidir.
onun sistem kolu. Daha sonra GetDlgItem(int hDlg,int nIDDlgItem) fonksiyonunu kullanarak gerekli kontrollerin ID'lerini alabilirsiniz.


Aşağıdaki şekil, Spy++ programındaki MetaTrader terminal pencere ağacının bir bölümünü göstermektedir. Kökü kırmızı bir işaretleyici ile işaretlenmiştir. Sarı - ağaçtaki "Terminal" penceresinin konumu vb.
Bu nedenle, "Başlat" düğmesinin sistem tanımlayıcısını (şekilde mavi bir işaretle işaretlenmiştir) elde etmek için, sırayla tüm üst basamaklardan geçmek gerekir.
seviyeler. Anlaşılır olması için her seviye bir renkle işaretlenmiştir.




"Başlat" düğmesi tutamağını almak için MQL kodunun bir örneğini burada bulabilirsiniz.

 #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 ) ;  //дескриптор кнопки "Старт"
}

Tutamacı tanımlamak için GetDlgItem() işlevinin ikinci parametresi, pencere bileşeninin Kontrol Kimliğini iletmektir. Menü öğesi aranarak belirlenebilir.
"Özellikler..." farenin sağ tuşuyla. Örnek olarak, aşağıdaki şekilde, "Terminal" penceresinin ( 0xE81E ) Kontrol Kimliği kırmızı bir işaretleyici ile işaretlenmiştir.


 
Ilnur >> :

Strateji test edici penceresinde herhangi bir işlem yapmadan önce, öncelikle MetaTrader'daki pencere ağacının nasıl düzenlendiğini anlamak ve ikinci olarak, belirlemek için gereklidir.


Bilim için teşekkürler. Başlat düğmesine ve MetaTrader 4 adlı kontrol panelindeki diğer gerekli düğmelere başarıyla basıldı.

 

Eh .... hatırladım.


Amerikalılar Sovyet denizaltısına bir turist gönderdi. İlk gün sarhoş oldu. Sabah uyanır ve görür - coplu kaptan denizcilerin peşinden koşar ve bağırır: "Kırmızı düğmeye kim bastı? Kırmızı düğmeye kim bastı?" Amerikalı onu azarlar:
- Ve biliyorsunuz efendim, ama burada Amerika'da kaptanlar böyle davranmaz!
- Artık senin Amerika'n yok! Kırmızı düğmeye kim bastı?!

 
HIDDEN писал(а) >>

Eh .... hatırladım.

Amerikalılar Sovyet denizaltısına bir turist gönderdi. İlk gün sarhoş oldu. Sabah uyanır ve görür - coplu kaptan denizcilerin peşinden koşar ve bağırır: "Kırmızı düğmeye kim bastı? Kırmızı düğmeye kim bastı?" Amerikalı onu azarlar:
- Ve biliyorsunuz efendim, ama burada Amerika'da kaptanlar böyle davranmaz!
- Artık senin Amerika'n yok! Kırmızı düğmeye kim bastı?!

Terminal iyiydi :-)))