Çoklu para birimi göstergesinin nasıl geliştirileceğini bilen var mı? - sayfa 2

 

ACR'yi ilk aradığınızda 4066 hatası alıyorsunuz. İşte bu kadar. Tekrar arayın ve geçerli bir sayı elde edin, ancak dizilerde veri yok. Dizilere erişim, aralığın dışına çıkmanıza neden olmaz.

 
WHRoeder :

ACR'yi ilk aradığınızda 4066 hatası alıyorsunuz. İşte bu kadar. Tekrar arayın ve geçerli bir sayı elde edin, ancak dizilerde veri yok. Dizilere erişim, aralığın dışına çıkmanıza neden olmaz.

Az önce tarif ettiğiniz şeyi görmediğim için katılmıyorum. Ancak bunun nedeni, Real Live kullanımımda çoğu zaman tüm verilerin genellikle mevcut olması ve demo/test ortamımda harici verilerden ".hst" ve ".fxt" oluşturmam olabilir.

Yerel veri içermeyen "temiz sayfa" koşullarını yeniden oluşturmaya çalışacağım ve tarif ettiğiniz şeyi çoğaltabilir miyim diye bakacağım.

 

"Temiz sayfa" koşullarını yeniden oluşturdum ve bunu uyku işlevi olmayan sürekli bir döngüde test etmek için küçük bir komut dosyası kodladım. Komut dosyasını bir "EURUSD" grafiğine karşı iki kez çalıştırdım, ancak daha önce hiç yüklenmemiş olan "NZDCAD" kod istek verilerini aldım.

İlk çalıştırmadaki sonuçlar aşağıdaki gibidir.

  • İlk 73607 yineleme sırasında (yaklaşık 516 ms süren), "ArrayCopyRates" her zaman -1 sayısını döndürdü ve bir 4073 hatası oluşturdu (Hata 4073 - Geçmiş verisi yok). Bu yinelemeler sırasında dizi boyutu her zaman 0'dı.
  • Son olarak 73608. yinelemede, 512'lik bir sayı döndürdü ve dizi boyutu da 512'ye ayarlandı ve 0. öğenin süresinin geçerli bir süresi vardı (0 değil) ve hiçbir hata oluşturulmadı.
Daha sonra, veriler zaten yüklendiğinden ve sonuçlar bunlar olduğundan, Komut Dosyasını ikinci kez çalıştırdım:
  • İlk ve tek yineleme sırasında, "ArrayCopyRates" 2048'lik bir sayı döndürdü, ancak dönüş sayısı geçerli olmasına rağmen bir 4066 hatası oluşturdu (Hata 4066 - İstenen geçmiş verileri güncelleme durumunda). Dizi boyutu da 2048 idi ve 0. öğenin zamanı geçerliydi (0 değil).
Test komut dosyasının yanı sıra ortaya çıkan günlük dosyalarını içeren bir ZIP dosyası ekledim.

Kendi sonuçlarınızı çıkarmanıza izin verin!

not! Benim sonucum, devam etmeden önce tüm testleri birleştirmek. (yani “ArrayCopyRates” dönüş kodunu test edin, hata kodlarını kontrol edin, MqlRates dizisinin dizi boyutunu test edin ve ( WHRoeder'in önerdiği gibi bir güvenlik önlemi olarak) ayrıca dizi öğelerinin tarihinin geçerliliğini test edin.

DÜZENLEME: Yalnızca "pair[0].time == 0" testini kullansaydım, ilk çalıştırmanın ilk yinelemeleri sırasında hiçbir veri mevcut olmadığında bir dizi dizin hatası verilir (ve yürütmenin durmasına neden olur). Bu nedenle, dönüş kodunun ve dizi boyutunun kontrol edilmesi gerektiğine dair ifademin arkasındayım, ancak diğer koşullar yerine getirildiğinde zaman testinin sonraki bir doğrulama düzeyi sunabileceğini kabul ediyorum.

Dosyalar:
testacr.zip  217 kb
 
Garip, bu konu açıldığından beri orijinal afiş tarafından tek bir yorum yapılmamış olması. Bunu bile takip ediyor mu?
 
FMIC :
  • İlk 73607 yineleme sırasında (yaklaşık 516 ms süren), "ArrayCopyRates" her zaman -1 sayısını döndürdü ve bir 4073 hatası oluşturdu (Hata 4073 - Geçmiş verisi yok). Bu yinelemeler sırasında dizi boyutu her zaman 0'dı.
  • Son olarak 73608. yinelemede, 512'lik bir sayı döndürdü ve dizi boyutu da 512'ye ayarlandı ve 0. öğenin süresinin geçerli bir süresi vardı (0 değil) ve hiçbir hata oluşturulmadı.
Bu, önceden oluşturulmuş 600 sürümünün tam tersi davranıştır.
Başlangıçta beklediğim şey buydu, ancak yanlış olduğu kanıtlandı.
Sonunda doğru anladılar ve bunu gelecek için not edeceğim.
 
FMIC :


DÜZENLEME: Yalnızca "pair[0].time == 0" testini kullansaydım, hiçbir veri mevcut olmadığında ilk çalıştırmanın ilk yinelemeleri sırasında bir dizi dizin hatası verilir (ve yürütmenin durmasına neden olur). Bu nedenle, dönüş kodunun ve dizi boyutunun kontrol edilmesi gerektiğine dair ifademin arkasındayım, ancak diğer koşullar yerine getirildiğinde zaman testinin sonraki bir doğrulama düzeyi sunabileceğini kabul ediyorum.


Bunların hepsi çok faydalı, araştırma ve sonuçlar için teşekkürler.

 
FMIC :
Garip, bu konu açıldığından beri orijinal afiş tarafından tek bir yorum yapılmamış olması. Bunu bile takip ediyor mu?

Neden bu gönderiyi takip etsin ki, sonraki gönderiler bu forumdaki çoğu insan için anlayış seviyesinin çok ötesine geçti.

Soruyu basit ve kesin bir şekilde cevaplamaya ne dersiniz?

Şimdi asıl soruyu cevaplamak için, orijinal posterin hala ortalıkta olma ihtimalinin düşük olması durumunda, Google sizin arkadaşınızdır.

 
4x_Gypsy :

Soruyu basit ve kesin bir şekilde cevaplamaya ne dersiniz?

Özünde şu soruyu cevapladık: " Her para birimi için 1 ila 10 farklı para birimi ve 5 çubuk ARASINDA seçmek istiyorum. "

Herhangi bir örnek kod veya daha fazla detay vermediği için basit ve kesin bir cevap vermek mümkün olmadı. Tek yapabileceğimiz genel cevaplar vermek ve karşılaşacağı sorunların farkında olmaktı. " ArrayCopyRates() " veya " iFunctions() " kullanması gerektiğini ve doğal olarak alacağı gecikme ve hataları takip etmesi gerektiğini söyledik. Ardından, Göstergelerdeki uyku işlevinin eksikliği ve 600 öncesi ve sonrası yapılar arasındaki farklı davranışlar gibi tuzakları ve sorunları tartışarak bilgileri tamamladık.

Bütün bunlar kafayı yemiş derseniz, tek yapması gereken, "Üzgünüm, anlamıyorum! Bunu benim için basitleştirir misiniz!" etkisinde bir şey göndermekti. Ancak hiçbir zaman böyle bir gönderi (veya bu konuda başka bir şey) olmadığı için tartışma, kendisinin ve diğerlerinin onu takip edebileceği inancıyla devam etti.

Şimdi, yazdığınız gibi, Google'ı kullanabilir ve orada birçok Çoklu Zaman Çerçevesi Göstergesi bulabilir, ancak yine de NASIL çalıştığını bilmiyorsa, göstergesinin istediği gibi çalışmasını sağlamakta çok ileri gidemez.

DÜZENLEME: PS! Dikkat! Tekrar düşündükten sonra, WHRoeder aslında soruna bir çözüm olarak iskelet kodu sağladı. Orijinal sorudaki ayrıntı eksikliği göz önüne alındığında, bundan daha basit ve kesin olamazsınız.

 
FMIC :

Özünde şu soruyu cevapladık: " Her para birimi için 1 ila 10 farklı para birimi ve 5 çubuk ARASINDA seçmek istiyorum. "

Herhangi bir örnek kod veya daha fazla detay vermediği için basit ve kesin bir cevap vermek mümkün olmadı. Tek yapabileceğimiz genel cevaplar vermek ve karşılaşacağı sorunların farkında olmaktı. " ArrayCopyRates() " veya " iFunctions() " kullanması gerektiğini ve doğal olarak alacağı gecikme ve hataları takip etmesi gerektiğini söyledik. Ardından, Göstergelerdeki uyku işlevinin eksikliği ve 600 öncesi ve sonrası yapılar arasındaki farklı davranışlar gibi tuzakları ve sorunları tartışarak bilgileri tamamladık.

Bütün bunlar kafayı yemiş derseniz, tek yapması gereken, "Üzgünüm, anlamıyorum! Bunu benim için basitleştirir misiniz!" etkisinde bir şey göndermekti. Ancak hiçbir zaman böyle bir gönderi (veya bu konuda başka bir şey) olmadığı için tartışma, kendisinin ve diğerlerinin onu takip edebileceği inancıyla devam etti.

Şimdi, yazdığınız gibi, Google'ı kullanabilir ve orada birçok Çoklu Zaman Çerçevesi Göstergesi bulabilir, ancak yine de NASIL çalıştığını bilmiyorsa, göstergesinin istediği gibi çalışmasını sağlamakta çok ileri gidemez.

DÜZENLEME: PS! Dikkat! Tekrar düşündükten sonra, WHRoeder aslında soruna bir çözüm olarak iskelet kodu sağladı. Orijinal sorudaki ayrıntı eksikliği göz önüne alındığında, bundan daha basit ve kesin olamazsınız.

Soru, "Birden çok para birimi göstergesinin nasıl geliştirileceğini bilen var mı?" idi.

Açık cevap, OP'nin gerçekte neye ihtiyacı olduğuna dair ayrıntıları sormadan veya beklemeden "Evet biz (FMIC ve WHRoeder) sadece bunu tartışmamızı izliyoruz" idi.

Bu göstergeyle yapmak istediği şey, "Her para birimi için 1 ila 10 farklı para birimi ve 5 çubuk ARASINDA seçmek istiyorum" idi.

Evet örnekler verildi. Ama onlar daha çok ikiniz arasında bir yarışma olarak sağlandı. İlginç tartışma? Evet. Bilmediğim bir şey öğrendim. Örnek, bir aceminin anlayabileceği şekilde mi sağlandı? Çok değil. İnsanlar bu foruma MetaTrader'dan yardım ve eğitim eksikliği nedeniyle geliyor. Burada yazanların çoğu, ne yapmak istediklerine dair asgari bir anlayışa sahiptir ve tartışma çok ileri gittiğinde anlayışlarını kaybederler. Bu mutlak bir utanç.

Büyük ipucu "Ama bunu nasıl yapacağımı bilmiyorum" idi.

OP'den herhangi bir yanıt gelmemesi, bir şeylerin yanlış olduğunun bir göstergesidir. Benim "tahminim", OP'nin anlayış eksikliğinden dolayı hüsrana uğradığı ve konuyu terk ettiği yönünde. Yıllar önce benim de aynı şeyi yaptığım bir zaman vardı. Bundan farklı sitelerden/forumlardan daha fazlasını öğrendim çünkü kimse ne kadar yeni olduğumu anlamak için zaman ayırmıyordu ve sürekli olarak örnekler yayınladı ve o zamanlar benim anlayışımın tamamen üzerinde tartışmalar vardı.

Ancak OP ortadan kaybolduğundan bunların hiçbiri artık önemli değil.

Yine bu bir utanç, bu kişinin bu ve diğer forumların çok ihtiyaç duyduğu bir sonraki guru olabileceğini veya olabileceğini kim bilebilir.

 
4x_Gypsy :

Büyük ipucu "Ama bunu nasıl yapacağımı bilmiyorum" idi.

OP'den herhangi bir yanıt gelmemesi, bir şeylerin yanlış olduğunun bir göstergesidir. Benim "tahminim", OP'nin anlayış eksikliğinden dolayı hüsrana uğradığı ve konuyu terk ettiği yönünde. Yıllar önce benim de aynı şeyi yaptığım bir zaman vardı. Bundan farklı sitelerden/forumlardan daha fazlasını öğrendim çünkü kimse ne kadar yeni olduğumu anlamak için zaman ayırmıyordu ve sürekli olarak örnekler yayınladı ve o zamanlar benim anlayışımın tamamen üzerinde tartışmalar vardı.

Kendi bakış açınıza göre haklı olabilirsiniz, diğer yandan, belgelere hızlı bir şekilde bakma riskine sahipseniz basitçe cevaplanan birçok soru gördüm ve bu tür soruları tekrar tekrar cevaplamak için gerçekten aptal olduğumu hissediyorum.

Ayrıca google ve burada bir arama seçeneği var. Bir şeyi nasıl yapacağımı bilmiyorsam, sorunu kendi başıma çözmeye çalışmak bir sonraki adımım olacaktır.

Şimdi bu konunun konusuna gelelim: "...çok para birimli bir sistem nasıl geliştirilir". Bu bana "bana ücretsiz kodlamayı öğret" gibi geliyor, bu da "bunu benim için kodlayabilir misin" e oldukça yakın. Bütün bunlar oldukça ciddi değil.

Ücretsiz olarak kullanılabilen çok fazla kod olduğu için buna cevabım şu olurdu: "Ücretsiz kod bulmak ve değiştirmek için google'ı veya buradaki aramayı kullanın!"

İnsanlar bundan rahatsız oluyorsa, bu onların sorunudur.

Neden: