MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 531
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
Bir sonraki çubuğu karşılaştırın ve sıra bozulursa, bayrağı sıfırlayın ve kaçının doğru olduğunu yazın ve döngüde daha ileri gidin.
Çubuğun yükseliş olduğunu ve bir sonrakinin düşüş olduğunu, bir sonrakinin öncekiyle aynı olduğunu bulmak yeterlidir - değeri yazın ve bayrağı sıfırlayın. Peki, sonuna kadar
ama ilki nasıl olursa olsun boğa olmayabilir.
ama ilki nasıl olursa olsun boğa olmayabilir.
İşte bir seçenek, tamamen doğru olmasa da, geri sayım her zaman düşüş mumundan
İşte bir seçenek, tamamen doğru olmasa da, geri sayım her zaman düşüş mumundan
Teşekkür ederim. Ortaya çıkan sayının karesi alınır ve bir eklenirse sonuç doğrudur.
if(i%2==0) kontrol ettiğimiz şey bu mu?ama ilki nasıl olursa olsun boğa olmayabilir.
İşte aynı mumlar için yaklaşık bir arama ve zincirin yönündeki bir değişiklik:
Artık zincirin devam ettiği yerde zincirdeki mum sayısını sayarak listeye kaydedebilir, zincirin yenisine dönüştüğü yerde yeni bir sayıma başlayabilirsiniz.
Her zincirdeki mum sayısı sıralı bir listede saklanabilir. Ayrıca listeyi sıralayarakmaksimum ve minimum dizileri bulabilirsiniz .
Teşekkür ederim. Ortaya çıkan sayının karesi alınır ve bir eklenirse sonuç doğrudur.
if(i%2==0) kontrol ettiğimiz şey bu mu?Eğer i ikinin katıysa.
i'nin 2'ye bölümünden kalan bu
Derleme sırasında yerel değişkenlerin boyutu çok büyük (512kb'den fazla) çıkıyor.
Nereye bakmalı ve ne yapmalı? İşlevin bir dizi CArrayString dizisi var, bununla bir hatanın ilişkili olabileceğinden şüpheleniyorum.
Add() yöntemiyle dolduruyorum, sonra Clear() ve ardındanShutdown() yapıyorum. Ardından Add() yöntemini kullanarak tekrar yeni verilerle dolduruyorum. Bu durumda dizi tekrar sıfır elemanından mı doldurulacak?
Derleme aşamasında zaten hafızayı işgal eden sınıflardan bu tür üyeleri çıkarmak gerekir. Bu veriler, her zaman çok küçük olan yığın belleğine yerleştirilecektir. Sorunun çözümü, dinamik olarak çok fazla bellek kaplayan sınıf üyeleri için bellek ayırmaktır.
Örneğin, bir sınıf üyesi varsa:
o zaman şununla değiştirilmelidir:
Derleme aşamasında zaten hafızayı işgal eden sınıflardan bu tür üyeleri çıkarmak gerekir. Bu veriler, her zaman çok küçük olan yığın belleğine yerleştirilecektir. Sorunun çözümü, dinamik olarak çok fazla bellek kaplayan sınıf üyeleri için bellek ayırmaktır.
Örneğin, bir sınıf üyesi varsa:
o zaman şununla değiştirilmelidir:
Teşekkür ederim. Her bir işlevdeki parametrelerden sınıfı kaldırarak bu sorundan bir şekilde kurtuldum. Genel olarak, tüm yöntemler için bu nesneyi bir kez başlatmak mümkündü.
CArray sınıfı veya daha doğrusu CArrayObj hakkında başka bir sorum var. Bir Delete() yöntemi var, ancak dizideki öğeyi kaydırmıyor mu? Yani, Sil(18) i silerim, bu konumdaki eleman silinir ve sonra, örneğin, bu dizinde bir eleman talep ederseniz, geçersiz bir işaretçi alırsınız. Elemanları kaldıran ve değiştiren bir yöntem var mı, böylece bu durumda 19. eleman, kaldırma işleminden sonra 18.'de biter?
Teşekkür ederim. Her bir işlevdeki parametrelerden sınıfı kaldırarak bu sorundan bir şekilde kurtuldum. Genel olarak, bu nesneyi tüm yöntemler için bir kez başlatmak mümkündü.
CArray sınıfı veya daha doğrusu CArrayObj hakkında başka bir sorum var. İşte Delete() yöntemi, ancak dizideki öğeyi kaydırmıyor mu? Yani, Sil(18) i silerim, bu konumdaki eleman silinir ve sonra, örneğin, bu dizinde bir eleman talep ederseniz, geçersiz bir işaretçi alırsınız. Elemanları kaldıran ve değiştiren bir yöntem var mı, böylece bu durumda 19. eleman, kaldırma işleminden sonra 18.'de biter?
Standart kitaplıkla çalışmadı, ancak yardıma göre, Delete() yöntemi diziyi yeniden boyutlandırarak öğeyi fiziksel olarak kaldırmalıdır. İstisna: bellek yönetim mekanizması devre dışıysa. Bu mekanizma varsayılan olarak etkindir. Bellek yönetimi bayrağının durumunu kontrol etmek için FreeMode yöntemi kullanılır.
Benim açımdan, MQL'de kendi dizilerinizi kullanmanızı (C++'da vektörler ve listeler kullanmama rağmen) ve belleği kendim yönetmenizi tavsiye ederim, çünkü CArray sınıfında herhangi bir özel kolaylık veya avantaj görmüyorum. Kendi dizilerimde, bu yöntemi kullanarak bir dizi öğesini yeterince hızlı siliyorum:
Tek dezavantajı, dizi öğelerinin sırasını korumamasıdır. Yani sıralı (sıralı) dışındaki tüm dizilere uygulanabilir.
Merhaba, lütfen bana MT4'te bir kerede mevcut fiyattan belirli sayıda puan için bekleyen alım ve satım emirleri vermenizi sağlayan bir komut dosyasını nerede bulabileceğinizi / indirebileceğinizi söyleyin, yani. manuel olarak saymamak ve hatta sipariş penceresine bile girmemek için? Teşekkür ederim.
Not: Belki yanlış bir şey soruyorum, hiç script kullanmadım.
Lütfen bana şu noktayı açıklayın - " StopLoss veya TakeProfit değerleri FreezeLevel parametresi gereksinimlerini ihlal ederse kapanış piyasa emirleri gerçekleştirilmez."
Bu tam anlamıyla, TakeProfit veya StopLoss donma seviyesiyle eşleşmeyen bir piyasa emrinin kapatılamayacağı anlamına mı geliyor? Açık bir piyasa emrinin StopLevel veya FreezeLevel kurallarını ihlal eden stoplara nasıl sahip olabileceğini tam olarak anlamıyorum? Sonuçta, yanlış durakları ayarlarken, sunucu sadece bir hata verecek ve hiçbir durak ayarlanmayacaktır.
Ayrıca, komisyoncu FreezeLevel kullandığında bir piyasa emrini kapatırken bilmeniz gereken başka ne varsa lütfen söyleyin?