Profesyoneller ne diyecek: MQL'de fare kaydırma değerleri nasıl alınır? [beşinci forumdan yeniden yayınla] - sayfa 8

 

teşekkürler biraz geç oldu ama olsun

 
Ihor Herasko :

İlk olarak, bir olayın meydana geldiği hakkında bilgi edinmenin hangi biçimde gerekli olduğuna karar vermek güzel olurdu: doğrudan mı yoksa dolaylı olarak mı?

Kendi DLL'nizi yazmanın dikkate alınmadığı gerçeğinden yola çıkarsak, API'yi reddedebilir miyiz? Dolaylı yöntem uygunsa, o zaman:

Penceredeki ilk görünür çubuğun - WindowFirstVisibleBar (penceredeki çubuk sayısıyla birlikte mümkündür - WindowBarsPerChart) dizinini kontrol eden grafiğe döngülü bir komut dosyası asarız. Önceki değerden farklılarsa, grafikle eylemler gerçekleştirildi. Doğru, bu durumda, neden sadece fare tekerleği olmayabilir (zaman ölçeğini değiştirmek - "+", "-", Ana Sayfa veya Son'a basmak, istenen tarihe doğrudan geçiş).

Her durumda, bir fare tekerleği dönüşü olayının tanımından tam olarak ne istendiğini anlamak için henüz yeterli bilgi yok. Daha sonra yöntemler önerebilirsiniz.

Not: Pencere işleme işlevine erişmeniz gerekiyorsa, bu SetWindowLongPtr'dir (bkz. msdn). Ama DLL olmadan yapamazsınız, çünkü. MQL kodunda bulunan yeni bir mesaj işleme prosedürü atayamazsınız.


Lütfen dikkat, bu gönderi pratikte çözümü içerir. Nedense onu biraz sıkmadılar. Yazar önce basit ve doğru bir fikri kavradı, sonra onu kaybetti ve diğerleriyle birlikte küresel bir çözüm arayışına girdi. Çok yazık...


Not: Yardımcı olmaktan memnun oldum.)

 
Реter Konow :

Lütfen dikkat, bu gönderi pratikte çözümü içerir. Nedense onu biraz sıkmadılar. Yazar önce basit ve doğru bir fikri kavradı, sonra onu kaybetti ve diğerleriyle birlikte küresel bir çözüm arayışına girdi. Çok yazık...


Not: Yardımcı olmaktan memnun oldum.)


Sonra böyle zamanlar vardı, eski dil, sınırlı fırsatlar ... bu yüzden yolumdan çekilmek zorunda kaldım ... yazar, yani ben, bu sorunu başarıyla çözdüm ve sonra güvenli bir şekilde ilgimi kaybettim)))

 
Реter Konow :

En iyi seçenek, kararı size genel olarak iletmek olacaktır, ancak bir şeyi kanıtlamak amacıyla değil, dostluk temelinde.

Tabii ki, uygulama bir çıkmazdan çıkış yolu bulma girişimidir. Tekerlekle kaydırma olasılığının tamamen yokluğu ile bu, en basit ve en "yerel" çözümdür. Eksiksiz bir çözüm elde etmek için hizmet masasıyla zaten iletişime geçtim. Olup olmayacağı, geliştiricilere bağlı.

Uygulamanın bir atlama programı ile olacağını anlıyorum. En iyi çözümün geliştiricilerin ayaklarına kapanıp, kaydırma ve tekerleğe basmak için bir olay eklemenin yanı sıra fare tekerleği ile grafiğin kaydırılmasını geçici olarak devre dışı bırakma yeteneğinin eklenmesini istemek olduğuna katılıyorum. Sonuçta, onlar için hiç de zor değil - bir düzine kod satırı. Neden birdenbire kimsenin fare tekerleğine ihtiyaç duymadığına karar verdikleri açık değil... Ama gerçekten kaşınıyorsa, o zaman bir seçenek olarak atlama tablosundan çözüm şu olabilir: grafiğin kendisini devre dışı bırakmak ( ChartSetInteger(0,CHART_SHOW) ,false); ) ve CCanvas aracılığıyla ikizinin yaratılması, ancak bu, elbette, tüm tefler, Kuzey Kutbu'ndaki bir komşuya bir gezi.

Ama yine de - sen de bir kredisin, Peter - havalı bir adam ve iyi bir programcı. Hep bunu söyledim ama yaratıcı potansiyelinizi kimsenin ihtiyaç duymadığı “Türkiye'de domates yetiştirmeye” harcadığınızı da söyledim.

 
Nikolai Semko :

...ama yaratıcı potansiyelinizi kimsenin ihtiyaç duymadığı "Türkiye'de domates yetiştirmeye" harcadığınızı da söyledi.

bakış açımı belirteceğim.

Şimdi MT5 platformu büyük bir potansiyel biriktirdi. Birçok özellik ve kitaplık. Ancak bununla birlikte MQL programlarının gelişimi durma noktasına geldi.

Daha fazla gelişmenin önündeki bir engel, platform içinde program geliştirme olasılığının olmamasıdır .

Kullanıcılar, kontrol etmek için modülleri bir grafik arayüze getirmeden yazılım işlevlerini daha fazla genişletemezler.

MQL programlarında bir GUI'nin olmaması, onların daha da geliştirilmesi için küresel bir engeldir. Renat, tek sayfada "çocuk" programlarının süresinin bitmesi gerektiğini söyledi. Ona tamamen katılıyorum. Ama tüccarlar "kısa pantolon"dan çıkmak için fiziksel yeteneğe sahip değilse, bu nasıl sona erebilir?

MQL programlarında GUI olmamasının sonuçlarını sıralayalım:

  • Kullanıcı deneyimini genişletecek daha fazla yazılım bloğunu birleştirememe.
  • Kullanıcının programıyla etkileşiminin sınırına kadar sıkıştırılmıştır.
  • Gibi ciddi yarı otomatik ticaret eksikliği. Birçoğu yarı otomatik ticareti tam otomatik ticarete tercih eder.
  • Profesyonellerin tam boylarına hızlanmasına izin vermeyen pazar araştırması yürütmenin zorluğu.
  • Kendi istatistikleri yok.
  • Temeli bir GUI'nin olmaması olan üçüncü taraf uygulamalarla koltuk değnekleriyle çalışma ihtiyacı. Sonuçta, olsaydı, çalışma MQL programlarında yapılabilirdi.

Tüm kullanışlı MT5 materyalleri adeta içeride "kilitlidir" ve erişilemez.

GUI ortaya çıkar çıkmaz koltuk değnekleri ortadan kalkacak ve MT5'in doğasında bulunan olanaklar açılacaktır. Ayrıca birçok yeni özellik olacak.

//------------------------------------------------ -------------------------------------------------- ---------

Benim aksiyom: KULLANICI İLE ETKİLEŞİM ARACI OLARAK GRAFİK ARAYÜZÜ OLMAYAN BİR KOMPLEKS PROGRAM TAM OLAMAZ. Parçalanıp arabanın içinde kilitlenecek. Onunla çalışmak her zaman sakıncalıdır. Başlangıçta ilkel ve basitse, bir GUI'ye gerek yoktur, ancak ticaret gibi bir alanda program sürekli gelişmeli ve kullanıcı ile etkileşime girmelidir. Bu olmadan, tüm algoritmik ticaret endüstrisi tavana ulaşacak ve gelişmeyecektir.

 
Реter Konow :

bakış açımı belirteceğim.

Şimdi MT5 platformu büyük bir potansiyel biriktirdi. Birçok özellik ve kitaplık. Ancak bununla birlikte MQL programlarının gelişimi durma noktasına geldi.

Daha fazla gelişmenin önündeki bir engel, platform içinde program geliştirme olasılığının olmamasıdır .

Kullanıcılar, kontrol etmek için modülleri bir grafik arayüze getirmeden yazılım işlevlerini daha fazla genişletemezler.

MQL programlarında bir GUI'nin olmaması, onların daha da geliştirilmesi için küresel bir engeldir. Renat, tek sayfada "çocuk" programlarının süresinin bitmesi gerektiğini söyledi. Ona tamamen katılıyorum. Ama tüccarlar "kısa pantolon"dan çıkmak için fiziksel yeteneğe sahip değilse, bu nasıl sona erebilir?

MQL programlarında GUI olmamasının sonuçlarını sıralayalım:

  • Kullanıcı deneyimini genişletecek daha fazla yazılım bloğunu birleştirememe.
  • Kullanıcının programıyla etkileşiminin sınırına kadar sıkıştırılmıştır.
  • Gibi ciddi yarı otomatik ticaret eksikliği. Birçoğu yarı otomatik ticareti tam otomatik ticarete tercih eder.
  • Profesyonellerin tam boylarına hızlanmasına izin vermeyen pazar araştırması yürütmenin zorluğu.
  • Kendi istatistikleri yok.
  • Temeli bir GUI'nin olmaması olan üçüncü taraf uygulamalarla koltuk değnekleriyle çalışma ihtiyacı. Sonuçta, olsaydı, çalışma MQL programlarında yapılabilirdi.

Tüm kullanışlı MT5 materyalleri adeta içeride "kilitlidir" ve erişilemez.

GUI ortaya çıkar çıkmaz koltuk değnekleri ortadan kalkacak ve MT5'in doğasında bulunan olanaklar açılacaktır. Ayrıca birçok yeni özellik olacak.

//------------------------------------------------ -------------------------------------------------- ---------

Benim aksiyom: KULLANICI İLE ETKİLEŞİM ARACI OLARAK GRAFİK ARAYÜZÜ OLMAYAN BİR KOMPLEKS PROGRAM TAM OLAMAZ. Parçalanıp arabanın içinde kilitlenecek. Onunla çalışmak her zaman sakıncalıdır. Başlangıçta ilkel ve basitse, bir GUI'ye gerek yoktur, ancak ticaret gibi bir alanda program sürekli gelişmeli ve kullanıcı ile etkileşime girmelidir. Bu olmadan, tüm algoritmik ticaret endüstrisi tavana ulaşacak ve gelişmeyecektir.


Renat'ın ne demek istediğini çok iyi anlıyorum çünkü. Ben kendim yüzden fazla gösterge ve düzinelerce robot yaratırdım, ama sonunda her şeyin saçma olduğunu anladım, ama biraz deneyim ve anlayış kazandım. Şimdi birkaç yıldır, arayüzün en son şey olduğu ve yapay zekanın her şey olduğu bir robot üzerinde çalışıyorum. Renat, çok sayfalı bir arayüze ihtiyaç olduğunu kastetmiyordu, kod sayfalarının sayısından, daha doğrusu yatırılan emek ve yaratıcı düşünce miktarından bahsediyordu, aynı Market'te ise ürünlerin büyük çoğunluğu çocukların işe yaramaz el sanatları. . GUI'de ne var? Bir GUI, yalnızca potansiyel bir alıcıyı karıştırabilir, savurganlık yapabilir veya karmaşıklıkla korkutabilir. Şu anda üzerinde çalıştığınız her şey ve bu arada Anatoly de beni bağışlayın, hepsi Windows 95'te. İnsanlar artık tamamen farklı bir arayüz paradigmasına alıştı ve şımartıldı. Android telefonunuzun veya iPhone'unuzun arayüzüne bakın. Sadelik, minimalizm, sezgisellik. İşte bunun için çaba göstermeliyiz.

Peter, örneğin Google web sitesi google.com'u ele alalım. Peki, orada hangi arayüzü görüyorsun? Ama bu şirketin sermayesi yarım trilyon dolar . Aksine, arayüzü en aza indirmeye çalışıyorlar, çünkü arayüzleri 15 yıl önce daha karmaşıktı ve sanırım birkaç yıl içinde arayüzleri daha da mütevazı hale gelecek. Ancak GUI modasında ana trend belirleyicilerdir. Bir GUI ihtiyacına ilişkin tüm numaralandırmalarınız bildirimsel ve çok abartılı veya daha doğrusu GUI'nin bununla hiçbir ilgisi yok (peki, öğeyi yalnızca yarı otomatik ticaret için bırakabilirsiniz). En azından aynı şirketin Google - TensorFlow'un bu yeni teknolojisine bakın . Bu, biz otomatik ticaret programcılarının ustalaşması için çok yararlı olacak bir makine öğrenimi teknolojisi, AI teknolojisi ve örüntü tanımadır, ancak bu GUI teknolojisine hiç ihtiyaç yoktur. Gerçekten - neden bahsediyorum?, OOP teknolojisi sizin için işe yaramaz bir araçsa!

 
Nikolai Semko :

Renat'ın ne demek istediğini çok iyi anlıyorum çünkü. Ben kendim yüzden fazla gösterge ve düzinelerce robot yaratırdım, ama sonunda her şeyin saçma olduğunu anladım, ama biraz deneyim ve anlayış kazandım. Şimdi birkaç yıldır, arayüzün en son şey olduğu ve yapay zekanın her şey olduğu bir robot üzerinde çalışıyorum. Renat, çok sayfalı bir arayüze ihtiyaç olduğunu kastetmiyordu, kod sayfalarının sayısından, daha doğrusu yatırılan emek ve yaratıcı düşünce miktarından bahsediyordu, aynı Market'te ise ürünlerin büyük çoğunluğu çocukların işe yaramaz el sanatları. . GUI'de ne var? Bir GUI, yalnızca potansiyel bir alıcıyı karıştırabilir, savurganlık yapabilir veya karmaşıklıkla korkutabilir. Şu anda üzerinde çalıştığınız her şey ve bu arada Anatoly de beni bağışlayın, hepsi Windows 95'te. İnsanlar artık tamamen farklı bir arayüz paradigmasına alıştı ve şımartıldı. Android telefonunuzun veya iPhone'unuzun arayüzüne bakın. Sadelik, minimalizm, sezgisellik. İşte bunun için çaba göstermeliyiz.

Peter, örneğin Google web sitesi google.com'u ele alalım. Peki, orada hangi arayüzü görüyorsun? Ama bu şirketin sermayesi yarım trilyon dolar . Aksine, arayüzü en aza indirmeye çalışıyorlar, çünkü arayüzleri 15 yıl önce daha karmaşıktı ve sanırım birkaç yıl içinde arayüzleri daha da mütevazı hale gelecek. Ancak GUI modasında ana trend belirleyicilerdir. Bir GUI ihtiyacına ilişkin tüm numaralandırmalarınız bildirimsel ve çok abartılı veya daha doğrusu GUI'nin bununla hiçbir ilgisi yok (peki, öğeyi yalnızca yarı otomatik ticaret için bırakabilirsiniz). En azından aynı şirket Google - TensorFlow'un bu yeni teknolojisine bakın . Bu, biz otomatik ticaret programcılarının ustalaşması için çok yararlı olacak bir makine öğrenimi teknolojisi, AI teknolojisi ve örüntü tanımadır, ancak bu GUI teknolojisine hiç ihtiyaç yoktur. Gerçekten - neden bahsediyorum?, OOP teknolojisi sizin için işe yaramaz bir araçsa!

Nicholas, birbirimizi anlamıyoruz.)

Şahsen benim için OOP gerçekten işe yaramaz, ancak başkalarına faydasını inkar etmiyorum . Sağlık için kullansınlar.

GUI pratik bir gerekliliktir. GUI, daha karmaşık programlar için alan açacaktır. Yaratıcı fikirlerin uygulanması için şu anda kıt olan ortamı zenginleştirecektir. Programlara kendi yüzlerini verin.

ML (makine öğrenimi), tam tersine, algoritmik ticareti umutsuz bir çıkmaza götürecektir. Pazar süreçlerinin anlaşılmasından yoksun otomatik tahmin oyunu. Kara kutu istatistiksel karışıklığı işliyor. Tüccarların piyasayı anlama ve kendi stratejilerini yaratma arzusunu ortadan kaldırır. Teknik analiz eğitimi ve bununla ilgili makaleler alakasız olacaktır. Bir tüccarın düşüncesinin ölüm zamanı gelecek. Kara kutu onu silecek.

Nikolai, ekosistemimiz çeşitli ve zengin bir çevre olmalıdır. Genişletmemiz gerekiyor. Algo tüccarlarının yeni yazılım özelliklerine ihtiyacı var. Sadece onlar için bir tane daha açmak istiyorum.)


Bu arada, siz de sonunda büyük ölçekli bir projeye katılmalı ve yeteneklerinizi gerçekleştirmeye başlamalısınız. Bunu kendin istediğini hissediyorum, ama herhangi bir şekilde bir şey. Yazık, çünkü çok büyük bir yaratıcı potansiyeliniz var. Genel olarak, gelişmelerinizi göstermek için sabırsızlanıyorum. Onları görmeyi umuyorum.)

 

Реter Konow :

... Yaratıcı fikirlerin uygulanması için halihazırda kıt olan ortamı zenginleştirecektir . Programlara kendi yüzlerini verin.

"Yaratıcı fikirlerin uygulanması için yetersiz bir ortam" derken ne demek istediğimi açıklamalıyım. Yanlış anlaşılmaktan korkuyorum. MT5, algoritmik ticarette yaratıcı fikirlerin uygulanması için potansiyel olarak çok zengin bir ortamdır. Ama potansiyeli artık tüccarlar tarafından %20 - %30 oranında kullanılıyor.

Potansiyel değil, "yetersiz çevre" olarak adlandırdığım pratik kullanım alanının gerçek alanıdır . Belki de kendimi yanlış ifade ettim.

Bir ifade vardır: "Varlık bilinci belirler."

Mevcut Genesis - GUI'siz programlar, yüksek entelektüel engellerin yığılması koşullarında yaratılmıştır. Bu Varlık bilincimizi tanımladı ve GUI ve yarı otomatik ticaret istemiyoruz. Stratejileri optimize etmenin bir aracı olarak geçmiş eşleştirmenin değerine inanıyoruz. Yani, pazar anlayışını derinleştirerek stratejiyi geliştirmeye değil, onu tarihe uydurarak geliştirmeye çalışıyoruz. Aksi takdirde, kendini aldatma. Bilincimiz yıllar içinde bu şekilde tanımlanmıştır. Ve nedense hiç kimse optimizasyonun gözlerdeki toz olduğunu düşünmez. Ancak sadece test cihazı sayesinde kaseler elde edilir.

Zihin jimnastiği için herhangi bir engel yararlıdır, ancak özgür yaratıcılık için artık çok fazla engel var. Bazı varlıklar fikrin uygulanmasında bize yardımcı olur, diğerleri müdahale eder. Dikkat edin - bir işaretleme diliyle grafik "makinemi" oluşturmak için programlama dilinin olanaklarının sadece küçük bir kısmına ihtiyacım vardı. Ve buradaki nokta, programcının yeteneği değil, yalnızca şeyleri özlerine göre ayırt etme yeteneğidir. Gereksizleri süpürün ve ana şeye konsantre olun. Bir kişi bu yeteneğe sahip değilse, umutsuzca çeşitli şeylere karışacak ve potansiyelini fark etmeyecektir. Şeylere bakmanın prizması, işimizin verimliliğini ve yeteneğin pratik uygulama ölçeğini belirler.

Ben sadece kendi farkındalığımda başkalarına yardım etmek ve MT5'i küresel bir atılıma götürmek istiyorum. Bu başka nasıl başarılabilir? Genel olarak, sizin, Nikolai veya Anatoly gibi yetenekli insanlar bana yardım edecekse, kesinlikle dağları yerinden oynatacağız!)

 
Реter Konow :

...sizin, Nikolay veya Anatoly gibi yetenekli insanlar bana yardım edecekse, kesinlikle dağları yerinden oynatacağız!)

Hayır Peter, beni bağışla ama dağlarını kendin kaldır. Ve dağlarımı yerinden oynatacağım. ))
 
Nikolai Semko :
Hayır Peter, beni bağışla ama dağlarını kendin kaldır. Ve dağlarımı yerinden oynatacağım. ))

" Nasılsın " dedim ama sen yok.)) Sana "dağlarımı" dökmeyecektim.))