OrderClose fonksiyonunun sonucu üzerinde kontrol yoktur. Emrin kapatılması başarısız olursa, aynı fonksiyonda kalamazsınız, çünkü kapatmanın neden başarısız olduğunu belirlemeniz gerekir. Bunu yapmak için, işlevden yanlış bir sonuçla çıkın ve bunun dışında ne yapacağınıza karar verin.
Tüm emirler için aynı kapanış fiyatını uygulayamazsınız. Birincisi, emirler farklı türlerde olabilir ve ikincisi, önceki emirlerin uygulanması sırasında (kapanmak için), fiyat büyük olasılıkla değişti. Hangi fiyatın kullanılacağını tahmin etmemek için MT4 özelliğini kullanabilirsiniz: Bir piyasa emri için kapanana kadar, OrderClosePrice() değeri, emrin türüne bağlı olarak Alış veya Satış fiyatıdır.
OrderClose fonksiyonunun sonucu üzerinde kontrol yoktur. Emrin kapatılması başarısız olursa, aynı fonksiyonda kalamazsınız, çünkü kapatmanın neden başarısız olduğunu belirlemeniz gerekir. Bunu yapmak için, işlevden yanlış bir sonuçla çıkın ve bunun dışında ne yapacağınıza karar verin.
Tüm emirler için aynı kapanış fiyatını uygulayamazsınız. Birincisi, emirler farklı türlerde olabilir ve ikincisi, önceki emirlerin uygulanması sırasında (kapanmak için), fiyat büyük olasılıkla değişti. Hangi fiyatın kullanılacağını tahmin etmemek için MT4 özelliğini kullanabilirsiniz: Bir piyasa emri için kapanana kadar, OrderClosePrice() değeri, emrin türüne bağlı olarak Alış veya Satış fiyatıdır.
teşekkür ederim, asıl sorun muhtemelen sadece aynı fiyatın uygulanmasıydı
OrderSelect üzerindeki yardımdan " SELECT_BY_POS parametresi kullanılarak sıralı olarakemir seçimi yapıldığında, bilgi işlem sunucusundan geldiği sıraya göre verilir. Alınan emir listesinin herhangi bir şekilde sıralanması garanti edilmez."
Bu ifadenin sertifikaya boşuna eklendiğini varsayarsak, her şey yolunda demektir. Boşuna olmadığını düşünüyorsanız, siparişler listesindeki döngü sırasında bu listeyi değiştirmemelisiniz. Emirlerden biri sunucuda silindikten sonra ve daha küçük OrdersTotal ile yeni, güncel bir liste geldikten sonra emirlerin nasıl sıralanacağı bilinmiyor. Silmeden, listenin aynı değişmemiş örneğinden geçmek ve silinecek tüm fırsat biletleri sayısını toplamak (bir dizide) daha güvenilirdir. Ardından bu listeyi unutun ve biletleri bilete göre seçerek fırsatları silin.
Tabii ki, sadece bu sırasız listenin sonundan birkaç siparişin silinmesi durumunda, ancak geliştiricilerin karşı çıkması durumunda, değiştirilmiş listedeki sıralamanın korunduğuna inanmak isterim ... Şimdi çalışıyor, ancak yeni derleme yayınlanacak - "sizi uyardık."
OrderSelect üzerindeki yardımdan " SELECT_BY_POS parametresi kullanılarak sıralı olarakemir seçimi yapıldığında, bilgi işlem sunucusundan geldiği sıraya göre verilir. Alınan emir listesinin herhangi bir şekilde sıralanması garanti edilmez."
Bu ifadenin sertifikaya boşuna eklendiğini düşünürsek, her şey yolunda demektir. Boşuna olmadığını düşünüyorsanız, siparişler listesindeki döngü sırasında bu listeyi değiştirmemelisiniz. Emirlerden biri sunucuda silindikten sonra ve daha küçük OrdersTotal ile yeni, güncel bir liste geldikten sonra emirlerin nasıl sıralanacağı bilinmiyor. Silmeden, listenin aynı değişmemiş örneğinden geçmek ve silinecek tüm fırsat biletleri sayısını toplamak (bir dizide) daha güvenilirdir. Ardından bu listeyi unutun ve biletleri bilete göre seçerek fırsatları silin.
Tabii ki, değiştirilmiş listedeki sıralamanın korunduğuna inanmak isterim, en azından bu sırasız listenin sonundan birkaç siparişin silinmesi durumunda, ancak geliştiriciler buna karşı ... Şimdi çalışıyor, ancak yeni bir derleme yayınlanacak - "sizi uyardık."
Burada acemiler adına soru soranların kendilerinin keşfettiğini sanmıyorum. Bu nedenle yazıyorum. Moderatörler için değil, soru sormak için. Bakın ipliğin adı ne.
PS Baktı, nereden böyle bir ilgi. https://www.mql5.com/en/forum/215783/page8 "Sipariş arama döngüsünün organizasyonu" şubesinden çıkıyor. Görünüşe göre, Ekim 2017'de bu üç yüz yıl henüz bitmedi, hala yenilikler var.
Burada acemiler adına soru soranların kendilerinin keşfettiğini sanmıyorum. Bu nedenle yazıyorum. Moderatörler için değil, soru sormak için. Bakın ipliğin adı ne.
PS Baktı, nereden böyle bir ilgi. https://www.mql5.com/en/forum/215783/page8 "Sipariş arama döngüsünün organizasyonu" şubesinden çıkıyor. Görünüşe göre, Ekim 2017'de bu üç yüz yıl henüz bitmedi, hala yenilikler var.
Yine tahmin edemediler :) mql4.com'da üç yüz yıl başladı - orada aktif olarak tartışıldığı bir zaman vardı. Ve sadece "Şimdi çalışıyor, ama yeni bir yapı çıkacak -" uyardık " bölümünde tanımladığınız anlar bile vardı. Sadece uyarılar olmadan ve böylece birkaç kez - duruma göre değişir, sıralamaya bağlı değildir ...
OrderSelect üzerindeki yardımdan " SELECT_BY_POS parametresi kullanılarak sıralı olarakemir seçimi yapıldığında, bilgi işlem sunucusundan geldiği sıraya göre verilir. Alınan emir listesinin herhangi bir şekilde sıralanması garanti edilmez."
Bu ifadenin sertifikaya boşuna eklendiğini düşünürsek, her şey yolunda demektir. Boşuna olmadığını düşünüyorsanız, siparişler listesindeki döngü sırasında bu listeyi değiştirmemelisiniz. Emirlerden biri sunucuda silindikten sonra ve daha küçük OrdersTotal ile yeni, güncel bir liste geldikten sonra emirlerin nasıl sıralanacağı bilinmiyor. Silmeden, listenin aynı değişmemiş kopyasından geçmek ve silinecek anlaşmaların tüm bilet sayılarını toplamak (bir dizide) daha güvenilirdir. Ardından bu listeyi unutun ve biletleri bilete göre seçerek fırsatları silin.
Tabii ki, değiştirilmiş listedeki sıralamanın korunduğuna inanmak isterim, en azından bu sırasız listenin sonundan birkaç siparişin silinmesi durumunda, ancak geliştiriciler buna karşı ... Şimdi çalışıyor, ancak yeni bir derleme yayınlanacak - "sizi uyardık."
İyi tarafta (birkaç Uzman Danışman + bir tüccarın bir hesapta paralel olarak çalışabileceği göz önüne alındığında), bir döngüde alım satım işlemleri yapmak genellikle imkansızdır. Gerekli siparişi aldık, işlemi gerçekleştirdik ve tüm OnTick()'i yeniden gerçekleştirdik (yeni bir tick'in gelmesiyle değil). Ve böylece gerekli tüm işlemler tamamlanana kadar.
Bu nedenle, siparişleri silmek için bir dizi oluşturmak, bir döngüdeki siparişleri silmekle eşdeğerdir.
Söyleyin bana, Expert Advisor'ın sembolle açtığı tüm siparişleri kapatma işlevi doğru uygulandı mı?
Mimarinin kendisi doğru. Kontrollerin yokluğundaki hatalar ve bazı işlevlerin kullanımı:
Mimarinin kendisi doğru. Kontrollerin yokluğundaki hatalar ve bazı işlevlerin kullanımı:
teşekkür ederim, asıl sorun muhtemelen sadece aynı fiyatın uygulanmasıydı
OrderSelect üzerindeki yardımdan " SELECT_BY_POS parametresi kullanılarak sıralı olarakemir seçimi yapıldığında, bilgi işlem sunucusundan geldiği sıraya göre verilir. Alınan emir listesinin herhangi bir şekilde sıralanması garanti edilmez."
Bu ifadenin sertifikaya boşuna eklendiğini varsayarsak, her şey yolunda demektir. Boşuna olmadığını düşünüyorsanız, siparişler listesindeki döngü sırasında bu listeyi değiştirmemelisiniz. Emirlerden biri sunucuda silindikten sonra ve daha küçük OrdersTotal ile yeni, güncel bir liste geldikten sonra emirlerin nasıl sıralanacağı bilinmiyor. Silmeden, listenin aynı değişmemiş örneğinden geçmek ve silinecek tüm fırsat biletleri sayısını toplamak (bir dizide) daha güvenilirdir. Ardından bu listeyi unutun ve biletleri bilete göre seçerek fırsatları silin.
Tabii ki, sadece bu sırasız listenin sonundan birkaç siparişin silinmesi durumunda, ancak geliştiricilerin karşı çıkması durumunda, değiştirilmiş listedeki sıralamanın korunduğuna inanmak isterim ... Şimdi çalışıyor, ancak yeni derleme yayınlanacak - "sizi uyardık."
OrderSelect üzerindeki yardımdan " SELECT_BY_POS parametresi kullanılarak sıralı olarakemir seçimi yapıldığında, bilgi işlem sunucusundan geldiği sıraya göre verilir. Alınan emir listesinin herhangi bir şekilde sıralanması garanti edilmez."
Bu ifadenin sertifikaya boşuna eklendiğini düşünürsek, her şey yolunda demektir. Boşuna olmadığını düşünüyorsanız, siparişler listesindeki döngü sırasında bu listeyi değiştirmemelisiniz. Emirlerden biri sunucuda silindikten sonra ve daha küçük OrdersTotal ile yeni, güncel bir liste geldikten sonra emirlerin nasıl sıralanacağı bilinmiyor. Silmeden, listenin aynı değişmemiş örneğinden geçmek ve silinecek tüm fırsat biletleri sayısını toplamak (bir dizide) daha güvenilirdir. Ardından bu listeyi unutun ve biletleri bilete göre seçerek fırsatları silin.
Tabii ki, değiştirilmiş listedeki sıralamanın korunduğuna inanmak isterim, en azından bu sırasız listenin sonundan birkaç siparişin silinmesi durumunda, ancak geliştiriciler buna karşı ... Şimdi çalışıyor, ancak yeni bir derleme yayınlanacak - "sizi uyardık."
Bu "Amerika" zaten üç yüz yıldır açık :)
Bu "Amerika" zaten üç yüz yıldır açık :)
Burada acemiler adına soru soranların kendilerinin keşfettiğini sanmıyorum. Bu nedenle yazıyorum. Moderatörler için değil, soru sormak için. Bakın ipliğin adı ne.
PS Baktı, nereden böyle bir ilgi. https://www.mql5.com/en/forum/215783/page8 "Sipariş arama döngüsünün organizasyonu" şubesinden çıkıyor. Görünüşe göre, Ekim 2017'de bu üç yüz yıl henüz bitmedi, hala yenilikler var.
Burada acemiler adına soru soranların kendilerinin keşfettiğini sanmıyorum. Bu nedenle yazıyorum. Moderatörler için değil, soru sormak için. Bakın ipliğin adı ne.
PS Baktı, nereden böyle bir ilgi. https://www.mql5.com/en/forum/215783/page8 "Sipariş arama döngüsünün organizasyonu" şubesinden çıkıyor. Görünüşe göre, Ekim 2017'de bu üç yüz yıl henüz bitmedi, hala yenilikler var.
Yine tahmin edemediler :) mql4.com'da üç yüz yıl başladı - orada aktif olarak tartışıldığı bir zaman vardı. Ve sadece "Şimdi çalışıyor, ama yeni bir yapı çıkacak -" uyardık " bölümünde tanımladığınız anlar bile vardı. Sadece uyarılar olmadan ve böylece birkaç kez - duruma göre değişir, sıralamaya bağlı değildir ...
Ve evet, bu tür cevaplar için özel bir konu var:
OrderSelect üzerindeki yardımdan " SELECT_BY_POS parametresi kullanılarak sıralı olarakemir seçimi yapıldığında, bilgi işlem sunucusundan geldiği sıraya göre verilir. Alınan emir listesinin herhangi bir şekilde sıralanması garanti edilmez."
Bu ifadenin sertifikaya boşuna eklendiğini düşünürsek, her şey yolunda demektir. Boşuna olmadığını düşünüyorsanız, siparişler listesindeki döngü sırasında bu listeyi değiştirmemelisiniz. Emirlerden biri sunucuda silindikten sonra ve daha küçük OrdersTotal ile yeni, güncel bir liste geldikten sonra emirlerin nasıl sıralanacağı bilinmiyor. Silmeden, listenin aynı değişmemiş kopyasından geçmek ve silinecek anlaşmaların tüm bilet sayılarını toplamak (bir dizide) daha güvenilirdir. Ardından bu listeyi unutun ve biletleri bilete göre seçerek fırsatları silin.
Tabii ki, değiştirilmiş listedeki sıralamanın korunduğuna inanmak isterim, en azından bu sırasız listenin sonundan birkaç siparişin silinmesi durumunda, ancak geliştiriciler buna karşı ... Şimdi çalışıyor, ancak yeni bir derleme yayınlanacak - "sizi uyardık."
İyi tarafta (birkaç Uzman Danışman + bir tüccarın bir hesapta paralel olarak çalışabileceği göz önüne alındığında), bir döngüde alım satım işlemleri yapmak genellikle imkansızdır. Gerekli siparişi aldık, işlemi gerçekleştirdik ve tüm OnTick()'i yeniden gerçekleştirdik (yeni bir tick'in gelmesiyle değil). Ve böylece gerekli tüm işlemler tamamlanana kadar.
Bu nedenle, siparişleri silmek için bir dizi oluşturmak, bir döngüdeki siparişleri silmekle eşdeğerdir.
"Dur" butonu var, tıkladıktan sonra yazısını nasıl "Başlat" olarak değiştirebilirim?
Uzman örneğime bakın
Uzman örneğime bakın
Teşekkürler, ihtiyacınız olan şey
Pozisyonların olmamasında bir hata olduğunu bilmenizde fayda var --- ToFile EURUSD,H1: 'ToFile.mq4' içinde sıfır bölme (62.39)
Test cihazında yazı değişmiyor, ne yani böyle bir ihtimal yok mu?