Hizmet Masası: tembellik, otizm veya hataları kabul etme isteksizliği? Yerel olmayan şamdanlarla tamamlayıcı grafikler.
Bir ay önce sorduğun soru bu mu? https://www.mql5.com/ru/forum/1111/page878#comment_344461
Elli Yıldız :
... Hikaye neyse odur. Derin bir geçmişimiz yok. Size kolaylık sağlamak için, gündüz çubukları daha derin bir geçmiş sunar.
Bu sizin için uygun değilse, bu hikayenin kullanımını manuel olarak sınırlayın .
Cevabın özü o zaman zaten biliniyordu ( https://www.mql5.com/ru/forum/1111/page878#comment_344518 ):
Ama korkarım ki (cevap) şöyle bir şey olacak: "programcının kendisi sınır tarihini hesaplayabilir ve istenen tarihin derinliğini sınırlayabilir" ..
Daha düşük zaman dilimlerinde geçmiş yokluğunda daha yüksek zaman dilimlerine ait mumları düşük zaman çizelgesi çizelgelerine ekleme sorunuyla hizmet masasıyla iletişime geçtim. Yani M1 grafiğinde, tarihin başlangıcına giderken, M1 ile hiç değil, D1 ve hatta W1 ile mumlar görüyoruz. Bu bağlantı nedeniyle, SeriesInfoInteger(Symbol(), PERIOD_M1, SERIES_FIRSTDATE ,x) işlevi, M1 geçmişinin bittiği tarihi değil, zaman çerçevesinin dışındaki ilk çubuğun tam tarihini, yani belirtilen zaman çerçevesini döndürür. sonucu hiç etkilemez.
...
SERIES_BARS_COUNT, belirli bir sembole ve döneme (zaman aralığı) ait mum (çubuk) sayısını döndürür
SERIES_FIRSTDATE, belirli bir sembole ve döneme (zaman çerçevesi) ait olan ilk mum çubuğunun (çubuk) açılış tarihini döndürür.
ek bilgi
...
Fonksiyonlar doğru çalışıyor.
Gördüğünüz şey, tarihin kalitesi için önceki başvurunuzun bir sonucudur.
Tarih neyse odur. Derin bir geçmişimiz yok. Size kolaylık sağlamak için, gündüz çubukları daha derin bir geçmiş sunar.
Bu sizin için uygun değilse, bu hikayenin kullanımını manuel olarak sınırlayın.
Mazeret açık, programcı TF'nin ilk tarihi için arama işlevini reçete etmek için geçmişi yenmek için tüm seçenekleri öngöremez. Bugün, yarın yeni numaralar çıkacak gibiler ve örneğin MQ bilgisi olmadan, dağıtmak bir şey üzerinde oyun oynayacak.
Ve standart bir işlev varsa buna neden ihtiyaç duyulur, ancak dünden önceki günün hava durumunu vermesi zaten açık bir hatadır.
Programcı için sorunun özü nedir:
bu belirli çubuğun seçilen TF'nin ilk çubuğu olarak kabul edilebileceği kriter seçeneklerini ve eski TF'den önceki tüm eklemeleri sıralamanız gerekir ve böyle bir arama ile, her biri için arama yapmanız gerekir. onları birçok kez bulana kadar bar. Çubuklar, atlanan çubuk türünden aralara sahip olabilir (bu, MQ tarafından seçilen çubuk kayıt biçiminin doğrudan bir sonucudur), çubuklar, hafta sonu/tatil türünde aralara sahip olabilir. Ve bu çubuğun böyle bir işaret kakofonisinde gerekli olduğunu nasıl belirleyeceğimiz açık değil.
MQ için sorunun özü nedir: (çözeceklerini kastediyorsak)
geçmişi dikerken, dikiş noktalarındaki verileri dosyaya şifreleyin (bunların çoğu yok, TF sayısına göre maksimum 21, pratikte 2-3 tane var), TÜM sorun çözüldü. Ardından, bu korunan bilgileri okumak için bir fonksiyon yazın ve bir istek yoluyla kullanıcıya verin.
teşekkürler, tüccarlar için karar vermeye gerek yok.
Eh, Cuma gününden sonra böyle bir hamle yapmak ne kadar taze bir zihin - M1 zaman çerçevesine daha yüksek çubuklar eklemek için gerekliydi ???
uzun vadeli ilkeleri bozma hakkını kim verdi?
Bu sizin için uygun değilse, bu hikayenin kullanımını manuel olarak sınırlayın.
teşekkürler, tüccarlar için karar vermeye gerek yok.
Eh, Cuma gününden sonra böyle bir hamle yapmak ne kadar taze bir zihin - M1 zaman çerçevesine daha yüksek çubuklar eklemek için gerekliydi ???
uzun vadeli ilkeleri çarpıtma hakkını kim verdi?
Alex, abartma, M1'den tüm TF'leri hesaplamaya karar verdikten sonra, diğer tüm TF'lerin doğru hesaplanması için TF'lerin yapıştırılması gerekiyordu.
Hatırlarsanız, bu 21 TF elde etmeyi mümkün kıldı (standart olmayanlar dahil).
Bu defalarca konuşuldu. Her TF için ayrı ayrı eski depolama sistemine dönüş olmayacak, anlıyorsunuz.
Ancak uygulamanın programcılara hemoroid eklediği bir gerçektir. Ve soru çözümde önemsiz, ama hayır, neye ihtiyacınız olduğunu daha iyi biliyoruz :(
bu yüzden ilgilendiğim şey bu
Если вам это не удобно - ограничивайте использование этой истории вручную.
Alex, abartma, M1'den tüm TF'leri hesaplamaya karar verdikten sonra, diğer tüm TF'lerin doğru hesaplanması için TF'lerin yapıştırılması gerekiyordu.
Geçmişte bir tanımlayıcı ayarlanarak ve okuma sırasında, çubuk verileri M1'e ait değilse, M1'de gösterme, M5'e ait olmama, ardından M5'te gösterme ile çözülür. Peki, ya da evet... FirstDate'de, mevcut dönemin çubuklarını daha yüksek dönemin çubuklarıyla birleştirme tarihini yazın ve kullanıcı, hangi tarihten itibaren işlemeye başlayacağını öğrenmek için gerçek bir fırsata sahip olacaktır. eski çubukları asın.
Durum, elbette, aptalca.
Ne bu tür grafikler çizebilir , ne de fonksiyonlardan böyle değerler getiremezsiniz.
M1'den inşa etmek istiyorsanız - inşa edin. Yeterli değil M1 - nasıl çıkacağınızı anlayın, ancak bizim pahasına değil .
(her şey elbette MQ'ya yöneliktir)

- www.mql5.com
Katılıyorum, bu saçmalık.
Ve nokta ayırıcılar varsa, böyle bir güzellik ortaya çıkıyor.
Ve kodda saptırmak zorundasın ((.

- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Daha düşük zaman dilimlerinde geçmiş yokluğunda daha yüksek zaman dilimlerine ait mumları düşük zaman çizelgesi çizelgelerine ekleme sorunuyla hizmet masasıyla iletişime geçtim. Yani M1 grafiğinde, tarihin başlangıcına giderken, M1 ile hiç değil, D1 ve hatta W1 ile mumlar görüyoruz. Bu bağlantı nedeniyle, SeriesInfoInteger(Symbol(), PERIOD_M1, SERIES_FIRSTDATE ,x) işlevi, M1 geçmişinin bittiği tarihi değil, zaman çerçevesinin dışındaki ilk çubuğun tam tarihini, yani belirtilen zaman çerçevesini döndürür. sonucu hiç etkilemez. Kullanıcılar için çok uygun olduğu için bir mazeret aldım ve her sembolün her bir zaman dilimi için son tarih manuel olarak ayarlanmalıdır. Üzgünüm, ancak bu işlev SeriesInfoInteger(Symbol(), PERIOD_M1, SERIES_FIRSTDATE ,x) işlevi tarafından gerçekleştirilmemeli mi ve sonuç şuysa, SERIES_FIRSTDATE belirtilen TF M1 ile SERIES_FIRSTDATE ile belirtilen TF W1 arasında nasıl farklılık gösterir? aynısı?
Ne tür bir saçmalık? Kime ve neden uygun? Kimse M1 çizelgelerinde W1 mumlarını görmek istemez. Mazoşistler hariç...
Şu sonuca varıyorum: ya geliştiriciler otistik (yukarıda ve aşağıda açıklananların norm olduğu veya daha doğrusu norm olmadığı, ancak 5+ için çalıştığı kendi dünyalarında yaşıyorlar) veya düzeltmek için çok tembeller ya da "Nasıl olur, hiç hata yapmayız, iyiyiz" ilkesi. Hâlâ seçenekler var: Şaka yapıyorlar, nasıl düzelteceklerini bilmiyorlar.
İşte ekran görüntüleri, farklı tfs tarihine katılma çizgisini açıkça gösteriyorlar:
https://charts.mql5.com/1/26/eurusd-d1-metaquotes-software-corp-7.png
https://charts.mql5.com/1/26/eurusd-h4-metaquotes-software-corp.png
https://charts.mql5.com/1/26/eurusd-h1-metaquotes-software-corp-9.png
https://charts.mql5.com/1/26/eurusd-m30-metaquotes-software-corp-2.png
https://charts.mql5.com/1/26/eurusd-m15-metaquotes-software-corp-6.png
sorgu 1:
Terminalin sürümü ve bitliği
712x86 oluştur
problemin tanımı
Daha küçük zaman dilimi geçmiş verileri, daha büyük zaman dilimi geçmiş verileriyle devam eder. Yani, örneğin, M1'deki EURUSD geçmişi ~01/04/1999'da biter ve soldaki M1'de hesaplanan grafik 01/04/1999'a kadar olan dönem için D1 grafiğine eklenir.
Ekli ekran görüntülerinde görebilirsiniz. Bu nedenle, SeriesInfoInteger işlevi SERIES_FIRSTDATE parametresiyle düzgün çalışmıyor. İşlev, sembol dönemine göre ilk tarihi değil, tüm geçmişin ilk tarihini (D1, W1 ve MN1 zaman çerçeveleri dahil) döndürür.
sıralama
Grafiği hikayenin başına kaydırma
Sonuç
Daha büyük zaman dilimlerinden geçmiş verilerle grafiğin devamı.
Beklenen Sonuç
Belirli bir zaman diliminde geçmiş verilerin sonundaki grafiği sınırlama.
ek bilgi
2. istek:
Terminalin sürümü ve bitliği
yapı712x86
problemin tanımı
Belgelerdeki açıklama:
SERIES_BARS_COUNT
Şu anda sembol periyoduna göre çubuk sayısı
uzun
SERİ_İLK TARİH
Şu anda sembol dönemine göre ilk tarih
tarih saat
Büyük zaman dilimlerinin geçmişinin daha düşük zaman dilimlerinin çizelgelerine eklenmesi nedeniyle, daha düşük zaman dilimlerinde belirli bir zaman dilimi için geçmişin olmaması ve büyük zaman dilimlerinde aynı dönem için geçmişin bulunması nedeniyle, grafikte, örneğin, M1 D1 tablosundan mumlar var.
Bu soruna bir çözüm var mı? El ile sınırlamak dışında şu anda bu soruna herhangi bir çözüm var mı?
sıralama
Bu işlevleri kullanma
Sonuç
Düşük zaman dilimlerinde (D1'e kadar) SERIES_BARS_COUNT, sembole ve döneme (zaman dilimi) ait mumların (çubukların) sayısını artı geçmiş verilerin bulunduğu en yakın daha yüksek zaman dilimindeki mumların sayısını döndürür
Düşük zaman dilimlerinde (D1'den önce) SERIES_FIRSTDATE, tarihteki ilk mumun (çubuk) açılış tarihini döndürür.
Beklenen Sonuç
SERIES_BARS_COUNT, belirli bir sembole ve döneme (zaman aralığı) ait mum (çubuk) sayısını döndürür
SERIES_FIRSTDATE, belirli bir sembole ve döneme (zaman çerçevesi) ait olan ilk mum çubuğunun (çubuk) açılış tarihini döndürür.
ek bilgi
...
Fonksiyonlar doğru çalışıyor.
Gördüğünüz şey, tarihin kalitesi için önceki başvurunuzun bir sonucudur.
Tarih neyse odur. Derin bir geçmişimiz yok. Size kolaylık sağlamak için, gündüz çubukları daha derin bir geçmiş sunar.
Bu sizin için uygun değilse, bu hikayenin kullanımını manuel olarak sınırlayın.