Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Testteki yardımlarınız için teşekkür ederiz! Güncellenmiş MTTester.mqh gönderildi.
Kütüphane için çok teşekkür ederim
Bu Uzman Danışman, Durdur değilse, her üç saniyede bir Başlat düğmesine basar. Basmayı başardım - doğru, aksi takdirde - yanlış.
Standart durum.
Başlat'a basıldı - hesaplama başladı.
Bu işlem ~125 ms sürer.
Bu alışılmadık bir durum değil.
Başlat'a basın - ya anlık hesaplama başlatılır ya da Test Cihazı hesaplamayı gerçekleştiremediğini bildirir (örn. FromDate >= ToDate).
Bu işlem yaklaşık bir saniye sürer. Kütüphane uyarı verecek, ancak düğmeye basıldığı için true değerini döndürecektir.
Nadir bir durum.
Başlat düğmesine basılmamış. Bu durum yalnızca Terminal yeniden başlatılarak düzeltilebilir.
Bu durumun kayıtları bende yok. Böyle bir durumu tespit etmek <10 saniye sürecektir. Bunun gibi bir uyarı olacak.
Yanlış döndür - düğmeye basılmamıştır.
Nadir bir durum.
Başlat düğmesine basılmamış. Bu durum yalnızca Terminal yeniden başlatılarak düzeltilebilir.
Uzaktaki bir WinServer makinesi hiç hata vermeden sürekli olarak yüzlerce tek geçiş yapıyordu.
Bu makinede oturum açar açmaz (RDP), Başlat düğmesi tıklamayı durdurdu. Tedavisi, her zaman olduğu gibi, Terminal'i yeniden başlatmak.
Görünüşe göre bu davranışın makineye yapılan benzer girişlerle bir ilgisi var. RDP üzerinden düzinelerce kez oturum açabilirsiniz - her şey yolunda çalışır. Ancak bazı girişler Test Cihazı için ölümcül olur.
Start-bug ile karşılaşanlar - makinede oturum açma ile Start düğmesi arasındaki ilişkiye dikkat edin.
ZY Tesadüf olsun ya da olmasın, WinServer makineye bu oturum açma sırasında güncellemelerini kontrol etmeyi teklif etti.
İyi kütüphane.
Test için programlı olarak hangi *.set dosyasının parametre ayarlarıyla geçileceğini belirtmek mümkün mü?
Varsayılan olarak yalnızca aynı ayarlar kullanılır, bu da çok uygun değildir.
Test için programatik olarak hangi *.set dosyasının parametre ayarları ile geçileceğini belirtmek mümkün mü?
Örnek.
Teşekkürler.
Ayarları, satırları \n karakteri ile ayrılmış tek bir satırda geçmek daha mı iyidir.
yoksa örnekteki gibi bir satır dizisi mi?
Ve şu şekilde değiştirmek mümkün mü
MTTester sınıfı statik yöntemi Run
static bool Run( const string ExpertName = NULL,
const string Symb = NULL,
const ENUM_TIMEFRAMES period = PERIOD_CURRENT,
const datetime iBeginTime = 0,
const datetime iEndTime = 0 )
.set EA ayarlarını belirten bir parametre dizesi (veya dizeler dizisi) ekleyebilir misiniz?
Teşekkür ederim.
Ayarları \n karakteri ile ayrılmış satırlarla tek bir satırda geçmek daha mı iyi?
yoksa örnekteki gibi bir satır dizisi mi?
GetSettings, Tester'da CTRL+C'dir.
SetSettings, Tester'da CTRL+V'dir.
CTRL+C/V'nin hangi verilerle çalıştığını görün.
Ve bunun değiştirilmesinin mümkün olup olmadığı
MTTester sınıfı statik yöntemi Run
Ben bu yöntemi kullanmıyorum. Geçmiş olarak kalır.
Örnek, ihtiyaç duyulan tüm MTTESTER yöntemlerini göstermektedir.
Test için programatik olarak hangi *.set dosyasının parametre ayarları ile geçileceğini belirtmek mümkün mü?
Validate, Tester'ın tam teşekküllü ini dosyaları ve azaltılmış bir versiyonu - Tester için set dosyaları ile çalışır.
Çok sayıda ini/set dosyası çalıştırmanız gerekiyorsa, Validate bunu kutudan çıkar çıkmaz yapar. Kullanmak için.
Validate, tam teşekküllü Tester ini-dosyaları ve sadeleştirilmiş bir sürüm olan Tester için set-dosyaları ile çalışır.
Çok sayıda ini/set dosyası çalıştırmanız gerekiyorsa, Validate bunu kutudan çıkar çıkmaz yapar. Kullan.
Teşekkürler.
Bu yorumdan set dosyasının string dizi olarak gerekli formatta yüklendiği bir çözüm buldum.
https://www.mql5.com/ru/forum/318305/page34#comment_51842356
Ben de değiştirdim
typedef bool (*INITDEINIT)( void );
Her çalışmanın başlatılması ve sonlandırılmasında geri arama çağrılarının işaretçisi
arayüze
arayüz InitDeInit {
bool RunInit();
bool RunDeInit();
};
bir mirasçıda uygulanan
SETTINGS yapısına benzer bir sınıfın
ve böylece RunInit() yönteminde.
Gerekli aracın set dosyasını yüklüyorum.
typedef bool (*INITDEINIT)( void ); - bu işaretçi hangi aracın başlatıldığını/devre dışı bırakıldığını bilmenize izin vermez, bu nedenle arayüze bir işaretçi kullanmak daha iyidir, çünkü yöntemlere işaretçiler henüz MQL tarafından desteklenmemektedir.
Bu yaklaşımla MTTester::Run yöntemini değiştirmeye gerek yoktur.