Expert Advisor'ın yalnızca ilk kez düşürüldüğü çizelgede çalıştığından nasıl emin olunur? - sayfa 4
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
muhtemelen şöyle olacak:
başlıyoruz, grafikte bir global değişken ve bir nesne oluşturuyoruz (yanlışlıkla elle silmemek için dışında bir yerde) ve her ikisine de ortak bir anahtar "yazıyoruz" (örneğin GetTickCount tarafından elde edilir).
Diğer çizelgelerdeki yeniden çalıştırmalar, global bir değişkenin varlığını kontrol eder. eğer varsa, SİZİN haritanızda aynı tuşa sahip bir nesne ararlar. bulamadık - başka birinin çizelgesi - çalışmıyoruz ve yeniden başladığını belirten bir uyarıyla bağırıyoruz!
çizelge nesneleri ve globaller yeniden başlatma ve yeniden derleme işlemlerinde hayatta kalması gerektiğinden, kontrol her zaman doğru şekilde çalışacaktır. tutamaçlar global veya nesneyi nesneler listesinden kaldırmadıkça - ancak bu neredeyse paranoyadır :)))
muhtemelen şöyle olacak:
başlıyoruz, grafikte bir global değişken ve bir nesne oluşturuyoruz (yanlışlıkla elle silmemek için dışında bir yerde) ve her ikisine de ortak bir anahtar "yazıyoruz" (örneğin GetTickCount tarafından elde edilir).
Diğer çizelgelerdeki yeniden çalıştırmalar, global bir değişkenin varlığını kontrol eder. eğer varsa, SİZİN haritanızda aynı tuşa sahip bir nesne ararlar. bulamadık - başka birinin çizelgesi - çalışmıyoruz ve yeniden başladığını belirten bir uyarıyla bağırıyoruz!
çizelge nesneleri ve globaller yeniden başlatma ve yeniden derleme işlemlerinde hayatta kalması gerektiğinden, kontrol her zaman doğru şekilde çalışacaktır. tutamaçlar global veya nesneyi nesneler listesinden kaldırmadıkça - ancak bu neredeyse paranoyadır :)))
Danışmanın yalnızca "tek kopya" halinde çalıştığından emin olmak gerekir. Onlar. İlk kez herhangi bir çizelgeye ekliyorum ve çalışıyor. Daha sonra yanlışlıkla veya kasıtlı olarak başka bir grafiğe tekrar eklersem, ikinci ek zaten bir tane olduğunu anlamalı ve hiçbir şey yapmamalıdır.
Etiketi global bir değişkende bırakmak muhtemelen işe yaramaz. Ekli iki Uzman Danışmanım varsa ve metnini yeniden derlersem, bu global değişkenin oluşturulabileceği başlangıcını ilk kimin çözeceği bilinmiyor.
Kim tavsiye verebilir? Bunun nasıl yapılacağına dair bir fikriniz var mı?
Başlatma sırasında yazmak için bir dosya açarsanız, başlatmayı kaldırma sırasında bırakın. Mantıksal olarak, Expert Advisor'ın yeni bir örneği, daha önce yazmak için açılmış bir dosyayı yazmak için açamaz. Diyelim ki, beş yineleme ile sürekli olarak bir dosyayı yazmak için açarken bir hata alıyorsak, bu, Expert Advisor'ın bir örneğinin zaten açılmış olduğu anlamına gelir.
Expert Advisor'ın yeni bir örneği, daha önce yazmak için açılmış bir dosyayı yazmak için açamaz.
terminal çöküp yeniden başladıktan sonra, açılış dosyası ilk açılan dosyaya değil, ilk gelene açık olacak :((
Bir kez daha tekrarlıyorum: bir grup belirli çizelgeye ihtiyacınız var - belirli bir danışman.
senin fikrin çalışmıyor.
"çözümünüze" göre ne kodlayabilirim??? ;)
"olmalı", "irade" anlamına gelmez, "orada" "nerede"? "işe yaramadıysa"
Dinle, sadece kanıtlanmış çözümler sunulsaydı, hala bir kazı çubuğuyla kök arıyor olurdun. Bu kimin sorunu, benim mi yoksa senin mi? Bir fikir önerisini bir çözüm önerisi olarak nasıl bir kalıntıyla nitelendirdiniz?
Benim açımdan, sorunun formülasyonu şu şekildedir: Ben bir fikir veririm, siz onu test edersiniz, eğer işe yararsa, işe yaradığını bana haber verirsiniz, minimum minnet sırasına göre.
PS Lanet olsun, meraktan bir chr dosyasına bakar mısınız, yoksa MT ile çalışan bir profesyonel gibi bir şey mi?
Sonra aptalca bir dolap olarak dosyalayın ve sorun değil.
Candid :
Bu kimin sorunu, benim mi yoksa senin mi? Bir fikir önerisini bir çözüm önerisi olarak nasıl bir kalıntıyla nitelendirdiniz?
Çünkü bir "karar tavsiyesine" ihtiyacım var. İlk mesajımda tam olarak bunu istemiştim - bu yüzden fikrinizi bu şekilde aldım.
MT ile çalışırken bir profesyonel gibi davranıyorsunuz
bu yüzden TAMAMEN bile birçok "fikrin" yaşayabilirliğini onlarınki gibi görüyorum .....;)
hakkında yanılıyorsam - hiçbir şey yapmayan ancak ikinci kopyasının çalışmasına izin vermeyen bir uzman kodu yazın. terminalin yeniden derlenmesi ve yeniden başlatılması üzerinde gerçekten çalışıp çalışmadığını kontrol edin ve kodunu buraya gönderin - her şey yerine oturacaktır;)
Kilitlendiğinde, kalan dosya blokları ....
iki çizelge, birinde dosyayı tutan çalışan çalışan bir uzman var, ikincisinde dosya engelleme nedeniyle çalışmayan uzmanın bir kopyası.
terminal düştü veya kapandı.
(yeniden) terminali başlat . üzerinde, iki danışman dosyayı okumak için kontrol etmeye başlar. Geçen sefer kilitlenenin değil de, önce gerçek olanın onu yakalayacağının garantisi var mı? :(
Üçüncü kez tekrar ediyorum: CHART'ı bir UZMAN ile ilişkilendirmeniz ve bir Uzman Danışmanı diğeriyle engellememeniz gerekir.
Ve neden bu, kullanmamak için en basit seçenek?
"Büyük" programlamada muteks kullanılır - örneğin. burada:
http://bitonic.wordpress.com/2008/10/09/mutex-%D0%BC%D1%8C%D1%8E%D1%82%D0%B5%D0%BA%D1%81-%E2% %8093-%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82-%D0%BD%D0%B0-%D0%B7%D0%B0%D0%BF %D1%83%D1%81%D0%BA-%D0%B1%D0%BE%D0%BB%D0%B5%D0%B5-%D1%87%D0%B5%D0%BC/