Hatalar, hatalar, sorular - sayfa 600

 
papaklass :

Urain , sergeev cevaplar için teşekkürler.

Bir diziye indeks yazmayı biliyorum, belki daha hızlı bir şey olduğunu düşündüm.

Kabarcık sıralamayı ilk kez duyuyorum. Yapabiliyorsanız, basit bir örnekle daha ayrıntılı ve daha iyi. Her durumda, bağlantılarınızı okuyacağım.

Cevaplar için tekrar teşekkürler.

http://ru.wikipedia.org/wiki/Kabarcık sıralama

Genel olarak, biz google, bu arada, makalede, bir çalkalayıcı sıralama endeksleri uygulanmaktadır (ancak alışkanlıktan dolayı buna kabarcık sıralama diyorum).

Shl çalkalayıcı, kabarcıklı olandan, kabarcık geçişlerine tek yönde gitmeleri ve çalkalayıcıda dönüşümlü olarak gitmeleri bakımından farklıdır, bu da, kabarcıklar sadece yüzmekle kalmayıp aynı zamanda battığından, geçitleri azaltarak sıralamayı hızlandırır.

Сортировка пузырьком — Википедия
  • ru.wikipedia.org
Сортировка простыми обменами, сортиро́вка пузырько́м (англ.  ) — простой алгоритм сортировки. Для понимания и реализации этот алгоритм — простейший, но эффективен он лишь для небольших массивов. Сложность алгоритма: O(n²). Алгоритм считается учебным и практически не применяется вне учебной литературы, вместо него на практике применяются более...
 

Hangi göstergeden şikayet ettiğim sorusuyla üç kez tahmin edin? Doğru Cevap: iFractals . Beklenmedik, değil mi?

Özel Göstergeler https://www.mql5.com/ru/docs/customind ile ilgili yardım bölümünde şöyle yazıyor: " Örneğin mevcut değer Rate_total=1000 ve prev_calculated=999 ise o zaman belki bizim hesaplama yapmamız yeterlidir. her gösterge arabelleği yalnızca bir değer için. " Ancak tüm bunlar, OnCalculate() işlevini çağırmanın ilk - kısa biçimine atıfta bulunur. Gösterge değerlerinin hesaplanmasına yönelik hesaplamaya birkaç tampon dahil edilirse, bu form çalışmayacaktır.

OnCalculate() işlev çağrısının ikinci tam biçiminin kullanıldığı M1 üzerindeki yardımdan iFractals örnek kodunu çalıştıralım. Ancak bundan önce, bu işlevin içinde düzeltme

 Comment (comm);

üzerinde

 Print (comm);

görüntülenen sonuçlarla herhangi bir satırı gözden kaçırmamak için (olduğu gibi bırakılırsa, diğer değerler nadir olduğundan ve hemen bir tane ile değiştirildiğinden, 1 her zaman görsel olarak görünür olacaktır, bu yüzden birim görünüyor her zaman görüntülenir). Lansmandan sonra, kodun tutumlu bir algoritma kullanmasına rağmen, her dakika, yani her yeni çubukta, göstergenin her dakika tamamen yeniden çizildiği açık olan tek olmayan değerlerin göründüğünden emin oluyoruz. . Şüpheciler, örneğin her fraktal üzerine dikey çizgiler çizen birkaç kod satırı ekleyebilir, ardından ilk çizimden sonra, yeni bir çubuğun görünümü ile bir dakika içinde bekleyerek, aynı tam bir setin görünümü ile bunları silebilir. çizgiler. Nedense, yalnızca son fraktalın veya çizginin çizilmesi söz konusu değildir.

Geliştiricilere soru: Gösterge dikkatsizce mi yazılmış? yoksa fraktalın yalnızca son - yeni - hesaplanan değerini çizmek için hiçbir amaç yok muydu? Yoksa, hiç olmayan bir tutumlu algoritma ile value_to_copy hesaplamaları ile kod bloğunu neşeyle karıştırdım mı? veya OnCalculate() işlevini çağırmanın tam biçimiyle, anlamlı verilerin başlangıcını ayarlamak için const int start analogunu kullanmak prensipte imkansız mı?

Lütfen geçmişteki hiçbir "boşluğun" doldurulmadığını, geçmişten gelen çubukların yüklendiğini ve deney sırasında prev_hesaplanan sıfıra sıfırlayan diğer olayların meydana gelmediğini unutmayın! Yani, tüm göstergenin değerlerini yeniden hesaplamak için hiçbir neden yoktur.

Elbette, bu kötü şöhretli ekonomik algoritma uğruna kendim için katlanılabilir bir şey icat ederdim, ancak burada, görünüşe göre, geliştiricilerin bu konudaki resmi görüşü ve gerekirse düzeltmeler burada önemlidir.

Документация по MQL5: Пользовательские индикаторы
Документация по MQL5: Пользовательские индикаторы
  • www.mql5.com
Пользовательские индикаторы - Документация по MQL5
 

Geliştiricilere nazik bir rica (bu arada, bunu ilk soran ben değilim): lütfen Fraktallar göstergesinin eski sürümünü yenisiyle değiştirin. (Referans için: eski sürümde, en son fraktal sondan bir önceki çubukta görünebilir (bu da istenmeyen yeniden çizime neden olabilir), yeni sürümde ise en son fraktal en yeni çubuktan üç çubuktan daha yakın görünmeyebilir .) Elbette.) , isteğe bağlı olarak hem Bill Williams'tan hem de Özel Göstergelerden grafiğe eski sürümü veya daha yeni bir sürümü manuel olarak ekleyebiliriz, ancak kodunuzdaki iFractals tanıtıcısına başvurmaya çalıştığınızda eski sürüm kullanımda. Buna bir kez daha karşı çıkmak ve sözde kendi hatalarını tespit etmek için masaya suratını vurmamak için ne kadar zaman harcandı ...

Not: tamamen güncellenmedi, yalnızca Canlı Güncelleme aracılığıyla. Belki de sorun budur? Söylemek. Eğer öyleyse, tamamen güncelleyeceğim.

 
x100intraday :

Geliştiricilere nazik bir rica (bu arada, bunu ilk soran ben değilim): lütfen Fraktallar göstergesinin eski sürümünü yenisiyle değiştirin. (Referans için: eski sürümde, en son fraktal sondan bir önceki çubukta görünebilir (bu da istenmeyen yeniden çizime neden olabilir), yeni sürümde ise en son fraktal en yeni çubuktan üç çubuktan daha yakın görünmeyebilir .) Elbette.) , isteğe bağlı olarak hem Bill Williams'tan hem de Özel Göstergelerden grafiğe eski sürümü veya daha yeni bir sürümü manuel olarak ekleyebiliriz, ancak kodunuzdaki iFractals tanıtıcısına başvurmaya çalıştığınızda eski sürüm kullanımda. Buna bir kez daha karşı çıkmak ve sözde kendi hatalarını tespit etmek için masaya suratını vurmamak için ne kadar zaman harcandı ...

Not: tamamen güncellenmedi, yalnızca Canlı Güncelleme aracılığıyla. Belki de sorun budur? Söylemek. Eğer öyleyse, tamamen güncelleyeceğim.

Sizi iCustom(...) kullanmaktan alıkoyan nedir?
 
Temel olarak, hiçbir şey. Ancak mesele aynı göstergenin eski bir versiyonu değil, çöp tanım gereği dağıtım düzeyinde atılmalı ve bence bu, geliştiricilerin kendilerinin endişesi olmalıdır. Ve eskiyi bıraksanız bile, o zaman varsayılan değildir , varsayılan yeni, daha doğru bir taneye ayarlanmalıdır. Şahsen, alternatifin eski versiyonunu pek söyleyemezdim; Aslında, bu, gelecekte çok fazla sorun yaşayabileceğinize dayanan, açıkçası yanlış bir versiyondur.
 
x100intraday :

Geliştiricilere nazik bir rica (bu arada, bunu ilk soran ben değilim): lütfen Fraktallar göstergesinin eski sürümünü yenisiyle değiştirin. (Referans için: eski sürümde, en son fraktal sondan bir önceki çubukta görünebilir (bu da istenmeyen yeniden çizime neden olabilir), yeni sürümde ise en son fraktal en yeni çubuktan üç çubuktan daha yakın görünmeyebilir .)

1. Hangi yeni sürümden bahsediyoruz?

2. 2 değil 3 bara oy vermenizi engelleyen nedir?

 
Bir sorum var: Bu göstergeleri, yalnızca göstergenin kurulu olduğu için değil, farklı döviz çiftleri için elde etmek mümkün mü?
#property copyright "2010, Graff"
#property link       "http://www.mql5.com"
............
hwd_EURUSDf= iMA ( "EURUSD" , 0 ,Fast*k,shift,smootMode,price);
hwd_GBPUSDf= iMA ( "GBPUSD" , 0 ,Fast*k,shift,smootMode,price);
.......
if ( CopyBuffer (hwd_EURUSDf, 0 ,i, 1 ,buff)<= 0 ) return (- 1 );
if ( CopyBuffer (hwd_GBPUSDf, 0 ,i, 1 ,bufs)<= 0 ) return (- 1 );

vb. bir şey çalışmıyor. Yukarıda, kendi kendini kontrol etmek için yüklediğim CCFp.mq5'ten bir kod parçası var. Kendi hindiniz (aynı prensibe göre yazılmıştır, yani kulplar-> CopyBuffer )

çalışmayı reddetti(Print(buff[i]) biraz saçmalık gösteriyor.

Talep: Bir çözüm varsa - lütfen kodlayın! MT5 inşa 555/

 
alexx_v :

Burada, bir aradan sonra terminalin sunucuyla iletişimi nasıl geri yüklediğini duydum - bu doğru, yine bir aksaklık, efendim:


alexx_v :

Burada, bir aradan sonra terminalin sunucuyla iletişimi nasıl geri yüklediğini duydum - bu doğru, yine bir aksaklık, efendim:


Bu resim MT4'te mi yoksa MT5'te mi?
 
sergeev :

1. Hangi yeni sürümden bahsediyoruz?

2. 2 değil 3 bara oy vermenizi engelleyen nedir?

1. Standart göstergelerde görünüşte aynı olan iki Fraktal göstergesi vardır: Bill Williams'ın göstergelerinin olduğu bölümde ve Özel bölümde. Karşılaştırma yaparken, ilkinin sondan bir önceki çubukta bazı taze fraktalları yeniden çizme eğiliminde olduğu ortaya çıkıyor, ikincisinin bu dezavantajı yok, çünkü en taze olanı bir döngüde i<rates_total'a göre kendi algoritmasıyla uzlaştırılıyor. -3 , yani bir çubuk marjı ile, kendileri fraktallar sadece iki bitişik çubuğun kontrol edilmesiyle algoritmik olarak oluşturulur ve gerekirse, yalnızca yeni bir üçüncü çubuk göründüğünde onaylanır. Doğru fraktalların yerini biliyorum: C:\Program Files\MetaTrader 5\MQL5\Indicators\Examples\Fractals.mq5 , ancak iFractals bunu bilmiyor, ancak iFractals eski sürüme giden yolu biliyor, ki ben de bulamıyorum gün boyunca ateş. C:\Program Files\MetaTrader 5\MQL5\Include\Indicators\BillWilliams.mqh dizinindeki eski kodu mu alıyor?

Şüpheli (erken) fraktal ve fraktal, yalnızca yeni bir çubuğun ortaya çıkmasıyla onaylanabilir

2. Hiçbir şey, bu çözüm çok açık ve neredeyse onu kullanıyorum. Ama bu farklı. Projeye derinlemesine bakmaz ve yalnızca fraktalları hesaba katarsanız, evet - yeniden çizmede yanlış bir şey yoktur; atlama fraktallarına dayanarak, grafiksel TA yapıları yaparsanız ve ayrıca bunlara dayalı olarak otomatik ticaret yaparsanız, bazı durumlarda fraktal henüz yeniden çizilmediğinden yanlış pozitifler (pozisyonlar çok erken açılmış) olacaktır. ve yapılar henüz düzeltilmedi ve pazara giriş sinyali çoktan işe yaradı. Fraktal yeniden çizildiğinde ve grafik aracı yeniden çizildiğinde, erken açılan konum dışında her şey düzeltilecektir. Bir pozisyonu kapatarak, azaltarak veya zıt bir pozisyon açarak sakatlamak en hoş çözüm değildir, göstergeye ek filtreler, şüpheli bir sinyalle çelişen kontroller yüklemek ve bu nedenle işlem sıklığını azaltmak ve ayrıca ağırlığı azaltmak kalır. diğer ağırlaştırıcı balast ile.

Prensip olarak, kişi kendi kendine teslim olabilir ve en son yapıları, hala şüpheli olan ve yeniden çizilebilen son fraktal göre değil, eksi birinciye göre yapmayı kabul edebilir. Ancak benim için bu, bazen kendi kodunuzda biriken, ancak mümkünse olmaması gereken tipik bir koltuk değneği örneğidir ... ve ben genellikle piyasadan zamansız doğru bilgilerin alınması konusunda sessiz kalırım. inşaatların uygulanması.

 
goblin :
Bir sorum var: Bu göstergeleri, yalnızca göstergenin kurulu olduğu için değil, farklı döviz çiftleri için elde etmek mümkün mü?

vb. bir şey çalışmıyor. Yukarıda, kendi kendini kontrol etmek için yüklediğim CCFp.mq5'ten bir kod parçası var. Kendi hindiniz (aynı prensibe göre yazılmış, yani tutamaçlar->CopyBuffer)

çalışmayı reddetti(Print(buff[i]) biraz saçmalık gösteriyor.

Talep: Bir çözüm varsa - lütfen kodlayın! MT5 inşa 555/

Evet, sorunu kendim çözdüm gibi görünüyor.

Yöneticilere soru: terminal siteden indirildi, örnekte kullanıldığı yardımdan (xxx=iMA(.....)), ama! MA'nın kendisi göstergelerde değil - kapanımlarda. Bu bir zeka testi mi?

Zaman yazık!