Yeni başlayanlardan sorular MQL4 MT4 MetaTrader 4 - sayfa 237

 
Sergey Likho :

MT5 göstergesi iki renkte bir çizgi çizer .

Satır değerleri bir arabellektedir.

Göstergeden değer istenirken çizginin rengini bir şekilde belirlemek mümkün müdür?

Yapabilir. Çizgi rengi, renk arabelleğinde saklanır. Yalnızca bir satır varsa, değer arabelleği 0 ve renk arabelleği 1'dir. Buna göre CopyBuffer'da ikinci parametreyi 1'e ayarlayın.
 
Ventura :

Parametre penceresini programlı olarak görüntülemek mümkün değilse, parametreleri bir şekilde başlatmanın mümkün olup olmadığını söyleyin.

 input double BuyStop= 100 ;
double MyBuyStop=BuyStop;


.........
if (something) MyBuyStop= 200 ;
 
Евгений :

ne tavsiye edersin

İlk olarak, siparişlerin sembol ve sihirle filtrelenmesi gerekir. İki siparişiniz kaldı. Durumunuza göre kaldırmak istediğinizi seçin. Sil, biri kalır, stoploss'u değiştir.

 
Aleksei Stepanenko :
 input double BuyStop= 100 ;
double MyBuyStop=BuyStop;


.........
if (something) MyBuyStop= 200 ;

Alexey, senden parametre hesaplama fonksiyonunu nasıl çağıracağımı, parametreler penceresi görünmeden ÖNCE, sonra değil söylemeni istedim.

Soru açık: parametre penceresini PROGRAM olarak çağırmak mümkün mü? Değilse, parametreler penceresi görünmeden ÖNCE fonksiyondan parametreleri başlatmak mümkün müdür.

Böyle bir şey yapmak istiyorum:

çift BuyStop girin = GetMyBuyStop();

Ancak yalnızca bir sabitin sağda olabileceği bir hata oluşur (

 
Ventura :

Alexey, senden parametre hesaplama fonksiyonunu nasıl çağıracağımı, parametreler penceresi görünmeden ÖNCE, sonra değil söylemeni istedim.

Soru açık: parametre penceresini PROGRAM olarak çağırmak mümkün mü? Değilse , parametreler penceresi görünmeden ÖNCE fonksiyondan parametreleri başlatmak mümkün müdür?

Böyle bir şey yapmak istiyorum:

çift BuyStop girin = GetMyBuyStop();

Ancak yalnızca bir sabitin sağda olabileceği bir hata oluşur (

Parametre penceresi görünmeden önce hiçbir şey yoktur, her şey ancak daha sonra, pencere zaten yüklendiğinde başlar

 

Vitaly tam olarak söyledi!

Grafikte bir panel oluşturun , değişkenleri oradan yönetin.

 
Vitaly Muzichenko :

Parametre penceresi görünmeden önce hiçbir şey yoktur, her şey ancak daha sonra, pencere zaten yüklendiğinde başlar

Bunu biliyorum, bu yüzden profesyonellerin tavsiyelerini bekliyorum. Belki bu, Win API veya başka bir şey aracılığıyla standart olmayan yollarla yapılabilir.

Pencereyi koddan programlı olarak göstermek gerçekten imkansız mı?

 
Ventura :

Bunu biliyorum, bu yüzden profesyonellerin tavsiyelerini bekliyorum. Belki bu, Win API veya başka bir şey aracılığıyla standart olmayan yollarla yapılabilir.

Pencereyi koddan programlı olarak göstermek gerçekten imkansız mı?

Expert Advisor başlatılmadan önce (ve parametreler başlatmadan önce girildi) mevcut değil, çalışmıyor... Expert Advisor'ı başlatmadan önce parametreler penceresine erişebilirsiniz. Ama sana yakışmıyor. Bu nedenle, danışmanın başlatılmasından sonra gerekli değerlerin farklı bir girişini kullanın. MessageBox() işlev penceresine erişiminiz var. Ancak size pek yardımcı olmayacak - değer giriş alanları yok - sadece kabul et/katılmıyorum/iptal düğmeleri var.

Yani - kendi pencerenizi kullanmanız gerekiyor. Ve öyle - nesnelerden kendiniz yaratabilirsiniz. ObjectCreate() içine bakın. Veya tuval kullanın. Ancak tuval basit el sanatları için değildir.

Документация по MQL5: Графические объекты / ObjectCreate
Документация по MQL5: Графические объекты / ObjectCreate
  • www.mql5.com
ObjectCreate - Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin :

Expert Advisor başlatılmadan önce (ve parametreler başlatmadan önce girildi) mevcut değil, çalışmıyor... Expert Advisor'ı başlatmadan önce parametreler penceresine erişebilirsiniz. Ama sana yakışmıyor. Bu nedenle, danışmanın başlatılmasından sonra gerekli değerlerin farklı bir girişini kullanın. MessageBox() işlev penceresine erişiminiz var. Ancak size pek yardımcı olmayacak - değer giriş alanları yok - sadece kabul et/katılmıyorum/iptal düğmeleri var.

Yani - kendi pencerenizi kullanmanız gerekiyor. Ve öyle - nesnelerden kendiniz yaratabilirsiniz. ObjectCreate() içine bakın. Veya tuval kullanın. Ancak tuval basit el sanatları için değildir.

Artyom, teşekkür ederim, tavsiyeni bekliyordum. Beklerken olası çözümler arıyordu. Bu sabah, ayarlar penceresini programlı olarak nasıl göstereceğimi buldum!

F7 tuşuna basarak pencerenin çağrıldığını buldum. Bir İnternet araştırması, MQL'den programlı bir tuş vuruşu yapmanın mümkün olduğunu gösterdi.

Sonrası teknoloji meselesi. Kodu gönderiyorum, belki birilerinin işine yarar:

harici çift BuyStop, SellStop;

...

 void SetParams()
  {
   BuyStop = CalcBuyStop();
   SellStop = CalcSellStop();
   int handle = WindowHandle( Symbol (), 0 );
   PostMessageA(handle,WM_KEYDOWN,VK_F7, 0 );
  } 
 

Benim sevinmem için henüz çok erkendi. Pencereyi programlı olarak parametrelerle açmak mümkün oldu, ancak prosedürde parametrelere atadığım değerler kaydedilmedi (((

Yani, parametreler penceresini açarken, başlatma sırasında belirtilen değerleri, benim durumumda sıfırları görüyorum.

Hesaplanan değerleri bir şekilde parametre formuna geçirmek mümkün müdür?