Grafik nesneleri oluşturmayı nasıl öğrenebilirim? MQL4. - sayfa 3

 
Integer :

Gösterge grafik nesneler oluşturur ve ardından parametrelerini alırsa, hayır.

Ancak yine de göstergeyi kullanmak her şeyi çözmeyi kolaylaştırır. Göstergede hesaplamalar yapılır ve sonuçları gösterge arabellekleri aracılığıyla görüntülenir.

Ayrıca bir alternatif var. Satırlar yerine, line parametreleriyle global değişkenler oluşturun, ancak GetValueByShift() işlevi çalışmaz, analogunu yazmanız gerekir.

Açık. Ancak grafik grafikleri olmayan bir göstergede trend çizgisi nasıl yapılır?

Çubuğun iki indeksi bilinmektedir; bunlar bir çizgi ile birbirine bağlanmalı ve sağa doğru çizilmelidir.

 
forexman77 :

Açık. Ancak grafik grafikleri olmayan bir göstergede trend çizgisi nasıl yapılır?

İki çubuk indeks bilinmektedir; bunlar bir çizgi ile bağlanmalı ve sağa doğru çizilmelidir.

Kod tabanında böyle bir göstergem vardı. Şimdi gitti, gitti.

Her şeyi hesaplamalarla yapın. İki noktanın koordinatlarını bilerek, üçüncü noktanın koordinatlarını kolayca hesaplayabilirsiniz.

 
Integer :

Kod tabanında böyle bir göstergem vardı. Şimdi gitti, gitti.

Her şeyi hesaplamalarla yapın. İki noktanın koordinatlarını bilerek, üçüncü noktanın koordinatlarını kolayca hesaplayabilirsiniz.

Bu hesaplamanın formülünü nerede bulabilirim?

Ve genel olarak, bir şekilde çaylak bir şekilde ortaya çıkıyor. Terminalde her türlü kanal, fibo ve diğer geometrik hindilerden oluşan bir deniz var, ancak bunlar test cihazında işe yaramaz.

 
forexman77 :

Bu hesaplamanın formülünü nerede bulabilirim?

Genel olarak, bir şekilde noob bir şekilde ortaya çıkıyor. Terminalde her türlü kanal, fibo ve diğer geometrik hindilerden oluşan bir deniz var, ancak bunlar test cihazında işe yaramaz.

 double y3( double x1, double y1, double x2, double y2, double x3){
   return (y1+(x3-x1)*(y2-y1)/(x2-x1));
}

x1, x2 - çubuk numaraları. y1, y2 - fiyat değerleri. x3 - hesaplamanın yapıldığı çubuğun numarası.

 
Integer :

x1, x2 - çubuk numaraları. y1, y2 - fiyat değerleri. x3 - hesaplamanın yapıldığı çubuğun numarası.

TAMAM. Teşekkür ederim. kazmaya devam edeceğim.
 
Integer :

x1, x2 - çubuk numaraları. y1, y2 - fiyat değerleri. x3 - hesaplamanın yapıldığı çubuğun numarası.

Hesaplamalara dayalı bir gösterge yaptım, grafik nesneler üzerinde gösterge ile bire bir okumalar yaptım.

Optimizasyon sürüyor. Sadece burada işlemin doğru açılmama sorunu var.

Göstergeyi grafiğe koyduğumda çizgi ilk başta düz, sonra yeni bir tik ile olması gerektiği gibi oluyor ve öyle kalıyor.

 
forexman77 :

Hesaplamalara dayalı bir gösterge yaptım, grafik nesneler üzerinde gösterge ile bire bir okumalar yaptım.

Optimizasyon sürüyor. Sadece burada işlemin doğru açılmama sorunu var.

Göstergeyi grafiğe koyduğumda çizgi ilk başta düz, sonra yeni bir tik ile olması gerektiği gibi oluyor ve öyle kalıyor.

Görsel modda test etmeyi deneyin. Yazdır, yorum kullanarak farkı arayın.
 
Integer :
Görsel modda test etmeyi deneyin. Yazdır, yorum kullanarak farkı arayın.

Görsel mod yardımcı olmaz. Göstergenin sadece mevcut modeli göstermesini sağladım.

Göstergenin kendisi ilk indeksin (MQL4) değerini yazdırır, ilk baskı yanlış bir değerle çıkar ve geri kalanı yeni onay işaretlerinde doğrudur.

Koda bakmak zor değilse, size kişisel olarak gönderdim.

 

Genel olarak, trend çizgisi boyunca tüm hesaplamaları danışmana aktardım. Doğru yazdırıyor gibi görünüyor.

Tüm satır aralığında gösterilecek bir gösterge yapılamaz. Yeterli deneyim yok.

İşlemlerin doğru bir şekilde açıldığını görsel olarak görmek için göstergenin kendisine ihtiyaç vardır.

Görselleştirme için grafik nesneleri kullanmaya karar verdim.

4200 hatasında sorun (Nesne zaten var)

Her seferinde nesneye yeni bir ad atamaya çalıştım. Aynı hata.

Birden çok nesneyi aramak mümkün müdür? Eğer öyleyse, kirişin ekstra kısımlarını nasıl kesersiniz?

         long    chart_ID= 0 ;         // ID графика
         string name=TimeToStr(Time[0]);
         int     sub_window= 0 ;       // номер подокна
         //--- сбросим значение ошибки
         ResetLastError ();
         //--- создадим трендовую линию по заданным координатам
         if (! ObjectCreate (chart_ID,name, OBJ_TREND ,sub_window,Time[minbar],Low[minbar],Time[IPMIN],Low[IPMIN]))
           {
             Print ( __FUNCTION__ ,
                   ": не удалось создать линию тренда! Код ошибки = " , GetLastError ());
             return ( 0 );
           }
         ObjectSet( "TrendLine" ,OBJPROP_TIME1,Time[minbar]);
         ObjectSet( "TrendLine" ,OBJPROP_PRICE1,Low[minbar]);
         ObjectSet( "TrendLine" ,OBJPROP_TIME2,Time[IPMIN]);
         ObjectSet( "TrendLine" ,OBJPROP_PRICE2,Low[IPMIN]);

 
forexman77 :

Genel olarak, trend çizgisi boyunca tüm hesaplamaları danışmana aktardım. Doğru yazdırıyor gibi görünüyor.

Tüm satır aralığında gösterilecek bir gösterge yapılamaz. Yeterli deneyim yok.

İşlemlerin doğru bir şekilde açıldığını görsel olarak görmek için göstergenin kendisine ihtiyaç vardır.

Görselleştirme için grafik nesneleri kullanmaya karar verdim.

4200 hatasında sorun (Nesne zaten var)

Her seferinde nesneye yeni bir ad atamaya çalıştım. Aynı hata.

Birden çok nesneyi aramak mümkün müdür? Eğer öyleyse, kirişin ekstra kısımlarını nasıl kesersiniz?

Oluşturmadan önce, ObjectFind() işlevini kullanarak nesnenin var olup olmadığını kontrol edebilirsiniz. Hiçbir şey yapamazsın, tamam, korkunç bir hata yok.

Çok sayıda nesne. Çubuk zamanını nesne adına ekleyebilirsiniz, benzersiz bir ad alırsınız.

Kirişi kesin. Özellik ObjectSet(Ad,OBJPROP_RAY,false);