MQL4 ile ilgili sorular. - sayfa 5

 
SKif:

BarsPerWindow()'a dayalı bilgi işleme, böyle bir amaç için hayal ettiğim tek şey. Ama biraz zahmetli. .
gerçekten tek yol bu. ancak çok hantal değil - yalnızca 2 arama: En Yüksek ve En Düşük. Başlangıç çubuğu şu şekilde hesaplanır: FirstVisibleBar()-BarsPerWindow()
 
dize ,
onay için teşekkürler . ben yaklaşık yapmayı planladığım buydu.

Bunun için başka bir soru:
OBJ_LABEL koordinatlarını piksel cinsinden fiyat ve zaman koordinatlarına dönüştürmenin bir yolu var mı? Beni en çok ilgilendiren şey fiyatı. Lütfen bana bir fikir verin. (veya standart çözüme baktım mı?)
 
Pencere boyutunu piksel olarak almanın bir yolu var mı?
 
SKif:
Pencere boyutunu piksel olarak almanın bir yolu var mı?
teorik olarak evet WindowHandle (Symbol(),Period()) işlevini kullanarak, geçerli pencerenin tanıtıcısını alın ve bu tanıtıcıyı, örneğin GetClientRect işlevini kullanarak pencerenin boyutunu bulabilen dll'nize verin.
 
dize ,
Tamam teşekkürler.
 
Trend sola kaydığında, trend tarafından işgal edilmeyen gelecek dönemin zamanının sağ tarafta göründüğünü varsaymak doğru mudur:
gelecek zamanın değeri, ekranda görünen zamanın değerini % cinsinden belirli bir değer olarak mı ifade ediyor ve pencere yeniden boyutlandırıldığında bu % korunuyor mu?
Yoksa başka bir desen var mı?
 
SKif:
Trend sola kaydığında, trend tarafından işgal edilmeyen gelecek dönemin zamanının sağ tarafta göründüğünü varsaymak doğru mudur:
gelecek zamanın değeri, ekranda görünen zamanın değerini % cinsinden belirli bir değer olarak mı ifade ediyor ve pencere yeniden boyutlandırıldığında bu % korunuyor mu?
Yoksa başka bir desen var mı?
aşağı yukarı böyle.
deseni görmek için artı imlecini seçin ve grafiğin üzerine ve grafiğin sağ kenarına gidin. grafiğin alt kısmı, artı işaretine karşılık gelen tahmini süreyi gösterecektir. farklı zaman dilimlerine bakın.
 
dize ,
Teşekkürler, bu anlaşılabilir.
Formül biçimindeki bir düzenlilikle ilgilendim (yani, aynı TF'de pencere boyutu değiştirildiğinde).
X1=A*X2 veya X1=A*X2+B.
Pekala, tamam, ilk tahmin olarak A * X alacağım.
 
Ayarlar panelindeki tüm nesnelerin bir "Açıklama" sütunu vardır.
Bu seçenek programlı olarak kullanılabilir mi?
Dosyalar:
pic_2_.gif  26 kb
 
İşte yardımdan:
bool ObjectSet (dize adı, int dizini, çift değer)


Bir nesne özelliğinin değerini değiştirin. Başarılı olursa, işlev DOĞRU (DOĞRU) döndürür, aksi takdirde YANLIŞ (YANLIŞ). Bir hata hakkında bilgi almak için GetLastError() işlevini çağırın.

Seçenekler

isim - Nesnenin adı.
indeks - Mülkün indeksi. Nesnenin özellik dizinlerinden herhangi biri olabilir.
değer - Özelliğin yeni değeri.

Misal

// alan zamanına devam etmek için önce koordinatları taşı
ObjectSet("Trend", OBJPROP_TIME1, Zaman[0]);
// ikinci fibo seviyesini ayarlar
ObjectSet("MyFibo", OBJPROP_FIRSTLEVEL+1, 1.234);
// nesnenin görüntüsünü ayarlar. Nesne yalnızca 15 dakikalık ve 1 saatlik grafiklerde gösterilecektir.
ObjectSet("MyObject", OBJPROP_TIMEFRAMES, OBJ_PERIOD_M15 | OBJ_PERIOD_H1);
Ve işte Stirlitz'den bir parça:

//+------------------------------------------------------------------+ //| поставим стрелку | //+------------------------------------------------------------------+ void SetArrow ( datetime _time , double _price , string _Description , int _arrowType , color _arrowColor ) { ObjectCreate ( _Description , OBJ_ARROW , 0 , _time , _price ) ; ObjectSet ( _Description , OBJPROP_ARROWCODE , _arrowType ) ; ObjectSet ( _Description , OBJPROP_COLOR , _arrowColor ) ; }

_Description - ve bir açıklama var (hatırladığım kadarıyla)