[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 306

 
drknn :

Bir göstergede "sonsuz" uzunlukta bir dizi bildirilebilir. Bildirin ve ardından döngüde bulunan değerleri hemen diziye girin. Tek soru, ihtiyacınız olan seçimi Expert Advisor / script'e nasıl aktaracağınızdır? Fonlar var, ancak zahmeti tahmin etmek gerekiyor. Belki 2 geçiş yapmak gerçekten daha kolay olacak - ilkinde filtrelenen değerlerin sayısını sayıyoruz, ardından dizi boyutunu değiştiriyoruz ve ikincisinde değerleri diziye giriyoruz?

Teşekkürler, ancak göstergeli seçenek uygun değil - alınan seçim Uzman Danışmana aktarılmadan önce, seçim koşullarının Uzman Danışmandan göstergeye aktarılmasında bir sorun var.
 
PapaYozh :

Gerekli maksimum boyuttan daha büyük bir dizi bildirin.


Aynen :) Boyutu birkaç kat artırırsanız işe yarayacaktır. Örneğin, filtrelenen değerlerin sayısının bini geçemeyeceğini önceden biliyoruz. Birkaç bin hücre boyutunda bir dizi ilan ediyoruz ve bitti :)

Sadece bu, gerekli operasyonun bir kısmını bizden alacaktır. :(

 
drknn :


Aynen :) Boyutu birkaç kat artırırsanız işe yarayacaktır. Örneğin, filtrelenen değerlerin sayısının bini geçemeyeceğini önceden biliyoruz. Birkaç bin hücre boyutunda bir dizi ilan ediyoruz ve bitti :)

Sadece bu, gerekli operasyonun bir kısmını bizden alacaktır. :(


"Filtrelenen değerlerin sayısının bini geçemeyeceğini önceden biliyorsak" , 1000 boyutlu bir dizi bildirmek yeterlidir.
 
splxgf :

https://docs.mql4.com/ru/math/MathPow değil mi? Veya temel işlemler, sorunun bir koşuludur. sonra http://bpascal.ru/download/desc/436.php seçeneği, eğer gerçekten her şeyi el freninde yaparsanız, ardından üssü ve logaritmayı kendi fonksiyonlarınızla uygulayın.

Evet, şarta göre. Bağlantı için teşekkürler, tam olarak ihtiyacım olan şey!
 
Elenn :
İyi günler, tavsiyeye ihtiyacım var: döngü belirli koşulları karşılayan değerleri arar. Bulunan değerler bir diziye yazılır. Kaç değerin bulunacağı önceden bilinmiyor. buna göre, bildirilecek dizinin boyutu bilinmiyor. Zamandan ve kaynaktan tasarruf açısından, iki çalıştırma yapmak istemiyorum (ilk çalıştırmada bulunan değerlerin sayısını saymak, ikinci çalıştırmada bir dizi bildirmek ve diziye veri yazmak için) . Tek seferde gerekli sonucu almanın bir yolu var mı?
Bulunan her değer için dizinin boyutunu bir hücre artırabilirsiniz. Yalnız çok hızlı değil. Boyutu birkaç hücre artırarak optimize edebilir, ardından birkaç yineleme için yeniden boyutlandırmayı atlayabilirsiniz.
 
PapaYozh :

"Filtrelenen değerlerin sayısının bini geçemeyeceğini önceden biliyorsak" , 1000 boyutlu bir dizi bildirmek yeterlidir.


Ancak mücbir sebep durumunda bir geri dönüş ne olacak? Bir hata bildiren ve danışmanın çalışmasını engelleyen bir kod yapın? Yani bir kişi göremeyebilir - tam o anda işteydi.

Evet, gerçekten de sorunun birden fazla çözümü var. Bence en iyisi Zhunko tarafından önerilen - filtre döngüsü içindeki dizinin boyutunu dinamik olarak artırmak. Açıkçası, bu cevaba sadece sevindim. Aklımın ucundan geçmedi :)

 
drknn :


Bence en iyisi Zhunko tarafından önerilen - filtre döngüsü içindeki dizinin boyutunu dinamik olarak artırmak. Açıkçası, bu cevaba sadece sevindim. Aklımın ucundan geçmedi :)

Çözüm gerçekten orijinal, denemek zorundasınız. Ancak bir diziyi yeniden bildirirken, yeniden başlatma nedeniyle veriler kaybolacak mı?
 
Elenn :
Çözüm gerçekten orijinal, denemek zorundasınız. Ancak bir diziyi yeniden bildirirken, yeniden başlatma nedeniyle veriler kaybolacak mı?

Bunu sık sık yaparım. Bazı başlangıç dizileri oluşturuyorum. Sonra (gerekirse) bir değer artırıyorum (biri imkansız, dizilerle işlemler çok uzun sürüyor) ve işte gerçekten doldurulmuş dizinin boyutunu kontrol ediyorum. Şimdiye kadar sorun yok
 
Vinin :

dizi işlemleri çok uzun sürüyor
Dizilerle veya yalnızca belirli olanlarla herhangi bir işlemi gerçekleştirmek uzun zaman alıyor mu?
 
Elenn :
Dizilerle veya yalnızca belirli olanlarla herhangi bir işlemi gerçekleştirmek uzun zaman alıyor mu?

Özellikle dizinin boyutunu değiştirerek . Bunları mümkün olduğunca az yapmak en iyisidir.