Segment aralıklarını birleştirmek için algoritma - oluşturmaya yardımcı olun - sayfa 3

 
Dmitry Fedoseev :

1. Bu katsayı nerede?

2. Peki ya 1. madde?

3. Hayır, her şey daha basit. Tamam, yarın hızlandırmaya çalışacağım.

1. Her segment için katsayı (özet göstergesi) özelliklerine göre olacaktır - o zaman formülü deneysel olarak belirleyeceğim, ancak şartlı olarak var olduğunu varsayabiliriz.

2. Yani ayrı bir segmentte, sadece bir gösterge (hesaplandığı üç göstergeden) oradaki herkese dağıtılabilir ve diğer ikisi dağıtılamaz.

3. Teşekkürler, bekliyor olacağım.

 

Burada. Ancak 1000 segment varsa, bu yardımcı olmuyor. Çok fazla seçenek elde edildi, yeterli hafıza bile olmayabilir.

Diğer yoldan gidebilirsiniz - her segmentin sonunda, bir sonraki segmenti gösteren indeksleri olan bir dizi ekleyin. Böylece hafızayı doldurmadan tüm seçenekler arasında geçiş sağlamak mümkün olacaktır. Ama yine de, birçok seçenek olacak ... numaralandırma uzun zaman alacak. Gerekirse (spor ilgisi için) bir varyanta numarasına göre nasıl erişim sağlanacağını da düşünebilirsiniz.

Ama bu kadar çok seçenek varken mantıklı geliyor mu? Belki de, görevi daha gerçek olduğunu somutlaştırmak için?

Dosyalar:
3.mq5  14 kb
 
Dmitry Fedoseev :

Burada. Ancak 1000 segment varsa, bu yardımcı olmaz. Çok fazla seçenek elde edildi, yeterli hafıza bile olmayabilir.

Diğer yoldan gidebilirsiniz - her segmentin sonunda, bir sonraki segmenti gösteren indeksleri olan bir dizi ekleyin. Böylece hafızayı doldurmadan tüm seçenekler arasında geçiş sağlamak mümkün olacaktır. Ama yine de, birçok seçenek olacak ... numaralandırma uzun zaman alacak. Gerekirse (spor ilgisi için) bir varyanta numarasına göre nasıl erişim sağlanacağını da düşünebilirsiniz.

Ama bu kadar çok seçenek varken mantıklı geliyor mu? Belki de, görevi daha gerçek olduğunu somutlaştırmak için?

Birçok hedef olabilir. En küçük boşluklar, en uzun segmentlerden, en kısadan, en özdeşten) hedef grafiklerinde bile, daha az zaman ve minimum yol lojistik açısından farklı şekillerde çözülür)
 
Valeriy Yastremskiy :
Birçok hedef olabilir. En küçük boşluklar, en uzun segmentlerden, en kısadan, en özdeşten) hedef grafiklerinde bile, daha az zaman ve minimum yol lojistik açısından farklı şekillerde çözülür)

Bu ne için?

Komşu segmente işaretçileri olan diziler, tüm hazır kombinasyonları içeren bir diziye kıyasla yetersiz miktarda bellektir.

 
Dmitry Fedoseev :

Burada. Ancak 1000 segment varsa, bu yardımcı olmuyor. Çok fazla seçenek elde edildi, yeterli hafıza bile olmayabilir.

Teşekkür ederim!

Ancak güncellemenin özünü tam olarak anlamadım - kodda düzeltmeler yapıldı mı? Geçen sefer 613 kombinasyon vardı ve bu sefer 1507.

İşin hızı azaldı, ancak bu görünüşe göre kombinasyon sayısından.

Önceki versiyon:

 2021.04 . 23 19 : 56 : 08.350 Scripts script Q_Podbor_02 (Si- 6.21 ,M1) loaded successfully
2021.04 . 23 19 : 56 : 08.742 Scripts script Q_Podbor_02 (Si- 6.21 ,M1) removed

Mevcut seçenek:

 2021.04 . 23 19 : 51 : 56.608 Scripts script Q_Podbor_03 (Si- 6.21 ,M1) loaded successfully
2021.04 . 23 19 : 51 : 58.387 Scripts script Q_Podbor_03 (Si- 6.21 ,M1) removed
Dmitry Fedoseev :

Diğer yoldan gidebilirsiniz - her segmentin sonunda, bir sonraki segmenti gösteren indeksleri olan bir dizi ekleyin. Böylece hafızayı doldurmadan tüm seçenekler arasında geçiş sağlamak mümkün olacaktır. Ama yine de, birçok seçenek olacak ... numaralandırma uzun zaman alacak. Gerekirse (spor ilgisi için) bir varyanta numarasına göre nasıl erişim sağlanacağını da düşünebilirsiniz.

Eğer doğru anladıysam, kombinasyonun sırayla hesaplanması ve hemen değerlendirilmesi, değerlendirmenin sonucunun kaydedilmesi ve bir sonraki kombinasyona geçilmesi önerilir. Yeni sonuç (veya top10) öncekinden daha iyiyse, onu dizi/değişkende onunla değiştiririz. Ve evet, sadece kombinasyonun oluşturduğu dizinin ilk seviyesinin dizin zincirinin nasıl alınacağını sormak istedim?

Dmitry Fedoseev :

Ama bu kadar çok seçenek varken mantıklı geliyor mu? Belki de, görevi daha gerçek olduğunu somutlaştırmak için?

Geçerli noktadan sınırlı sayıda segment üzerinde yineleme seçeneği (n segment zaten seçildiğinde kombinasyon adımı) kombinasyon sayısını önemli ölçüde azaltacağından neden uygun değildir?

 
Aleksey Vyazmikin :

Teşekkür ederim!

Ancak güncellemenin özünü tam olarak anlamadım - kodda düzeltmeler yapıldı mı? Geçen sefer 613 kombinasyon vardı ve bu sefer 1507.

İşin hızı azaldı, ancak bu görünüşe göre kombinasyon sayısından.

Önceki versiyon:

Mevcut seçenek:

Eğer doğru anladıysam, kombinasyonun sırayla hesaplanması ve hemen değerlendirilmesi, değerlendirmenin sonucunun kaydedilmesi ve bir sonraki kombinasyona geçilmesi önerilir. Yeni sonuç (veya top10) öncekinden daha iyiyse, onu dizi/değişkende onunla değiştiririz. Ve evet, sadece kombinasyonun oluşturduğu dizinin ilk seviyesinin dizin zincirinin nasıl alınacağını sormak istedim?

Geçerli noktadan sınırlı sayıda segment üzerinde yineleme seçeneği (n segment zaten seçildiğinde kombinasyon adımı) kombinasyon sayısını önemli ölçüde azaltacağından neden uygun değildir?

Belki sorunun orijinal versiyonunu düşünün?

 
Алексей Тарабанов :

Belki sorunun orijinal versiyonunu düşünün?

Kesik yok.

 
Алексей Тарабанов :

Belki sorunun orijinal versiyonunu düşünün?

Alexey Tarabanov :

Kesik yok.

Böyle bir seçenek var mıydı?

İlk seçenek, bir dizi biçimindeki dijital seriyi ideal olarak segmentlere (aralıklara) bölmektir. Kırılma kriterleri:

1. Sayıların en az %5'i - %R aralığına girer;

2. Segmentin aynı boyuttaki başka bir ikili diziye yanıtını tahmin edin ( - 0 değil - 1 aralığına giren bir sayı var), segmentin yanıtı tüm ikili sistemin ortalama değerinden farklı olmalıdır. en az %5 dizi - %dP;

3. Dizinin derinliği boyunca, 1.5 - K_SKO'dan fazla olmaması gereken 10 özdeş segment üzerinde SCO dP%'sini hesaplayın.

Artık farklı yöntemler aralıkları belirler, ancak farklı yöntemler yukarıdaki kriterleri karşılayan farklı aralıkları seçebilir. Bu nedenle amaç, farklı yöntemlerden segmentlere ayırmanın tüm varyantlarını almak ve en iyilerini birleştirmektir.

 
Aleksey Vyazmikin :

Teşekkür ederim!

Ancak güncellemenin özünü tam olarak anlamadım - kodda düzeltmeler yapıldı mı? Geçen sefer 613 kombinasyon vardı ve bu sefer 1507.

İşin hızı azaldı, ancak bu görünüşe göre kombinasyonların sayısından kaynaklanıyor.

Önceki versiyon:

Mevcut seçenek:

Eğer doğru anladıysam, kombinasyonun sırayla hesaplanması ve hemen değerlendirilmesi, değerlendirmenin sonucunun kaydedilmesi ve bir sonraki kombinasyona geçilmesi önerilir. Yeni sonuç (veya top10) öncekinden daha iyiyse, onu dizi/değişkende onunla değiştiririz. Ve evet, sadece kombinasyonun oluşturduğu dizinin ilk seviyesinin dizin zincirinin nasıl alınacağını sormak istedim?

Geçerli noktadan sınırlı sayıda segment üzerinde yineleme seçeneği (n segment zaten seçildiğinde kombinasyon adımı) kombinasyon sayısını önemli ölçüde azaltacağından neden uygun değildir?

Ve nerede ve ne kombinasyon aradığınızı bilmiyorum? Genel olarak, her lansmanda yeni bir dizi başlangıç segmenti oluşturulur ve bu her zaman farklıdır.

Endeks zinciri, segmentlerden değil segment indekslerinden kombinasyonlar oluşturmanız veya ikinci boyuta üçüncü bir öğe eklemeniz ve dizini içinde saklamanız gerektiği anlamına gelir.

Bazı sınırlı sayıdaki bir tür numaralandırmanın neden uygun olmadığını bilmiyorum, tüm kombinasyonlar hakkında yazdınız.

 
Dmitry Fedoseev :

Ve nerede ve ne kombinasyon aradığınızı bilmiyorum?

Yukarıda Alexey Tarabanov'a cevap verirken nerede ve ne olduğunu ayrıntılı olarak yazdım. Ancak bu bir teori - henüz ihtiyacınız olanı tamamlamadı.

Dmitry Fedoseev :

Genel olarak, her lansmanda yeni bir dizi başlangıç segmenti oluşturulur ve bu her zaman farklıdır.

O zaman açık - Ben çözemedim ve sadece iki komut dosyası çalıştırdım - eğer set farklıysa, o zaman sadece aynı setlerle değerlendirmek mümkün olacak.

Dmitry Fedoseev :

Endeks zinciri, segmentlerden değil segment indekslerinden kombinasyonlar oluşturmanız veya ikinci boyuta üçüncü bir öğe eklemeniz ve dizini içinde saklamanız gerektiği anlamına gelir.

Üçüncü unsurun daha uygun bir seçenek olduğunu düşünüyorum. Bu uygulamada düzgün çalışması için kodu ince ayar yapabilir misiniz?

Dmitry Fedoseev :

Bazı sınırlı sayıdaki bir tür numaralandırmanın neden uygun olmadığını bilmiyorum, tüm kombinasyonlar hakkında yazdınız.

Bu doğru, başlangıçta tüm kombinasyonlar hakkında yazdım, ancak bu süreçte, sizin sayenizde, bunun çok pahalı olduğu ve ampirik olarak tam bir numaralandırmadan daha kötü olamayacak bir seçeneğe ihtiyacımız olduğu ortaya çıkıyor ve sonucun tahmininden bu yana Segmenti onun parçalarından oluşuyorsa, en iyi parçalardan oluşan n tane kombinasyonla kendinizi sınırlayarak, yeni bir parça eklerken, sınırsız olası tüm kombinasyonlardan en iyi seçeneğe yaklaşmanın mümkün olacağını varsayıyorum.