MT5 için dilekler - sayfa 50

 

Yedelkin :

Kılavuz, " Uzman Danışmanın eklendiği sembol için yeni bir onay işareti geldiğinde NewTick olayı oluşturulur " dediği için, yeni onay işaretlerinin gelmesi, NewTick olaylarının oluşturulmasına yol açmalıdır.

Soruya bakılırsa, OnTick () devre dışı bırakıldığında NewTick olaylarının oluşturulmadığını düşünüyor musunuz? Ancak kılavuzda böyle bir bilgi bulamadım.

Bence bu doğru - işleyici yoksa olay sıraya alınmaz. Bu mantıklı ve yardımda bunun hakkında yazmak için hiçbir neden göremiyorum.

Danışmanın çalışması sırasında çok sayıda olay üretilir (ticaret, grafikten vb.), Hepsini işlemek kesinlikle gerekli değildir.

Tüm (işlenmemiş dahil) olaylar tek bir kuyruğa yerleştirilseydi, bazı Uzman Danışmanlar basitçe çalışamazlardı - olayları kuyruğa ulaşamazdı (örneğin, yalnızca zamanlayıcı tarafından günde bir kez çalışırken).

 
komposter :

Bence bu doğru - işleyici yoksa olay sıraya alınmaz. Bu mantıklı ve yardımda bunun hakkında yazmak için hiçbir neden göremiyorum.

Danışmanın çalışması sırasında çok sayıda olay üretilir (ticaret, grafikten vb.), Hepsini işlemek kesinlikle gerekli değildir.

Tüm (işlenmemiş dahil) olaylar tek bir kuyruğa yerleştirilseydi, bazı Uzman Danışmanlar basitçe çalışamazlardı - olayları kuyruğa ulaşamazdı (örneğin, yalnızca zamanlayıcı tarafından günde bir kez çalışırken).

Bana göre iki tür olay (NewTick ve Timer) diğerlerinden ayrı olarak ele alınmalıdır. aksine - Bu olayların her türü için kendi iş parçacığı ve buna göre kendi kuyruğu olmalıdır.

Büyük olasılıkla, alım satım olaylarını (Ticaret) ve Pazar Derinliği'ni (BookEvent) işlemek için olayları da ayırmanız gerekir.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика - Документация по MQL5
 

Lizar , İlginç ,

Test cihazıyla çalışmanın sonuçları konusunda yanılmışım. Görünüşe göre, test günlüklerini demo günlükleriyle karıştırdı. Tasarım

 void OnChartEvent ( const int id,           
                 const long & lparam,   
                 const double & dparam, 
                 const string & sparam  
                )
  {
   if (id== CHARTEVENT_CUSTOM ) TesterWithdrawal( 1 );
  }

Henüz çalışmıyorum. Bu, yabancı sembollerdeki göstergelerden CHARTEVENT_CUSTOM özel olayının gelmediği veya işlenmediği anlamına gelir. Yanlış bilgi verdiğim için özür dilerim.

 
komposter :

Bence öyle - işleyici yoksa, olay sıraya alınmaz.

Bu sürüm onaylanırsa iyi olur. Ancak testçi için keneler herhangi bir şekilde oluşturulur. Tamamen gereksiz olduklarında bile.

kompost :

Bu mantıklı ve yardımda bunun hakkında yazmak için hiçbir neden göremiyorum.

Mantıklı olabilir ama herkes için değil. Geliştiriciler, kullanıcıları aşırı spekülasyon için defalarca kınadılar. Bu nedenle, sonuçlarımda sadece şu anda mevcut olan bilgilerden ilerlemeye çalışıyorum. Ve şu anda, daha önce de belirtildiği gibi, kılavuz, " NewTick olayı, Uzman Danışman'ın eklendiği simgeye yeni bir onay işareti geldiğinde oluşturulur" diyor. Bu kuralın istisnaları hakkında herhangi bir çekince bulamadım ve bu nedenle yeni kenelerin gelmesi gerçeğinin NewTick olaylarının oluşmasına yol açması gerektiği sonucuna vardım.

kompost :

Danışmanın çalışması sırasında çok sayıda olay üretilir (ticaret, grafikten vb.), Hepsini işlemek kesinlikle gerekli değildir.

Burada, NewTick olayını işlememeyi garanti etmek için bir geçiş işlevi yapmanızı öneriyorum. Böylece EA yazarı, terminal tarafından oluşturulacak NewTick olaylarına ihtiyacı olup olmadığına karar verebilir. Uzman Danışmanım yalnızca "yabancı" sinyallerle çalışmalıdır, ancak yine de onu bir tabloya eklemeniz gerekir. Ve örneğin, test/optimizasyon sırasında zamanın belirli bir bölümünün Expert Advisor'ın eklendiği sembol için keneler oluşturmaya harcandığı ve Expert Advisor'ın bu tiklere (ve NewTick olaylarına) ihtiyacı olmadığı ortaya çıktı. hiç.
 
Yedelkin :

Ancak testçi için keneler herhangi bir şekilde oluşturulur. Tamamen gereksiz olduklarında bile.

Bunun gibi? Ve hangi fiyatlarla siparişlerin (bekleyen, SL ve TP) tetiklenmesini kontrol edecek?

Test cihazının, EA'nın takas ettiği tüm enstrümanlar için kenelere ihtiyacı vardır. Doğal olarak, daha fazla araç ve simülasyonun kalitesi ne kadar yüksek olursa, iş o kadar yavaş olacaktır.


Yedelkin :

Ve şu anda, daha önce de belirtildiği gibi, kılavuz, " NewTick olayı, Uzman Danışman'ın eklendiği simgeye yeni bir onay işareti geldiğinde oluşturulur" diyor. Bu kuralın istisnaları hakkında herhangi bir çekince bulamadım ve bu nedenle yeni kenelerin gelmesi gerçeğinin NewTick olaylarının oluşmasına yol açması gerektiği sonucuna vardım.

Evet, ancak bu mantık izlenerek diğer tüm olaylar aynı şekilde kuyruğa alınmalıdır. Çok fazla olurdu.

 
komposter :

Bunun gibi? Ve hangi fiyatlarla siparişlerin (bekleyen, SL ve TP) tetiklenmesini kontrol edecek?

Pekala, tekrar söylüyorum: Expert Advisor, bağlı olduğu sembolle hiç çalışmıyor. Ve bu özel sembol için herhangi bir SL ve TP izlemesine gerek yok. Onlar. Expert Advisor'ın bu sembol üzerinde kenelere hiç ihtiyacı yoktur. Uzman, yalnızca gerektiğinde sembole eklenir, çünkü başlatmak için en azından bir yere eklemeniz gerekir.

kompost :


Evet, ancak bu mantık izlenerek diğer tüm olaylar aynı şekilde kuyruğa alınmalıdır. Çok fazla olurdu.

Bu mantığı takiben, tik oluşturma ve/veya olayları ortak bir kuyruğa yerleştirme kurallarındaki tüm istisnalar dizinde listelenmelidir. Şimdiye kadar, (1) bir OnTick() işlevi olduğunda, (2) bu işlevin önceki NewTick olayını işlemesi durumunda yalnızca bir istisna buldum. Bu istisna benim durumum için geçerli değil.

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 

Yedelkin :

Bu mantığı takiben, tik oluşturma ve/veya olayları ortak bir kuyruğa yerleştirme kurallarındaki tüm istisnalar dizinde listelenmelidir. Şimdiye kadar, (1) bir OnTick() işlevi olduğunda, (2) bu işlevin önceki NewTick olayını işlemesi durumunda yalnızca bir istisna buldum. Bu istisna benim durumum için geçerli değil.

OnTick() yoksa, bu çizelgenin (bu çizelgenin sembolü için) işaretlerinin işlenmediğini varsaymak mantıklıdır.

Olayların sıraya alınıp alınmadığı ve hangi sıranın olduğu başka bir konudur. Ana şey, kenelerin çizelge tarafından işlenmemesidir (üzerinde bir uzman tarafından)!

EA'nın diğer çizelgelerden keneler işlediği gerçeğini hesaba katarsak, o zaman HARİCİ kenelerin işlenmesini karıştırmak gerekir.

Bu nedenle, bence, Expert Advisor'da girdi parametreleri olarak iletebileceğiniz kendi tik işlemenizi oluşturmanız gerekiyor: sembol, zaman, fiyat (Teorik olarak, özel bir olay tüm bunları yapmanıza izin verir).

Benim düşünceme göre, ayrıntılı olarak incelenmesi ve optimize edilmesi gereken özel olayların akışıyla yapılan çalışmadır.

 
Interesting :

EA'nın diğer çizelgelerden keneler işlediği gerçeğini hesaba katarsak, o zaman HARİCİ kenelerin işlenmesini karıştırmak gerekir.

Bu nedenle, bence, EA'da girdi parametreleri olarak iletebileceğiniz kendi onay işlemenizi oluşturmanız gerekir: sembol, zaman, fiyat (Teorik olarak, özel bir olay tüm bunları yapmanıza izin verir).

Benim düşünceme göre, ayrıntılı olarak incelenmesi ve optimize edilmesi gereken özel olayların akışıyla yapılan çalışmadır.

Haklısın, ben böyle gittim - sadece harici keneleri işleyerek. Burada henüz soru yok.

ilginç :

OnTick() yoksa, bu çizelgenin (bu çizelgenin sembolü için) işaretlerinin işlenmediğini varsaymak mantıklıdır.

Olayların sıraya alınıp alınmadığı ve hangi sıranın olduğu başka bir konudur . Ana şey, kenelerin çizelge tarafından işlenmemesidir (üzerinde bir uzman tarafından)!

Evet, benim durumumdaki genel sıranın "dahili" kenelerden gelen olaylarla tıkanmadığından emin olmak konusunda takıntılıyım. Tabii ki yanılıyor olabilirim, ancak "devre dışı bırakmak" - "zamanında kenelerin oluşturulmasını , olayların doğru sırasını, sunucuyla senkronizasyonu vb. sağlamaktan" çok daha kolay olmalıdır. ...çoğunluk için "varsayılan" olsun, her şey şu anda olduğu gibi kalsın ve benim gibi aşırı insanlar için bir devre dışı bırakma / değiştirme işlevi ekleyin. Herhangi bir yan etki varsa el kitabında dikkatli olun.
 
Yedelkin :

Haklısın, bu şekilde gittim - sadece harici keneleri işleyerek. Burada henüz soru yok.

Evet, benim durumumdaki genel sıranın "dahili" kenelerden gelen olaylarla tıkanmadığından emin olmak konusunda takıntılıyım. Elbette yanılıyor olabilirim, ancak "devre dışı bırakmak", "tıklamaların zamanında oluşturulmasını, olayların doğru sırasını, sunucuyla senkronizasyonu vb. sağlamaktan" çok daha kolay olmalıdır. ...çoğunluk için "varsayılan" olsun, her şey şu anda olduğu gibi kalsın ve benim gibi aşırı insanlar için bir devre dışı bırakma / değiştirme işlevi ekleyin. Herhangi bir yan etki varsa el kitabında dikkatli olun.

Daha kolay pahasına, bu tartışmalı bir konudur ve önerdiğiniz seçenek (bence) daha az tartışmalı değildir.

Keneler ve genel olarak tüm olaylarla ilgili tüm soru, EA'da işleyici yoksa olaylara ne olacağıdır.

Bu konuda ikinci sorum şu olacak - tüm olaylar tek bir kuyrukta mı işleniyor yoksa belirli olaylar için ayrı kuyruklar mı var (OnTimer, OnTick ve OnTrade)?

 
Interesting :

Daha kolay pahasına bu tartışmalı bir konudur ve önerdiğiniz seçenek daha az tartışmalı değildir (bence).

Kabul ediyorum; Gerçekten bilmediğin şeyi yargılamak zor. Geriye sadece dilek dilemek kalıyor :) Versiyonumun tartışmasına gelince, burada asıl meselenin "tiklere ihtiyacım yok!" fikri olduğunu söyleyebilirim; ve nasıl uygulanacağı geliştiricilerin takdirindedir.

ilginç :

Keneler ve genel olarak tüm olaylarla ilgili tüm soru, EA'da işleyici yoksa olaylara ne olacağıdır.

Oldukça doğru. Benim için tek bir çözüm var - uçları kesmek (bir anahtar işlevi tanıtmak) ve soru hakkında endişelenmediğinizden emin olun :) prensipte gereksizdir. Sadece Uzman Danışman sembollerden birine iliştirilmek zorunda kaldığı için.

ilginç :

Bu konuda ikinci sorum şu olacak - tüm olaylar tek bir kuyrukta mı işleniyor yoksa belirli olaylar için ayrı kuyruklar mı var (OnTimer, OnTick ve OnTrade)?

Eh, doğrudan referans kitabından, "tüm ortaya çıkan olayların" ortak bir kuyruğa eklendiği ve birbiri ardına alındığı sırasına göre işlendiği sonucu çıkar. İstisna yalnızca NewTick içindir. OnTimer olayının her zaman işlenmediğini bir şekilde kanıtladınız, ancak bu aynı zamanda genel kuyruğun taşması sonucu kaldırılmasından da kaynaklanıyor olabilir. Olayların her biri için ayrı kuyruklardan bahsedildiğini görmedim.