Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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 printf işlevi olduğunu görüyorum
ve başka bir sprintf almak ne kadar güzel olurdu
Belki StringFormat() işlevi onun yerini alacaktır:
Dize Biçimi
Verilen parametreleri biçimlendirir ve bir dize döndürür.
string StringFormat (
sicim format , // format açıklama dizesi
... ... // seçenekler
);
Seçenekler
biçim
[içinde] Biçimlendirme yöntemini içeren bir dize. Biçimlendirme kuralları, PrintFormat işleviyle aynıdır.
...
[içinde] Virgülle ayrılmış parametreler.
Geri dönüş değeri
Astar.
Belki StringFormat() işlevi onun yerini alacaktır:
StringFormat işlevine PrintFormat ve printf ile benzer şekilde eşanlamlı bir sprintf atanması gerektiğini anlıyorum. Ancak daha sonra snprintf işlevini uygulamak gerekli olacaktır.
MQL5 yardımı şunları belirtir:
Ah-huh... Sadece bu olay, nesnelerle (henüz?) çalışmanın yasak olduğu göstergeler içindir.
Bizden böyle bir göstergeyi uzman olarak uygulamamız istendi. Ancak Expert Advisor'ların değiştirilen çubukları hesaplama işlevine erişimi yoktur ( OnCalculate )
Hı-hı... Sadece bu olay, nesnelerle (henüz?) çalışmanın yasak olduğu göstergeler içindir.
Bizden böyle bir göstergeyi uzman olarak uygulamamız istendi. Ancak Expert Advisor'ların değiştirilen çubukları hesaplama işlevine erişimi yoktur ( OnCalculate )
Önceki OnCalculate çağrısı tarafından döndürülen prev_calculated işlenmiş çubukların sayısı OnCalculate öğesine iletilir. Expert Advisor'da, bazı global veya statik yerel değişkenleri kullanarak işlenmiş çubukları kendiniz sayabilirsiniz.
Önceki OnCalculate çağrısı tarafından döndürülen prev_calculated işlenmiş çubukların sayısı OnCalculate öğesine iletilir. Expert Advisor'da, bazı global veya statik yerel değişkenleri kullanarak işlenmiş çubukları kendiniz sayabilirsiniz.
Kullanıcının grafiğin zaman çerçevesini değiştirdiğini ve tüm çubukların yeniden hesaplanması gerektiğini Expert Advisor'da öğrenebilir miyim?
Göstergelerde böyle bir sorun yok.
Kullanıcının grafiğin zaman çerçevesini değiştirdiğini ve tüm çubukların yeniden hesaplanması gerektiğini Expert Advisor'da öğrenebilir miyim?
Evet yapabilirsin. Önce eski parametrelerle OnDeinit işlevi, ardından yeni parametrelerle OnInit çağrılacaktır.
mql5'te sözdizimi vurgulama ve en önemlisi kapatırken parantezler (birkaç parantez kapalı), işlevlerin ve metnin değiştirilmesi, yazma komutlarının sözdiziminin ve karşılaştırma işaretlerinin düzeltilmesini istiyorum >=,<=,=<,=> , Expert Advisor'da ek pencereler bağlayabilme - örneğin ObjWindowCreate(string Name, bool TypeWindow=false) [false - Gösterge penceresi olarak, true - Para birimi çiftleri için ayrı bir pencere olarak]
Ayrıca editör arayüzünü NotePade ++'dan almanızı tavsiye ederim.
İşlev kodunu işaretleyerek ve işlev başlığına karşı sol panel eksi üzerine tıklayarak işlevlerin metnini gizleyebilmek veya ortaya çıkarmak istiyorum
LineType olarak bir değişken türü ekleyin - böylece, danışmanın özelliklerinde kendi ayarlarında görüntülenen çizginin türünü ayrı olarak seçebilirsiniz
EA çalışırken ayarları başlatmak için ayrı Olaylar yapın - örnek int OnChangeProperty() { return(0)}
AccountMaxLot() - müşterinin mümkün olan maksimum teklifi gibi işlevler ekleyin
Ayrıca, seçilen parti için gerekli miktarı gösteren sipariş oluşturma penceresine bir etiket eklemek de fena olmaz.
Yayılma ve takas ile veya takas olmadan belirli bir siparişin mevcut kârını görüntülemek için bir işlev oluşturun - örnek int CalculateProfitOrder(int OrderNumberHistoryList, bool spred=false, bool swop=false)
nerede numara - aktif siparişler listesindeki sipariş numarası
Unicode'da dize değişkenlerinin karakterleri ve ekleme işlevi için destek yapın - string CharUTF(string Font, string 'u+0021'), burada u+ unicode başlığı ve 0021 karakter tablosundaki karakter kodudur
ya da öylesine string CharUTF(string Font, string U'0021'), yorumlayıcıya karakterlerin gösterimini U'xxxxx' başlığıyla tarih veya renk olarak eklemek daha iyidir
ayrıca karakter dizilerini CharToUtf(string Text) ve string UtfToChar(string UtfText) kodlamalarına göre çeviren işlevler yapar.
Ancak kolaylık sağlamak için Etkinlikleri türe göre boyamak daha iyidir:
Uzman Danışman OnInit()'i Etkinleştirme
Uzman Danışman OnDeinit()'i Devre Dışı Bırakma
Zaman çerçevesini değiştir OnChangeTimeFrame(int TimePeriod=Period())
Yakınlaştırmayı değiştir OnChangeZoom( int CountBarPerWindow=WindowBarsPerChart())
Yeni fiyat varış OnNewPrice()
Ayrı bir pencere oluşturun OnCreateNewWindow(string NameWindow, int IndexWindow=WindowFind(NameWindow), bool TypeWindow=false)
Yatırımcı talebi alındı int OnInvestor (int IndexInvestor - yatırımcı tanımlayıcı (hesap numarası), string NameInvestor - yatırımcının tanımı, ..... - OrderSend( return(Id Create Order) ) komutu için virgülle ayrılmış parametreler)
Sipariş oluşturma - OnCreateOrder (int IndexOrder=OrderNumberHistoryList)
Sipariş düzenleme - OnModifyOrder (int IndexOrder=OrderNumberHistoryList)
TP, SL, tarih veya manuel olarak OnOrderClose ile bir siparişi kapatma olayı (int TypeCloseOrder= CLOSEMODE_ [TP, SL, Date, Manual], int IndexOrder=OrderNumberHistoryList, bool PriceType=true)
burada PriceType - sipariş tamamlama işareti doğru - pozitif sipariş bakiyesi olan bir işlem yanlış - negatif sipariş bakiyesi olan bir işlem
Uygulanan Şablonun adını, Profil adının bildirildiği Mt'nin alt kısmına eklemek mümkün müdür?
Profil Adı ve böylece profil listesine bakabilirsiniz (orada her zaman bir onay işareti vardır, böylece nerede olduğunuzu bilirsiniz), ancak şu anda hangi şablon uygulanmaz.