"Uzman Danışmanlara göstergeler eklemek için hazır şablonlar (Bölüm 1): Osilatörler" makalesi için tartışma
//--- Gerekirse hesaplama dönemini ayarlayın ve ayarlayın period=int(InpPeriod<1 ? 14 : InpPeriod);
Girdinin sabit olduğunu anlıyorum. Bu görevi hayal bile edemiyorum.
Sadece eksi koyan bir aptala karşı bir savunma olarak, ancak o zaman kişinin hata yaptığına dair bir uyarı olması daha iyi olurdu.
Neden uint'ten int'e ve neden böyle bir yapı?
Girdinin bir sabit olduğunu anlıyorum. Bu görevi hayal bile edemiyorum.
Sadece eksi koyan bir aptala karşı bir savunma olarak, ancak o zaman kişinin hata yaptığına dair bir uyarı olması daha iyi olurdu.
InpPeriod bir girdi değişkeni girdisidir. Oraya eksi koymanın bir yolu yoktur. Oraya bir sıfır koyabilirsiniz. Bu tür kontroller (birden az için) sayıları doğrudan sıfırla karşılaştırmama alışkanlığıdır - aniden başka bir benzer yapıda çift tipli bir giriş değişkeni olacaksa, iki çift sayının doğrudan karşılaştırılmasından kaçınmamı sağlayacaktır. Evet, bu "kusursuz". Her şeyden önce kendimden - kodu başka yerlere taşırken daha az hata yapmak için.
InpPeriod - giriş değişkeni girişi. Oraya eksi koymanın bir yolu yoktur. Oraya bir sıfır koyabilirsiniz. Bu tür kontroller (birden az için), sayıları doğrudan sıfırla karşılaştırmama alışkanlığıdır - aniden başka bir benzer yapıda çift tipli bir giriş değişkeni olacaksa, iki çift sayının doğrudan karşılaştırılmasından kaçınmamı sağlayacaktır. Evet, bu "kusursuz". Her şeyden önce kendimden - kodu başka yerlere taşırken daha az hata yapmak.
Şey, evet, bu uint)))))) Üzerine bir eksi koyamazsınız))))
Yani sıfır akımdır)))) Kusursuz bir tasarım iyi olduğu için))))))
Ve klavyeye bir maske koyabilirsiniz, böylece sadece rakamlara basılır ve diğer tuşlara basılmaz)))))) 90'lı yıllardaki askerler için)))))) Ve diğer tuşlara basarken, büyük harflerle bir uyarı belirdi))
Merhaba. Farklı bağlantı noktalarına sahip hücrelere metin çıkışı yaptığımı sanmıyorum.
Ancak sütun_genişliğinin hücrenin genişliği, sütun_yüksekliğinin yüksekliği olduğunu varsayarsak,
ve metin_w ve metin_h hücrede çıktısı alınacak metnin karşılık gelen boyutlarıdır,
o zaman metnin sol üst köşesinin koordinatları bu formüller kullanılarak hesaplanmalıdır:
| Çapa | text_x | text_y |
|---|---|---|
| LEFT_UPPER | 0 | 0 |
| SOL | 0 | (column_height - text_h)/2 |
| SOL_ALT | 0 | column_height - text_h |
| AŞAĞI | (sütun_genişliği - metin_genişliği)/2 | column_height - text_h |
| RIGHT_LOWER | column_width - text_w | column_height - text_h |
| DOĞRU | column_width - text_w | (column_height - text_h)/2 |
| RIGHT_UPPER | column_width - text_w | 0 |
| ÜST | (sütun_genişliği - metin_genişliği)/2 | 0 |
| MERKEZ | (sütun_genişliği - metin_genişliği)/2 | (column_height - text_h)/2 |
Burada metin sabitleme - varsayılan olarak - sol üst köşedeki ilk metin koordinatları ve metni bağlantı noktasına (tablo başlığındaki bağlantı) bağlı olarak görüntülemek için, metin koordinatlarını yukarıdaki formüllere göre hesaplamanız gerekir.
Merhaba. Farklı bağlantı noktalarına sahip hücrelere metin çıkışı yaptığımı sanmıyorum.
Ancak sütun_genişliğinin hücrenin genişliği, sütun_yüksekliğinin yüksekliği olduğunu varsayarsak,
ve metin_w ve metin_h hücrede çıktısı alınacak metnin karşılık gelen boyutlarıdır,
o zaman metnin sol üst köşesinin koordinatları bu formüller kullanılarak hesaplanmalıdır:
| Çapa | text_x | text_y |
|---|---|---|
| LEFT_UPPER | 0 | 0 |
| SOL | 0 | (column_height - text_h)/2 |
| SOL_ALT | 0 | column_height - text_h |
| AŞAĞI | (sütun_genişliği - metin_genişliği)/2 | column_height - text_h |
| RIGHT_LOWER | column_width - text_w | column_height - text_h |
| DOĞRU | column_width - text_w | (column_height - text_h)/2 |
| RIGHT_UPPER | column_width - text_w | 0 |
| ÜST | (sütun_genişliği - metin_genişliği)/2 | 0 |
| MERKEZ | (sütun_genişliği - metin_genişliği)/2 | (column_height - text_h)/2 |
Burada metin sabitleme - varsayılan olarak - sol üst köşedeki metnin ilk koordinatları ve bağlantı noktasına (tablo başlığındaki bağlantı) bağlı olarak metni görüntülemek için, metin koordinatlarını verilen formüllere göre hesaplamanız gerekir.
Ben de aşağı yukarı böyle düşünmüştüm ama daha basit bir çözüm olduğunu düşündüm.
Teşekkürler!
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz

Yeni makaleye göz atın: Uzman Danışmanlara göstergeler eklemek için hazır şablonlar (Bölüm 1): Osilatörler.
Bir Uzman Danışmana göstergeler dahil etmek ve Uzman Danışmandaki gösterge arabelleğinden verileri kullanmak, referans materyallere sürekli göz atmayı gerektirse de oldukça basit bir iştir. Gösterge oluşturma fonksiyonuna aktarılan tüm parametreleri hatırlamamız, bazılarını Uzman Danışman girdileri olarak düzenlememiz, geçerlilik kontrollerini tanıtmamız vb. gerekir. Verileri elde etmek için, istenen çubuktan gerekli verileri geri döndüren fonksiyonlar yazmamız gerekir. Tüm bunlar, her seferinde yardıma başvurmak, gerekli değişkenleri Uzman Danışmana girmek, sinyalleri belirlemek üzere verileri almak ve kontrol etmek için fonksiyonlar yazmak vb. için zaman harcamayı gerektirir.
Bu makalenin amacı, Uzman Danışmanlara göstergeler dahil etmek için şablonlar oluşturmaktır. Osilatör kategorisindeki göstergelere, girdi değişkenlerine, bir gösterge tanıtıcısı oluşturmaya ve ondan gerekli verileri elde etmeye bakalım.
Yazar: Artyom Trishkin