Hatalar, hatalar, sorular - sayfa 2448

 
fxsaber :

Danışmanlarla çalışmak için bir yönetici yazdığınızı varsayalım. Artık farklı isimlere sahip iki özdeş Uzman Danışman aynı olarak tanınamaz.

Örneğin, Expert Advisor'ı başlatırken, onun ve klonunun daha önce başlatılıp başlatılmadığını belirlemeniz gerekir.

Pek çok çizelge ve danışman olduğunda olur. Ve yanlışlıkla bir şeyi yeniden başlatırsınız.

Danışmanlar kendilerine aitse, danışman türü için bir kimliğin varlığını + örneğin yapım tarihinden itibaren bir işlevin ve başlangıç aşamasında, tüm veya mevcut çizelgede başlatılan bir yayın anketinin varlığını önerir. Sorunsuz çalışır.

 

Pozisyon, işlemin açılmasından önce verilen bekleyen bir emir tarafından kısmen kapatılmışsa, işlem geçmişi çok uygun bir şekilde görüntülenmez.

2019.04.25 tarihinde 10.01.00'de 8 lotluk bir piyasa pozisyonu açılmış ve 10:04'te 1 lot ile kısmen kapatılmıştır - bu formda rapor bilgilendirici değildir.

Her halükarda, algı kolaylığı açısından raporun ek bir versiyonu olarak, ilk işlem tarihinden itibaren, bunun için emirlerin seçilmesi, oluşturulması ve değiştirilmesinden itibaren bilgi verilmesi daha mantıklıdır.

Buna dikkat ettim çünkü uzun bir süre neden kısmi bir kapanma olduğunu anlayamadım - hatta geçen gün piyasa kapanmadan gecikmeyi kaldırmayı başaramadım.

 

Geçmiş verilerde hata ayıklamada bir sorun oluştu. Şimdi, hata ayıklamaya her başladığınızda, danışmanın parametreleri varsayılanlara değiştirilir, manuel olarak değiştirilir.

kodda

 input int Magic = 1 ; // Magic number

Parametrelerde değişiklik yapıldı (lütfen yazım hatalarını dikkate almayın.)

geçmiş verilerde hata ayıklamaya başladıktan sonra değer varsayılana sıfırlanır.


 
Nikolai Semko :

Andrey, profillerden bir şey anlamadım.

Profiller, bütün bir danışman sürüsü için setler gibidir.

Tüm profil dosyalarını arayarak ve değiştirerek bazı parametreleri değiştirebilirsiniz (bunun için yardımcı programlar vardır).

Aynı anda birkaç Uzman Danışman çalıştırmanıza izin veren ilkel bir yönetici.

 

beyler yardım edin lütfen)

bir panel ve içinde bir düğme oluşturdu, ancak bir sorun var, düğme üstten eksenlerden biri boyunca kaydırılıyor, ancak paneli takip ediyor.

yani ya ankraj açılarından doğru ayırma işlemini yapmanız gerekiyor ya da butonu panele bağlamak için yeterli doğru komut yok...

 

Ama ne tür bir program öyle ki, onu kullanırken sadece paspaslar var mı?!

Eh, nereye bakarsanız bakın, stepne boyunca!

MT5'i indirmeye karar verdim ve kendi sembolümü oluşturmaya çalıştım (böyle bir fonksiyon ilan edildi)... Lanet olsun, futures'ların CSV'sini aldım ve yukarı çekmeye karar verdim... Nedense, bu el yapımı yaratım Sonunda kendisinin yemin ettiği KAPATMA'daki hacim: kapanış fiyatı yüksekten daha yüksek. Bu yazılıma bunun bir hacim sütunu olduğunu, düğme yoksa alan seçimi olmadığını nasıl açıklayabilirsiniz! CSV içe aktarma işlevinde temel bilgileri nasıl sağlayamazsınız?

 
xaser :

Ama ne tür bir program öyle ki, onu kullanırken sadece paspaslar var mı?!

Eh, nereye bakarsanız bakın, stepne boyunca!

MT5'i indirmeye ve kendi sembolümü yaratmaya karar verdim (böyle bir işlev duyurulur)... Lanet olsun, geleceklerin CSV'sini aldım ve yukarı çekmeye karar verdim... Nedense, bu el yapımı yaratım KAPAT, sonunda yemin eden hacmi koyar: kapanış fiyatı yüksekten daha yüksektir. Bu yazılıma bunun bir hacim sütunu olduğunu, düğme yoksa alan seçimi olmadığını nasıl açıklayabilirsiniz! CSV içe aktarma işlevinde temel bilgileri nasıl sağlayamazsınız?

Kodunuzda birkaç hata var

Neden aynayı suçla...


 

(MQL4) Bu durumda bir butona basarak tüm açık pozisyonları kapatmak için kodun ne olması gerektiğini söyler misiniz? (bu koddan iş açma emri).

bir şey çalışmıyor. veya belki Void veya başka bir komutla ayrı ayrı yapmanız gerekir?


         
         if (id== CHARTEVENT_OBJECT_CLICK ) {
       
         if (sparam== "buttonbuy" ) {
           OrderSend ( Symbol (), OP_BUY, lots, Ask, 3 , 0 , 0 , "Opened by Advisor" , 0 , 0 , clrBlue ); //add your buy order here
         } 
         if (sparam== "buttonsell" ) {
               OrderSend ( Symbol (), OP_SELL, lots, Bid, 3 , 0 , 0 , "Opened by Advisor" , 0 , 0 , clrYellow ); //add your sell order here
         }
         if (sparam== "buttoncloseall" ) {
            
                         
         }                                                                    
      }

  }
 

Lütfen terminaldeki her hesap için takma ad atamayı mümkün kılın, böylece hesap numaralarının kuru rakamları yerine terminal başlığında da görüntülenecek insan adları verebilirsiniz, örneğin:

"Favori Hesabım"

"Trump'ın Yatırımcı Hesabı"

"Atsky Martin"

"İşte şaka yapıyorum"

"Utanmadığınız bir sinyal"

"Utanılacak bir sinyal"


Ve sonra çok sayıda çalışan terminal ve hesapta kafanız karışmaz.

Hesap numaraları yerine takma adlar

 
fxsaber :

En temel şey, kendinize bir hash vermektir. Kendine giden yol verilmiştir. Hash - bir nedenden dolayı kenetlendi.

Bu arada, bu gerçekten yararlı bir şey. Ayrıca, dosyalara kaydedilen sonuçların sürüm kontrolüne de sık sık ihtiyacım var, yani. tüm dosyaların programın aynı sürümü tarafından oluşturulduğunu garanti eder. Şimdi bunun için ya derleme zamanı ya da manuel olarak ayarlanan (ve bu nedenle kimliği garanti etmeyen) bir sürüm numarası almalısınız. Örneğin, bazı inkludnik'te bir yerde bir şeyi değiştirdim - bu, fiili olarak yürütülebilir dosyanın yeni bir sürümünün olduğu anlamına gelir ve yeni sürüm numarasını yazmayı hatırlamanız gerekir, genel olarak, son derece güvenilmezdir.

Burada birisi tavsiyede bulundu, derler ki, hash'i kaynaktan hesapla. Bunun için program tarafından kullanılan tüm kaynakları (içerir) bilmeniz gerekir, bu da kodu çocukça değil ayrıştırmanız gerektiği anlamına gelir. Açıkça belirtilmeleri gerekmez (#include <file.mqh>), ancak makrolar olarak belirtilebilirler.