"Görselleştirin! R dilinin plot fonksiyonuna benzer MQL5 grafik kütüphanesi" makalesi için tartışma - sayfa 6

 
Nikolai Semko #:
Aslında birden fazla tuval kullanıyorum (genellikle 4'ten fazla değil)
Her zaman altın bir ortalama vardır. Bir uç, tüm statik ve tüm dinamikleri tek bir tuvale boyamaktır, diğer uç ise tüm nesneleri ayrı tuvaller olarak boyamaktır.
Şeffaflığı üst üste binen iki tuvaliniz varsa, CPU'nun (belki Win10-11'de GPU, ama bence hala CPU) homojen (sıfır şeffaflık olmayan) arka planın bile her pikselini karıştıracağını unutmamak önemlidir.
Burada JS'den, performansı artırmak için tuvali veya bir kısmını önbelleğe alma uygulamasını ödünç alabiliriz.
Antialiased dairelere gelince, yarıçapı ~5 pikselden küçük daireler için ideal olan (performans açısından) böyle bir dairenin bir çeşidini zaten yayınlamıştım. Sanırım fonksiyonun adı iDot() idi ve 3DStars kodunun içindeydi. Çok ilkel ve kısadır (yaklaşık 10 satır kod). Daha büyük yarıçaplı daireler için performans açısından optimal olmaktan uzaktır. Daha büyük yarıçaplar için, yüksek performanslı işlev zaten 100 satır koddan fazladır.
Evet, yıllarca tuval üzerinde beyinde yeni sinirsel bağlantılar kurduktan sonra artık her seviyede tuval üzerinde bir kütüphane yapabilirim. Zaman ve motivasyon olacaktır.
Wu algoritmasının eski olduğu düşünülmektedir.

Kodu görmek için iDot() veya 3DStars için bir arama bulamadım.

Grafiğin kendisi (arka plan rengi) ve öğelerinin rengi (çubuklar, sor/bid çizgileri, vb.) dahil olmak üzere tuvalin altındaki her şeyi hesaba katmak istedim.

Bu tuvali, üzerine yarı saydam öğeler çizilmiş saydam bir arka planla hareket ettirirken, tüm pikseller doğru şekilde çizilmelidir.

Şu anda durum böyle değil:


 
Nikolai Semko #:

Artem, bunlar gerçekten yeni sinirsel bağlantılar gerektiren önemsiz görevler değil. Örneğin SVG'de viewBox diye bir kavram var. Nasıl çalıştığına dair bir sürü video izledim, bir sürü doküman okudum, bir sürü kod yazdım ve hala bazen tıkanıyorum. Birkaç kez her şeyi çözmüş gibi görünsem de hala gerekli sinirsel bağlantılara sahip değilim.

Sana hala inanıyoruz ;)
 

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi üzerine forum

Makalenin tartışılması "Visualise it! R'nin bir benzeri olarak MQL5'te grafik kütüphanesi"

Anatoli Kazharski, 2023.07.31 17:39

...

Grafiğin kendisi (arka plan rengi) ve öğelerinin rengi (çubuklar, sor/bid çizgileri, vb.) dahil olmak üzere tuvalin altındaki her şeyi hesaba katmak istedim.

Bu tuvali, üzerine yarı saydam öğeler çizilmiş saydam bir arka planla hareket ettirirken, tüm pikseller doğru şekilde çizilmelidir.

Şu anda durum böyle değil:


İşte bir tuvalin (mavi bir daire ile) başka bir tuvalin (resimli mavi bir dikdörtgen) üzerinde olduğu ve burada da aşağıdaki tuvalde çizilenleri dikkate almadığı bir örnek:


 
Anatoli Kazharski #:

Kodu görüntülemek için iDot() veya 3DStars için bir arama bulamadım.

Grafiğin kendisi (arka plan rengi) ve öğelerinin rengi (çubuklar, satış/teklif çizgileri, vb.) dahil olmak üzere tuvalin altındaki her şeyi hesaba katmak istedim.

Üzerine yarı saydam öğeler çizilmiş saydam bir arka plana sahip bu tuvali taşırken tüm pikseller doğru şekilde çizilmelidir.

Şu anda böyle bir durum söz konusu değil:


https://www.mql5.com/ru/forum/227736/page72#comment_25130501

Burada da renkler arka planla harmanlanmıştır
https://www.mql5.com/ru/forum/451355/page5#comment_48450810
 
Nikolai Semko #:
h ttps://www.mql5.com/ru/forum/227736/page72#comment_25130501

Burada da renkler arka planla harmanlanmıştır
https://www.mql5.com/ru/forum/451355/page5#comment_48450810

Teşekkür ederim! Bunlar çok güzel örnekler! Yani yanılmışım.

Henüz koda ayrıntılı olarak bakmadım, ancak varsayılan CCanvas'ta şeffaflık neden beklendiği gibi çizilmiyor?

 
Anatoli Kazharski #:

Teşekkür ederim! Bunlar çok güzel örnekler! Demek yanılmışım.

Henüz koda ayrıntılı olarak bakmadım, ancak varsayılan CCanvas'ta şeffaflık neden beklendiği gibi çizilmiyor?

Bununla ilgili birçok yanlış şey var.
Görünüşe göre üzerinde çalışan programcı kovulduğu için bitirememişler. Yanılıyor olabilirim.
 
Nikolai Semko #:
Yanlış olan çok şey var.
İçimden bir ses, sorumlu programcı kovulduğu için bitiremediklerini söylüyor. Yanılıyor olabilirim.

Nikolay, standart CCanvas'ta neyin ve nasıl değiştirilmesinin istendiğine dair bir liste yapabilir misin? Sizin görüşünüze göre. Şimdi olduğu gibi ve olması gerektiği gibi. Ve neden.

 
Artyom Trishkin #:

Nicholas, standart CCanvas'ta neyin ve nasıl değiştirilmesinin istendiğine dair bir liste yapabilir misin? Sizin görüşünüze göre. Şimdi olduğu gibi ve olması gerektiği gibi. Ve neden.

CCanvas'a göre daha az fonksiyona sahip yeni bir sınıfa ihtiyacımız var. Tüm BT web'e doğru ilerlediğinden, öğrenme ve benimseme kolaylığı için bu sınıfı özünde çok fazla işlevi olmayan JS canvas'a olabildiğince yakın yapmak daha iyidir.
ama bu ideal.
Muhtemelen böyle bir şeyi kendim yazabilirim, ancak en az yarım yıl tam zamanlı
kişisel olarak JS Canvas'taki her şeyi sevmiyorum, ancak standardizasyon için dize ayrıştırma olmadan yapmak için küçük değişikliklerle böyle bir şey uygulamak doğru olacaktır.

ZY ancak normal çalışma için MT5 olay modelini yeniden yapmam gerekiyor, çünkü bu sadece korkunç

MT5'teki kanvasın JS kanvasından iki kat daha hızlı çalışması gerekiyor. Ancak bunun için (gecikmeyen bir arayüz için) MT5 içinde Renat'ın asla yapmayacağı birçok şeyi değiştirmeniz gerekir.

HTML Canvas Reference
HTML Canvas Reference
  • www.w3schools.com
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
 
Nikolai Semko #:

CCanvas'tan daha az fonksiyona sahip yeni bir sınıfa ihtiyacımız var. Tüm BT web'e doğru ilerlerken, öğrenme ve benimseme kolaylığı için bu sınıfı özünde çok fazla işlevi olmayan JS can vas'a olabildiğince yakın yapmak daha iyidir.
ancak bu idealdir.
Muhtemelen böyle bir şeyi kendim yazabilirim, ancak en az yarım yıl tam zamanlı
kişisel olarak JS Canvas'taki her şeyi sevmiyorum, ancak standardizasyon için dize ayrıştırma olmadan yapmak için küçük değişikliklerle benzer bir şey uygulamak doğru olacaktır.

Ancak normal çalışma için MT5 olay modelini yeniden yapmamız gerekiyor, çünkü bu sadece korkunç

Her şeyin "bıçak altında" olduğu açık, ancak yine de soru biraz farklıydı. Mevcut sınıfta neyin değiştirilmesi/iyileştirilmesi isteniyor...

 
Artyom Trishkin #:

Her şeyin "bıçak altında" olduğu açık, ancak yine de soru biraz farklıydı. Mevcut sınıfta neyin değiştirilmesi/geliştirilmesi isteniyor...

onları hayata geçirmek için pürüzsüz yöntemler. Şimdi düşünüyorum da CCanvas'ta belgelenmemiş fonksiyonlar bile var.