Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 694

 
Renat Akhtyamov :

peki, o zaman çubuk sayısının bu çizgi olduğu gösterge döngüsü.

İlginç - net olan (?), yani. MT5 çevrimdışı özelliklerini nereden okuyabilirim, lütfen söyle?

Rates_total göstergesinde - OnCalculate() içindeki döngüde Bars() yerine başarıyla kullanıldı
 
Artyom Trishkin :
Rates_total göstergesinde - OnCalculate() içindeki döngüde Bars() yerine başarıyla kullanıldı

TAMAM. Evet var.

Ve farklı enstrümanlar/zaman dilimleri için aynı sayıda çubuk olacak, çünkü çok para birimli bir hindim var mı?

Burada ayarları değiştirebilirim

Bars ( _Symbol , _Period );

, peki ya türkiye'yi farklı zaman dilimlerinde ve enstrümanlarda hesaplamak için oranlar_toplam?

 
Renat Akhtyamov :

TAMAM. Evet var.

Ve farklı enstrümanlar / zaman dilimleri için aynı sayıda çubuk olacak, çünkü çok para birimli bir hindim var mı?

Birden çok para birimi/çok zaman çerçevesi göstergesinde geçerli olmayan bir zaman çerçevesi veya güncel olmayan bir sembol için geçmiş çubuklarının sayısını almak için Bars() kullanmanız gerekir.
 
Artyom Trishkin :
Birden çok para birimi/çok zaman çerçevesi göstergesinde geçerli olmayan bir zaman çerçevesi veya güncel olmayan bir sembol için geçmiş çubuklarının sayısını almak için Bars() kullanmanız gerekir.

İşte tam olarak bunun hakkında yazıyorum - bir alıntı geçmişi olmasına rağmen bu özellik çevrimdışı çalışmıyor

Buna göre türkiye çevrimdışı test edilemez.

MT5'teki teklifin her bir IP adresine kişisel olarak gönderildiği ve grafikte önceden çizilmiş olan teklifin geçmişinden farklı olabileceği ortaya çıktı. // peki, mantık gitti...

 
Renat Akhtyamov :

peki, o zaman çubuk sayısının bu çizgi olduğu gösterge.

İlginç - net olan (?), yani. MT5 çevrimdışı özelliklerini nereden okuyabilirim, lütfen söyleyin?

MT5 olduğu açıktır. Bars() çağrılmadan önce ne yapıldığı belli değil. Bu kadar basit bir komut dosyası benim için çalışıyor ve sunucuyla bağlantı olmadığında veya hiç ağ olmadığında bile sıfırdan farklı bir değer döndürüyor.

Ama indikatörde henüz denemedim o yüzden orada nasıl yaptın diye sordum. Büyük olasılıkla, tekrar aradığınızda, zaten gerçek sayıda çubuk olacaktır, ilk arama önbellekteki verilerin güncellenmesine neden olacaktır.

void OnStart ()
  {
         Print ( "Bars on chart - " , Bars ( _Symbol , PERIOD_CURRENT ));  
  }
 
Vitalie Postolache :

MT5 olduğu açıktır. Bars() çağrılmadan önce ne yapıldığı belli değil. Bu kadar basit bir komut dosyası benim için çalışıyor ve sunucuyla bağlantı olmadığında veya hiç ağ olmadığında bile sıfırdan farklı bir değer döndürüyor.

Ama indikatörde henüz denemedim o yüzden orada nasıl yaptın diye sordum.

void OnStart ()
  {
         Print ( "Bars on chart - " , Bars ( _Symbol , PERIOD_CURRENT ));  
  }
açık
 

Bir Expert Advisor'ı başlatmak için bir mumun kapanışına basit bir şekilde eklemenin en iyi yolu nedir? Göstergeleri yeniden hesaplamak, siparişleri geri çekmek/yerleştirmek vb.

Zamanlayıcı ile mi?

Ancak zamanlayıcıyı saat başı HH:00:00'da çalışacak şekilde doğru zamanda nasıl başlatırsınız? ve zamanlayıcının etkinleştirilmesinden bu yana her saat değil mi?

 
dimnik :

Bir Expert Advisor'ı başlatmak için bir mumun kapanışına basit bir şekilde eklemenin en iyi yolu nedir? Göstergeleri yeniden hesaplamak, siparişleri geri çekmek/yerleştirmek vb.

Zamanlayıcı ile mi?

Ancak zamanlayıcıyı saat başı HH:00:00'da çalışacak şekilde doğru zamanda nasıl başlatırsınız? ve zamanlayıcının etkinleştirilmesinden bu yana her saat değil mi?

Mevcut mumun açık zamanını kontrol edin ve son kontrolün açık zamanıyla karşılaştırın. Eşitlerse, henüz yeni bir çubuk açılmamıştır ve OnTick()'ten dönülür. Eşit değillerse - yeni bir barın açılması belirlendi - danışmana dahil olan her şeyi uygularız ve bir sonraki kontrol için yeni açılış saatini hatırlarız.
 
Vitaly Muzichenko :

Zamanlama sorusu:

böyle bir tasarım var

for ( long currChart = ChartFirst ();currChart != - 1 ; currChart= ChartNext (currChart)) {
 if (currChart == график тестера ) continue ; // Что сюда написать?
   ObjectSetInteger (currChart, "Sync" , OBJPROP_BGCOLOR , clrGreen );
}

Grafiğin ana olmadığını, ancak test modunda açıp atladığını nasıl öğrenebilirim?

Bir öneri gibi.

Bir grafik için bir şablon oluşturabilir ve üzerine bir adla, örneğin "TesterChart" veya başka bir nesneyle, görünmemesi için sıfır koordinatta bir etiket atabilirsiniz. Bu şablona "Test Edici" adını verin. Artık testlerdeki tüm çizelgeler bu ada sahip bir nesneye sahip olacak. Ardından grafiğin belirli bir nesnesi olup olmadığını sorun, evet ise "Bizim test cihazımız", onu atlıyoruz.

Güdük güverte boyunca, ama başka bir yol bilmiyorum.

 
Vasiliy Pushkaryov :
Bir öneri gibi.

Bir grafik için bir şablon oluşturabilir ve üzerine bir adla, örneğin "TesterChart" veya başka bir nesneyle, görünmemesi için sıfır koordinatta bir etiket atabilirsiniz. Bu şablona "Test Edici" adını verin. Artık testlerdeki tüm çizelgeler bu ada sahip bir nesneye sahip olacak. Ardından grafiğin belirli bir nesnesi olup olmadığını sorun, evet ise "Bizim test cihazımız", onu atlıyoruz.

Güdük güverte boyunca, ama başka bir yol bilmiyorum.

Teşekkür ederim ama bu çözüm benim birden fazla şablon üzerinde test etmem anlamında uygun değil ama bu zahmetin yarısı ama bu göstergenin sadece bende işe yaraması gerçeği, insanlar test cihazında sadece dedikodu etiketleri.

Grafiğin test cihazında çalıştığını programlı olarak belirlemenin bir yolu olmadığı ortaya çıktı? AU, geliştiriciler, neredesiniz?

.