MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 861
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
Merhaba, söyle bana, pliz, neden çalışmıyor. Hata yoktur, ancak test cihazında siparişler açılmaz. Eğitim olarak günlük bir mumun yüksek, düşük kırılımı için bir danışman yazmaya çalışıyorum.
Merhaba, söyle bana, pliz, neden çalışmıyor. Hata yoktur, ancak test cihazında siparişler açılmaz. Eğitim olarak günlük bir mumun yüksek, düşük kırılımı için bir danışman yazmaya çalışıyorum.
Açılmıyor - anlamda ve denemiyor veya deniyor ama çalışmıyor mu? Dergide ne yazıyorlar?
Merhaba, söyle bana, pliz, neden çalışmıyor. Hata yoktur, ancak test cihazında siparişler açılmaz. Eğitim olarak günlük bir mumun yüksek, düşük kırılımı için bir danışman yazmaya çalışıyorum.
Bu ifadeyi analiz et
Bu ifadenin anlamını anlamak benim için zor, belki yanılıyorum ama en azından "( TimeCurrent ()==HourStart) " ifadesini "( TimeCurrent () - HourStart) " ile değiştirin.
Ayrıca eğer sizi doğru anladıysam BuyLimitOrder ve BuyPosition yoksa BuyLimit emri vermeye çalışıyorsunuz. "ve" ye dikkat edin. Yani, bunlardan herhangi birinin varlığı size ayrı ayrı uygundur, bu nedenle, mevcut fiyatın istediğiniz pozisyonu ile, en az biri çalışana ve ilk pozisyon olana kadar, her bir tıklamada bir tane olmak üzere sonsuz sayıda ByLimit alacaksınız. açıldı. Ayrıca - fiyatın şimdi nerede olduğu umurunuzda değil. Garip zaman koşulu yerine getirilir getirilmez (yazının hemen üstünde), bir hata olduğunu düşünüyorum ama neyse. Dolayısıyla, bunu hesaba katmazsanız, sipariş vermek için fiyat olarak Dünün en yüksek değerini kullandığınızdan, danışman ilk tıklamadan fiyat dünün en yüksek seviyesinin üzerine çıkana kadar hatalı siparişler vermeye başlayacaktır. BuyLimit, mevcut fiyatın altına ayarlanır, bu, mevcut fiyatın dünün en yüksek değerinden daha yüksek olması gerektiği ve o zamana kadar yürütmeyi reddetme olacağı anlamına gelir.
Bu nedenle, fiyat dünün zirvesinin üzerine çıktığında, Satın Alma Limiti olmadığında ve açık alım olmadığında sadece durum sizin için uygundur. Oldukça nadir bir kombinasyon. Ayrıca, kırılmaz, ancak kırılmadan sonra geri döner (çünkü ByLIMIT) ve ayrıca, ilk tikten başlayarak, dünün en yüksek fiyatının üzerine uzun bir süre boyunca size hatalar atar (bu başka bir hatadır) . Koşul zaten karşılandı, danışman bir emir gönderir, ancak hala bir yayılma, piyasadan izin verilen minimum mesafe vb.
Bu ifadenin anlamını anlamak benim için zor, belki yanılıyorum ama en azından "( TimeCurrent ()==HourStart) " ifadesini "( TimeCurrent () - HourStart) " ile değiştirin.
Doğru, burada bir hata var. Gerekiyor if (TimeHour( TimeCurrent() )==HourStart)
Şimdi bazen işlemleri açar, ancak daha fazla hata verir (OrderSend hatası 130).
Limit emirlerine gelince, bu doğru değil.
Doğru, burada bir hata var. Gerekiyor if (TimeHour(TimeCurrent())==HourStart)
Şimdi bazen işlemleri açar, ancak daha fazla hata verir (OrderSend hatası 130).
Limit emirlerine gelince, bu doğru değil.
İşte zamanla çalışmanız için bir komut dosyası.
Eski ama düzgün çalışıyor.
Merhaba.
Senden dosyalarla nasıl çalışacağımı anlamama yardım etmeni istiyorum.
Program çalışırken, alınan verileri bir dosyaya kaydedip CSV'yi okuyorum.
Dosya büyüyor. hız düşer. Satırlardaki bazı öğeleri güncellemeye (yeniden yazmaya) çalıştı. İşe yaramadı!
Seçilen satırı silmek imkansız! Eski dizeye yeni öğe eklenemiyor!
Çok ilginç! Bir dosyayı, grafik nesnesini vb. kolayca silebilirsiniz . Ve oluşturulan dosyayla çalışmaya gelince, tam bir çıkmaz sokak!
Forumlarda sadece bir öneri var: "Dosyayı hafızaya oku, satırı değiştir ya da sil ve yeni dosyayı eski isimle kaydet."
Bunun doğru bir karar olduğunu düşünmüyorum. Muhtemelen bir şeyi kaçırdım. Lütfen çözmeme yardım et.
Bunun doğru bir karar olduğunu düşünmüyorum. Muhtemelen bir şeyi kaçırdım. Lütfen çözmeme yardım et.
Dosyalarla çalışma konusundaki bu "yanlış kararı" nihayet düzeltmeleri için Microsoft tarafından acilen işe alınmanız gerekiyor.
Dosyalarla çalışmak, bir dosya düzenleyicide bir dosyayı düzenlemekle aynı şey değildir, daha çok tek tek harflerle küplerden bir kelime oluşturmaya benzer.
Yeni bir harf eklemeniz gerekiyorsa, onu takip eden tüm küpler sağa kaydırılmalıdır.
Eski harfi kaldırmak istiyorsanız, onu takip eden tüm küpler sola taşınmalıdır.
Bu nedenle, dosya büyük değilse ve çalışmanın bir parçası olarak dosyaya paylaşılan erişim gerekli değilse, o zaman gerçekten de yeni bir dosyaya veri yazmak, eskisini silmek, yeni dosyayı isimle yeniden adlandırmak daha kolaydır. eskisinden.
Yanılmıyorsam, dosyalarla çalışırken MQL'de eksik olan tek şey dosya uzunluğunu gerekli boyuta kesebilme yeteneğidir.
İşte zamanla çalışmanız için bir komut dosyası.
Eski ama düzgün çalışıyor.
Daha önce Kimovskaya fonksiyonunu da kullandım, sonra kendime şöyle yazmaya vakit buldum:
çalışma süresini devre dışı bırak - yapıcıyı başlatırken yanlış veri girmeniz gerekir, örneğin 25 saat veya 70 dakikaDosyalarla çalışma konusundaki bu "yanlış kararı" nihayet düzeltmeleri için Microsoft tarafından acilen işe alınmanız gerekiyor.
Dosyalarla çalışmak, bir dosya düzenleyicide bir dosyayı düzenlemekle aynı şey değildir, daha çok tek tek harflerle küplerden bir kelime oluşturmaya benzer.
Yeni bir harf eklemeniz gerekiyorsa, onu takip eden tüm küpler sağa kaydırılmalıdır.
Eski harfi kaldırmak istiyorsanız, onu takip eden tüm küpler sola taşınmalıdır.
Bu nedenle, dosya büyük değilse ve çalışmanın bir parçası olarak dosyaya paylaşılan erişim gerekli değilse, o zaman gerçekten de yeni bir dosyaya veri yazmak, eskisini silmek, yeni dosyayı isimle yeniden adlandırmak daha kolaydır. eskisinden.
Yanılmıyorsam, dosyalarla çalışırken MQL'de eksik olan tek şey dosya uzunluğunu gerekli boyuta kesebilme yeteneğidir.