Hatalar, hatalar, sorular - sayfa 362

 
Lizar :
Nesne türlerinin sayısı arttıkça bu tür işlevlere duyulan ihtiyaç artacaktır. Ve nesneler göründüğünde, türüne göre bağlantı noktalarının sayısını belirlemek imkansız olduğunda gerekli hale gelecektir. Örneğin, bazı çoklu çizgi. Bu arada çok kritik değil ama dilerseniz servis masasında verebilirsiniz.

Şimdi, en gerçekçi yol (eğer böyle bir ihtiyaç varsa), nesne türüne göre bağlantı noktalarının sayısını verecek bir anahtar işlevi oluşturmaktır.

Bu tabloyu (MQL5 Referansı / Standart Sabitler, Numaralandırmalar ve Yapılar / Nesne Sabitleri / Nesne Tipleri) bir anahtarda işlemeniz yeterlidir. Fonksiyonun giriş parametresi ObjectGetInteger(chart_id,name, OBJPROP_TYPE ) olacaktır.

Tüm türler sabit bir şekilde bağlantı noktalarına bağlı olduğundan tuzak yoktur. Ancak değişken sayıda noktaya sahip nesneler ortaya çıkarsa, bu tür işlevselliğe aşırı ihtiyaç duyulacaktır.

 
Urain :

Şimdi, en gerçekçi yol (eğer böyle bir ihtiyaç varsa), nesne türüne göre bağlantı noktalarının sayısını verecek bir anahtar işlevi oluşturmaktır.


Uzun zaman önce ObjectGet'te bir özellik istemiştim. ancak SD reddedildi.

Bana öyle geliyor ki bu, MT5'in bağırsaklarındaki mantıktan kaynaklanıyor.

muhtemelen tüm noktaları gözden geçiriyor ve BOŞ olup olmadığını kontrol ediyor. Ve noktada normal bir rakam varsa, o zaman inşaat gerçekleşir.

Yani, nesnenin türü ile bağlantı noktası sayısı arasında doğrudan bir ilişki yoktur.

bu nedenle, anahtarı kendiniz yapmanız gerektiğini doğru bir şekilde fark ettiniz.

 
Urain :

Şimdi, en gerçekçi yol (eğer böyle bir ihtiyaç varsa), nesne türüne göre bağlantı noktalarının sayısını verecek bir anahtar işlevi oluşturmaktır.

Bu tabloyu (MQL5 Referansı / Standart Sabitler, Numaralandırmalar ve Yapılar / Nesne Sabitleri / Nesne Tipleri) bir anahtarda işlemeniz yeterlidir. Fonksiyonun giriş parametresi ObjectGetInteger(chart_id,name, OBJPROP_TYPE ) olacaktır.

Tüm türler sabit bir şekilde bağlantı noktalarına bağlı olduğundan tuzak yoktur. Ancak değişken sayıda noktaya sahip nesneler ortaya çıkarsa, bu tür işlevselliğe aşırı ihtiyaç duyulacaktır.

sergeev :

Uzun zamandır ObjectGet'te bir özellik istiyorum. ancak SD reddedildi.

Bana öyle geliyor ki bu, MT5'in bağırsaklarındaki mantıktan kaynaklanıyor.

muhtemelen tüm noktaları gözden geçirir ve BOŞ olup olmadığını kontrol eder. Ve noktada normal bir rakam varsa, o zaman inşaat gerçekleşir.

Yani, nesnenin türü ile bağlantı noktası sayısı arasında doğrudan bir ilişki yoktur.

bu yüzden anahtarı kendiniz yapmanız gerektiğini doğru bir şekilde fark ettiniz.

Evet, yukarıda yazdığım gibi bunu switch üzerinden uyguladım. Sorunsuz çalışır. Ancak fikir daha da ileri gidiyor, daha fazla rahatlık ve çok yönlülük istiyorum.

Bu arada, bence, kullanıcıların kendi nesnelerini yaratmalarına izin vermek güzel olurdu. Örneğin, en azından standart nesneleri ortak bir "marka" altında gruplar halinde birleştirmeye izin verin. Bir grup nesneye tek bir nesne olarak atıfta bulunabilme. O zaman çoklu çizgiler, halkalar, torus gibi bazı zor nesneler olurdu ... evet, birçok şey. Evet, belirli bir kontrol panelinin nesneleri bile birleştirilebilir. Ve Ctrl-B bir nesne sayfası değil, nesne gruplarının düzgün adlarını veya bunun gibi bir şeyi verirdi. Yine de, OnChartEven() işleyicisindeki değişen nesnelerden 100.000 olay alma sorunu da çözülecektir, çünkü bu 100.000 nesne birlikte gruplandırılabilir ve yalnızca bir CHARTEVENT_OBJECT_CHANGE olayı alabilir. Genel olarak, güzellik. Tabii ki, tüm bunlar kısmen sınıflar aracılığıyla uygulanabilir, ancak hepsi değil.

 

Lizar :

........ Ve Ctrl-B bir nesne sayfası değil, nesne gruplarının düzgün adlarını, peki ya da bunun gibi bir şey verirdi ...........

.......çünkü bu 100.000 nesne birlikte gruplandırılabilir ve yalnızca bir CHARTEVENT_OBJECT_CHANGE olayı alabilir. Genel olarak, güzellik .......

Hayal kurmak zararlı değildir... Ama umut etmenizi tavsiye etmiyorum.

:)

 

Aynı anda birkaç enstrüman için mum görüntülemek için bir gösterge yazıyorum. Lansmandan sonra ve yeni çubukların ortaya çıkmasından önce her şey doğru şekilde görüntüleniyor:

Ancak yeni çubukların ortaya çıkmasından sonra bir kayma meydana gelir:

Ve ChartRedraw yardımcı olmuyor. Her ne kadar doğru düğmeye basarsanız-güncelleme her şey yerine oturur. Yer değiştirmeyi nasıl önleyeceğimi söyle?

Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
Dosyalar:
 

Çift normalleştirilmiş fiyat ; MqlTradeRequest'te otomatik olarak? (ki bu pek olası değildir) ve değilse, neden standart kitaplıkta hala normalleştirme yok? (soru 9 ay önce soruldu)

Sadece standart kütüphanede düzenlemeler yaparak durumdan çıktım, ancak durumun böyle olmadığını kendiniz anlıyorsunuz (güncelleme sırasında yıkılıyor).

 bool CTrade::PositionOpen( const string symbol, ENUM_ORDER_TYPE order_type, double volume,
                           double price, double sl, double tp, const string comment)
{
...
m_request.price       =price; // ??????????
...
}

Eğer yanılıyorsam, lütfen ne olduğunu belirtin?

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 

Keyfilik suçlamaları almamak için bir tüccarın fiyatını değiştirme hakkımız olmadığı için otomatik olarak normalleştirmeyiz.

Hesaplanan fiyatın kullanılması durumunda kendi normalizasyonunu yapmak gerekir. Net Alış/Satış fiyatları değişmeden bir emir verildiğinde, normalleştirmeye gerek yoktur.

 
Renat :

Keyfilik suçlamaları almamak için bir tüccarın fiyatını değiştirme hakkımız olmadığı için otomatik olarak normalleştirmeyiz.

Hesaplanan fiyatın kullanılması durumunda kendi normalizasyonunu yapmak gerekir. Net Alış/Satış fiyatları değişmeden bir emir verildiğinde, normalleştirmeye gerek yoktur.

Teşekkürler, istediğimi aldım. Dördünde, teklif/sorunun bile normalleştirilmesi gerekiyordu.
 
Urain :
Teşekkürler, istediğimi aldım. Dördünde, teklif/sorunun bile normalleştirilmesi gerekiyordu.

Aslında, MT4'te Bid and Ask'ı normalleştirmek gerekli değildir. Her zaman varsayılan olarak normalleştirilirler.

Bir örneğiniz varsa, lütfen bana gösterin.

 
Renat :

Aslında, MT4'te Bid and Ask'ı normalleştirmek gerekli değildir. Varsayılan olarak her zaman normalleştirilirler.

Bir örneğiniz varsa, lütfen bana gösterin.

Elimizde bir örnek yok, çok uzun zaman önceydi (belki de şu anki yapılarda her şey yolunda), öyle sorunlar vardı ki MT4'te Bid and Ask isteyerek bile tekrar teklifler aldım, normalleştirmeden sonra her şey yoluna girdi, yani kural, herhangi bir isteği normalleştiriyor gibi görünüyordu. Ama alışkanlığın ikinci doğa olduğunu siz kendiniz anlıyorsunuz.