MQL5 için dilekler - sayfa 100

 
YuraZ >> :

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.


 
Rosh писал(а) >>

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.

 
Rosh >> :

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 )

 
Roffild писал(а) >>

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.

 
stringo >> :

Ö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.

 
Roffild писал(а) >>

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.

 
Birçoğunun "uzmanlar" için göstergeleri yeniden yazması gerekeceğinden, uzmanların verilerini " Veri Penceresinde " görüntülemesine izin verin.
 

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

Dosyalar:
 
Belki bu, bazı Expert Advisor'da zaten uygulandı, ancak programın temel versiyonunda, yani açık veya bekleyen pozisyonları olan çizelgelerin etiketlerinin belirli bir renkle vurgulanmasını istiyorum. Örneğin, açık pozisyonun bulunduğu grafiğin etiketi, fiyat T / P - yeşile, sırasıyla S / L'ye kırmızıya yaklaşırsa sarı renkle vurgulanır. İstediğiniz etiketi herhangi bir renkle kendiniz işaretlemeniz de uygun olacaktır. Birden fazla (birçok veya tüm) enstrüman üzerinde çalışırken çok kullanışlıdır. Cumartesi - Pazar bir analiz yaptım, sinyal beklemeniz gereken çiftleri seçtim, göze hoş gelen bir renkle işaretledim ve sadece onları izliyorsunuz.
 

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.

Neden: