Uzun zamandır birçok ayar ile çalışma ihtiyacı ile uğraşmak zorunda kaldım. Mümkün olduğunda, bu sorunu DLL üzerinden parametrelerin sekmelere ayrıldığı özel bir iletişim kutusu oluşturarak çözüyorum. Başlatma işleminden sonra bu pencere gizlenir ve ardından program her zamanki gibi çalışır.
Şimdi, büyük bir parametre listesinde gezinmemek için MQL'de benzer bir şey olsaydı. Teklifin kendisi, nasıl düzenleneceği ilginç. Yalnızca sözdizimi kendini biraz farklı gösteriyor:
input struct VolumeParams // Здесь название вкладки { // Содержимое вкладки double Lot1 = 0.01 ; double Lot2 = 0.02 ; double LotRatio = 1.5 ; };
Uzun zamandır birçok ayar ile çalışma ihtiyacı ile uğraşmak zorunda kaldım. Mümkün olduğunda, bu sorunu DLL üzerinden parametrelerin sekmelere ayrıldığı özel bir iletişim kutusu oluşturarak çözüyorum. Başlatma işleminden sonra bu pencere gizlenir ve ardından program her zamanki gibi çalışır.
Şimdi, büyük bir parametre listesinde gezinmemek için MQL'de benzer bir şey olsaydı. Teklifin kendisi, nasıl düzenleneceği ilginç. Yalnızca sözdizimi kendini biraz farklı gösteriyor:
doğru, çok daha kısa) ama dll ile ne yazık ki Market'e gitmeyecek.
ve iletişim kutusunu kullanmak, test cihazındaki parametreleri optimize etmenize izin vermez
o zaman böylesi daha iyi:
struct VolumeParams { double lot; //название параметра double LotRatio; //название параметра int tp; //название параметра int sl; //название параметра int orders; //название параметра }; VolumeParams ParamBuf[ 5 ]; input ParamBuf[ 0 ]; // Здесь название вкладки input ParamBuf[ 1 ]; // Здесь название вкладки input ParamBuf[ 2 ]; // Здесь название вкладки input ParamBuf[ 3 ]; // Здесь название вкладки input ParamBuf[ 4 ]; // Здесь название вкладки
IMHO, mükemmel fikir, OOP kavramına karşılık gelir. Şimdiye kadar 2 seçenek görüyorum:
1) FrameInputs tarzında
parameters
[out] Parametre adları ve değerlerinin açıklamasını içeren dize dizisi
parametreler_sayısı
[out] Parametreler[] dizisindeki öğelerin sayısı .
2) MqlParams tarzında.
Ben her zaman ilk yaklaşımı kullanırım.
Bir Expert Advisor bir ticarete konulduğunda (en azından bir demoda, en azından gerçek bir tanesinde) - parametreler sabitlenir - ve Expert Advisor sınıfına sadece bir parametre iletilir - risk yüzdesi. Bununla birlikte, ayar parametreleri aynı yapıda yazılır ve Uzman Danışman içinde tanımlanır - ya yapıcıda ya da özel bir işlevde.
"Sınıfta danışman" yaklaşımından bahsediyorum. Giriş parametrelerinin , sınıfı ayrı bir .mqh dosyasında bulunan bir Expert Advisor'a iletilmesinde bir sorun var.
Sorunu hissetmedim. Şablonu sınıf yapıcısına kaydedin ve hepsi bu.
Müşterilerle iletişim kurmadınız)
...burada müşteri 10 giriş istiyor ve her adımın kendi tp / sl / lot / iz / giriş sinyali var
ve hepsinin test cihazında optimize edildiğini)
Peki bu, konunun konusuyla nasıl ilişkilidir?
Peki bu, konunun konusuyla nasıl ilişkilidir?
Tartışmanın kendisi gerçekten de konu başlığından biraz sapmış. Şimdi TS gönderisinin ikinci kısmı daha fazla tartışılıyor:
Peki ya MQL dilinin bir uzantısını yapıp girdi değişkenlerini bir yapıya yerleştirirsek? Aynı şekilde, işaretçilerin taklidi nedeniyle C++ ve C ile uyumlu değildir. Öyleyse neden daha ileri gitmiyorsun?
O zaman ivars değişkenini algoritma sınıfına geçirmek, kopyalamak vb.
Peki bu, konunun konusuyla nasıl ilişkilidir?
Bu doğrudur, tüm bu parametre yığınını yazmak için yapıyı tanımlamak ve giriş parametrelerinin içine koymak yeterli olacaktır.
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
"Sınıfta danışman" yaklaşımından bahsediyorum. Giriş parametrelerinin , sınıfı ayrı bir .mqh dosyasında bulunan bir Expert Advisor'a iletilmesinde bir sorun var. iki yol kullanırım
Peki ya MQL dilinin bir uzantısını yapıp girdi değişkenlerini bir yapıya yerleştirirsek? Aynı şekilde, işaretçilerin taklidi nedeniyle C++ ve C ile uyumlu değildir. Öyleyse neden daha ileri gitmiyorsun?
O zaman ivars değişkenini algoritma sınıfına geçirmek, kopyalamak vb.
Fikri beyin fırtınası düzeyinde ele alın))