
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Evet. Bu durumda bir karma olmadan yapabileceğinizi düşünüyorum. Hash'ler hakkında tavsiye vererek acele ettim. :)
Bu seçenek Vasily'ye uyuyorsa, tüm parametreleri satıra sürmemiz yeterlidir. Dize, sınıf tanımlayıcısı olacaktır.
Ve bu da doğru. Gerçekten de, bu durumda, kripto korumasına hiç ihtiyaç duyulmaz. Bununla birlikte, bu varyanttaki kötü şey, tüm parametrelerin dizesini belirli, tercihen 32 bit benzersiz bir sayıya dönüştürmek için hala gerekli olacak, ancak bunun için, görünüşe göre, karma işlevlerin kullanılması gerekecek.
Cehennem, MQL'de inversiyon, shift vb. gibi bitsel operatörler yoktur. Evet, tüm bunları MQL'de yapmak zor olacak.
Evet. bu durumda, bir karma olmadan yapabilirsiniz.
Bu seçenek Vasily'ye uyuyorsa, tüm parametreleri satıra sürmemiz yeterlidir. Dize, sınıf tanımlayıcısı olacaktır.
Gibi... eşleşen karma -> sıralı küme -> öğeler...
Ana şey, sıralanmış bir listenin bir karma ile ilişkilendirilmesidir.
.
O zaman hala "uçacak" (ancak, düşük, düşük ...)
Görev: Bir sınıfın bir örneğini benzersiz kimliğiyle, tercihen uzun türüyle benzersiz bir şekilde tanımlamak gerekir. Sınıfta yer alan değişkenlerin değerlerinin benzersizliği dikkate alınarak benzersiz bir kimlik oluşturulmalıdır.
Mlyn! Pazartesi günü aynı görevi yapacağım.
Uzunluğu sınırlı olduğu için dizeyi kullanamayacağım - nesnelere buna dayalı adlar atamak gerekecek.
Düşündüm de... muhtemelen aynı anda iki karma algoritma kullanabilirsiniz - bu, benzersiz olmama olasılığını önemli ölçüde azaltacaktır... yoksa çok mu yanılıyorum?
Cehennem, MQL'de inversiyon, shift vb. gibi bitsel operatörler yoktur. Evet, tüm bunları MQL'de yapmak zor olacak.
neden? herşey! https://docs.mql4.com/ru/basis/operations/bit
Cehennem, MQL'de inversiyon, shift vb. gibi bitsel operatörler yoktur. Evet, tüm bunları MQL'de yapmak zor olacak.
y'nin ikili gösterimini sola x bit y <<= x;
y ve xy ikili gösterimlerinin bitsel işlemi VE &= x;
y ve xy ikili gösterimlerinin bitsel VEYA işlemi |= x;
Bit düzeyinde özel VEYA işlemi
y ve xy'nin ikili gösterimleri ^= x;
muhtemelen y != x; İşler
Not: adların benzersizliği vb. ile ilgili olarak. - görev, her zaman olduğu gibi, eski soruna iner: bellekten nasıl tasarruf edilir ve performansı kaybetmez
veya benzersiz adlara sahip bir dizi dizi kullanın, böylece veri miktarını artırın veya giriş verilerine dayalı bir algoritmaya dayalı benzersiz bir ad oluşturacak bir işlev kullanın, böylece performansı düşürür, ancak bellekten tasarruf sağlar
https://docs.mql4.com/en/basis/actions/assign y != x; İşler
orada değil.
ve burada https://docs.mql4.com/ru/basis/operations/bit
orada değil.
ve burada https://docs.mql4.com/ru/basis/operations/bit
burada değil! ;)
Not: Bu aynı bilgidir, hem atama işlemi hem de bitsel işlemler için sadece bir örnek aynıdır, çünkü linkimde "Bitsel işlemler sadece tamsayılar ile yapılır" yazıyor isterseniz daha doğru bir linke sahip olduğunuzu söyleyebilirim ;), Nuno'nun yardımı nerede ve nerede okuduğunu C-4 anlayacaktır diye düşünüyorum
Burada Adler32 karma işlevinin çalışan bir örneğini kırptım:
Fonksiyonun ana kodu Wikipedia'dan alınmıştır ve MQL5 için biraz değiştirilmiştir. İşte betiğin çıktısı:
2011.01.22 22:50:10 BitOperations (#MCD,MN1) 2333149633
2011.01.22 22:50:10 BitOperations (#MCD,MN1) 2169506126
2011.01.22 22:50:10 BitOperations (#MCD,MN1) 1202325230
Gördüğünüz gibi, işlev tarafından verilen tüm değerler tamamen farklıdır, ancak dizelerin kendileri çok fazla farklılık göstermez.
Burada Adler32 karma işlevinin çalışan bir örneğini kırptım:
Fonksiyonun ana kodu Wikipedia'dan alınmıştır ve MQL5 için biraz değiştirilmiştir. İşte betiğin çıktısı:
Gördüğünüz gibi, işlev tarafından verilen tüm değerler tamamen farklıdır, ancak dizelerin kendileri çok fazla farklılık göstermez.
İyi.
mümkünse (kaybetmemek için) MQL5 kod tabanına koyun.
İyi.
mümkünse (kaybetmemek için) MQL5 kod tabanına koyun.
Tamam.