Çaydanlıktan gelen sorular - sayfa 54

 
Urain :
Uzman lakabına sahip bir kişinin hatalarını düzenle? mizah konusunda bu gereklidir.
Gönderinizin 1'den 10'a kadar bir ölçekte trolleme ile nasıl bir ilişkisi var? =)
 
Expert :
Gönderinizin 1'den 10'a kadar bir ölçekte trolleme ile nasıl bir ilişkisi var? =)

Başta Andrey'in böyle sorular sorduğunu düşünmüştüm ama sonra onun tekabül ettiği TheXpert lakabına sahip olduğunu hatırladım.

Madem bu kadar yakınsınız, iki kat talep görmeye hazır olun.

Ve daha iyi değişiklik, 3 gönderi çok geç değil, forumda bir uzman yeterli.

 
tol64 :

Sunulan şemada çok para birimli bir Uzman Danışmanda yeni bir çubuğun kontrolünün nasıl doğru bir şekilde uygulanacağını söyleyebilir misiniz?

Her enstrüman için yeni bir çubuğun açılış zamanını saklamak için statik bir dizi eklendi:

 void OnTick ()
{ 
 // Объявление массивов переменных для торговых сигналов
 static datetime New_Bar [ 2 ];  
 static bool UpSignal[ 2 ], DnSignal[ 2 ];

 // Получение торговых сигналов
 TradeSignalCounter( 0 , остальные параметры);
 TradeSignalCounter( 1 , остальные параметры);

 // Совершение торговых операций
 TradePerformer( 0 , остальные параметры);
 TradePerformer( 1 , остальные параметры);
}

isNewBar(string Symbol_, ENUM_TIMEFRAMES Zaman Çerçevesi) işlevi değiştirildi; Artık New_Bar [] dizisiyle çalışır.

 bool isNewBar( int Number, string Symbol_, ENUM_TIMEFRAMES Timeframe, datetime &New_Bar[])
{
 // Текущее время
 datetime lastbar_time = ( ENUM_SERIES_INFO_INTEGER ) SeriesInfoInteger (Symbol_,Timeframe, SERIES_LASTBAR_DATE );

 // Если это первый вызов функции
 if (New_Bar[Number] == 0 )
   {
     // Установим время и выйдем 
    New_Bar[Number] = lastbar_time;
     return ( false );
   }

 // Если время отличается
 if (New_Bar[Number] != lastbar_time)
   {
     // Запомним время и вернем true
    New_Bar[Number] = lastbar_time;
     return ( true );
   }
 // Дошли до этого места - значит бар не новый, вернем false
 return ( false );
}
Farklı cihazlarda değişmeyen parametrelere sahip sonuçlar hala farklıdır. Söyle bana, neyi yanlış yapıyorum?
 
Urain :

Başta Andrey'in böyle sorular sorduğunu düşünmüştüm ama sonra onun tekabül ettiği TheXpert lakabına sahip olduğunu hatırladım.

Madem bu kadar yakınsınız, iki kat talep görmeye hazır olun.

Ve daha iyi değişiklik, 3 gönderi çok geç değil, forumda bir uzman yeterli.

Başlangıçta, bu tür soruları soran kişinin Andrey olduğunu düşündüm (bağlamdan, aptalca olanları anlıyoruz), ama sonra onun tekabül ettiği TheXpert lakabına sahip olduğunu hatırladım (ayy, TheXpert'e gizli bir hakaret) = )

Not: Yeni bir takma ad icat etmek için oturuyorum...

 
papaklass :
Sonuçlar farklı olacak çünkü. OnTick() işlevi, Uzman Danışman'ın çalıştığı grafikte enstrüman için yeni bir onay işareti geldiğinde tetiklenir. Ve farklı enstrümanlardaki keneler aynı anda gelmez. Bu, nihai sonuçlarda tutarsızlıklara neden olur. Uzman Danışmanınızı, günde en fazla kenenin (eurusd) olduğu en likit para birimi üzerinde çalışacak şekilde ayarlayın ve bu konuda endişelenmeyin.

Sonuçların farklı olmasının nedeni benim için açık. Bu birçok başlıkta defalarca tartışıldı. Buhar banyosu yapmamak benim durumumda uygun değil.)) Doğru test sonuçlarını almak için çözülmesi gereken bir görev var. Nikolai Kositsin tarafından önerilen şema şu anda benim için en anlaşılır ve oldukça uygun. Şimdiye kadar, yukarıdaki sorun çözülmedi.

Konstantin Gruzdev makalesinde "casuslar" ve "ajanlar" ile ilginç bir yöntem önerdi. )) Ama onun "aracı" exSpy Kontrol paneli MCM'nin çalışmak istemediği bir şeyim var.

Yukarıdaki sorunu Konstantin Gruzdev'in "ajanlarının" yardımıyla çözmeye çalışan var mı?

 
tol64 :

Yukarıdaki sorunu Konstantin Gruzdev'in "ajanlarının" yardımıyla çözmeye çalışan var mı?

Bu teknolojinin test cihazında çalışmayacağını düşünüyorum.

// Zamanlayıcı üzerinde çalışın. Sevilmeyecek ne var?

 
MetaDriver :
Bu teknolojinin test cihazında çalışmayacağını düşünüyorum.

Konstantin, makalenin tartışma başlığında bu konuda şu şekilde yorum yaptı :

OnChartEvent() henüz test cihazında çalışmıyor. Geliştiriciler yapacaklarına söz verdiler. Bir test olarak adlandırılabilirse, doğrudan test cihazındaki uzmandan "casus" çağırma yöntemini, olayların iletimini küresel değişkenler aracılığıyla değiştirme yöntemini test ettim - işe yarıyor.

Bu şekilde deneyebilirsiniz.

Bazı seçenekler hala kafamda ham formlarında doğuyor, ancak bana oldukça karmaşık görünüyorlar. Her durumda, bu sorunu çözmeniz gerekecek. Sadece yanlış sonuçlardan bıktım. MQL5'i yalnızca ticaret sistemlerini çoklu para birimi modunda test etme fırsatı nedeniyle öğrenmeye başladım. Ondan önce test sonuçlarını Excel'e yükledim ve orada hesaplamalar yaptım. Ama sonucu hemen test cihazında görmem gerekiyor.

Vladimir, bu sorunu nasıl çözdün?

MetaSürücü :

// Zamanlayıcı üzerinde çalışın. Sevilmeyecek ne var?

Ah, zaten cevaplandı.)) Evet, forumun bazı "köpekbalıkları" da bu seçeneği önerdi, ancak bunun nasıl uygulanabileceğini henüz görmedim. Şimdi konsantre olmaya çalışacağım ve sonunda bu gerekli işlevi yapacağım. Hazır bir çözümünüz varsa, en azından basit bir örnek için size çok minnettar olurum, eğer sizin için zorlaştırmıyorsa.))

 
MetaDriver :

// Zamanlayıcı üzerinde çalışın. Sevilmeyecek ne var?

Bir zamanlayıcı ile test etmeye çalıştım. Bütün bunlar bana daha karmaşık geldi, ancak burada kodu OnTick() işlevinden OnTimer() 'a aktarmanın yeterli olduğu ortaya çıktı. Sonuçlar aynı. Doğruluk için, örneğin her 10 saniyede bir bir zamanlayıcı ayarlamanız gerekir. Doğru, test etmek çok daha fazla zaman alıyor, ilk bakışta beğenmeyebileceğiniz tek an bu.
Документация по MQL5: Работа с событиями / EventSetTimer
Документация по MQL5: Работа с событиями / EventSetTimer
  • www.mql5.com
Работа с событиями / EventSetTimer - Документация по MQL5
 
tol64 :
Bir zamanlayıcı ile test etmeye çalıştım. Bütün bunlar bana daha karmaşık geldi, ancak burada kodu OnTick() işlevinden OnTimer() 'a aktarmanın yeterli olduğu ortaya çıktı. Sonuçlar aynı. Doğruluk için, örneğin her 10 saniyede bir bir zamanlayıcı ayarlamanız gerekir. Doğru, test etmek çok daha fazla zaman alıyor, ilk bakışta beğenmeyebileceğiniz tek an bu.

Zamanlayıcı periyoduna bağlıdır. 10 günlük (60*60*24*10) periyodu karıştırmak mümkündür, daha hızlı olacaktır. :))

Daha fazla incelik var. Örneğin, hafta sonları işaretlemek gerekli değildir. ;)

 
tol64 :
Doğru, test etmek çok daha fazla zaman alır.

Yalnızca yeni bir çubuğu yakalamak için "işaretlemeniz" gerekiyorsa, çubuğun tahmini görünüm süresi için zamanlayıcıyı ayarlamak (H1 için 00 dakika 00 saniye) ve bir çift için 1 saniyelik bir sıklık ile işaretlemek yeterlidir. çubuk gerekli tüm zaman dilimlerinde görünene kadar dakika. Daha doğru ve daha ekonomik olacaktır.

Ancak özel etkinlikler çözümü elbette çok daha zarif.

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