[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 632
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Örneğin, PeriodSMA ile basit bir hareketli ortalama hesaplamanız gerekiyor. SMA'yı hesaplamak için, son PeriodSMA çubuklarının değerlerini ekleyin ve PeriodSMA'ya bölün. Açıkçası, bu Bars-1, Bars-2, ..., Bars-PeriodSMA+1 numaralı çubuklar için yapılamaz, çünkü hesaplama için gerekli sayıda çubuğa sahip değiliz (en soldaki çubukta Bars-1 indeksi var). Bu nedenle, göstergeyi grafikteki son çubuktan değil, hesaplama için gerekli tüm verilere sahip olduğumuzdan, yani. Bars-PeriodSMA indeksine sahip bir çubuktan.
Neden keyfi olarak farklı değil de tam olarak bu değeri yazalım? Evet, çünkü hesaplamanın başlangıcında, hesaplamanın doğruluğundan ödün vermeden maksimum çubuk sayısını hesaplamanıza izin veren böyle bir kaymadır.
Ancak en basit durumu tarif ettiğimi unutmayın. Bazen, programın hesaplamalar için kaç tane geçmiş çubuğa ihtiyaç duyduğu ve böyle bir kaymanın tam olarak nereden geldiği koddan hemen belli olmaz. Öyleyse, görünüşe göre, kodu yazanla konuşup sormalısın. Ancak genel olarak, evrensel bir yol vardır - sadece koda bakın, program çalışması sırasında fiyat verileri ve endeks tampon verileri kullanılırken prensipte maksimum çubuk endeksinin ne elde edilebileceğine bakın, genellikle bu aşamada her şey netleşir.. .
Açıklama için teşekkürler!
Ve açıklığa kavuşturmak için, mekanik olarak 0 eklersem, TP ve SL bu tür terminallerde çalışır mı?
Elbette yapacaklar.
Bunun için varlar, herhangi bir değeri ayarlamak için harici değişkenler.
Ancak, size tavsiye edilenleri başlatma modülüne yerleştirmek daha kolaydır.
Veya bu formda:
değişkenler otomatik olarak ayarlanır ve diğer ihtiyaçlar için " ondalık " çarpanı kullanın
Спасибо за разъяснения!
И просто чтобы уточнить, если я механическим путем добавлю 0, то TP и SL будут работать в данном типе терминалов?
prorab :
Elbette yapacaklar.Bunun için varlar, herhangi bir değeri ayarlamak için harici değişkenler.
Ancak, size tavsiye edilenleri başlatma modülüne yerleştirmek daha kolaydır.
Veya bu formda:
değişkenler otomatik olarak ayarlanır ve diğer ihtiyaçlar için " ondalık " çarpanı kullanın
Bu görevin açıklığa kavuşturulması gerekiyor:
Güzel gün…
SOS !!! İYİ İNSANLAR, YARDIM !!! Çatı yeni geliyor... Genel olarak programlamada (kendi başıma öğreniyorum) ve özellikle MQL'de başlangıç seviyesindeyim. Basit bir gösterge yazdı: "tek kişide" RSI + Bollinger Bantları (aşağıda gösterge kodunun tamamı verilmiştir). Ancak sorun şu: Buf_std_dev dizisini bildirirken, içindeki öğelerin sayısını açıkça belirtmezsem (yani, dizi bildiriminin bulunduğu satır şuna benziyor: double Buf_std_dev [] ) , o zaman bu gösterge şurada görüntülendiğinde istemci terminal penceresinde ( CT ), aşağıdaki resmi alıyorum:
Şekil için açıklamalar:
a) En üstte, CT ile birlikte verilen gösterge setine dahil olan RSI vardır ve Bollinger Bantları sürüklenerek bu RSI penceresine sürüklenir . ve damla );
b) en altta benim tarafımdan programlanan RSI ;
Derleyici herhangi bir hata veya uyarı vermez.
Buf_std_dev dizisini bildirirken, içindeki öğelerin sayısını açıkça belirtirsem (yani, dizi bildiriminin bulunduğu satır şöyle görünür: double Buf_std_dev [ 5502 ] , burada 5502 , Bars değişkeni kullanılarak elde edilen çubukların sayısıdır ), o zaman her şey yerine oturur (çünkü iki göstergenin karşılaştırmasından da anlaşılacağı gibi: tüm değerler aynıdır):
İkinci şekilde olduğu gibi görüntüyü kaydetmek için ne yapmanız gerektiğini söyleyin, ancak Buf_std_dev dizisindeki öğelerin sayısını açıkça AYARLAMAYIN.
P. S. Yanıtınız için şimdiden teşekkür ederiz.
Kodu ekliyorum (bazı parçalar olmadan - 4 MB'a sığmaz!!):
tüm kodu göster
Lütfen bana 4 MB'den daha büyük bir kodu buraya dökmenin (veya buraya parçalar halinde dökmenin) bir yolu olup olmadığını söyleyebilir misiniz?
Buf_std_dev'iniz bir gösterge arabelleği değilse (sekizden biri), bildirirken, boyutunu veya herhangi bir boyutunu (gelecekte (boyutunu) değiştirecekseniz) belirtmeniz gerekir.
Kesinlikle öyle değil ... Mümkünse hemen 2 soru daha:
1. Eğer ona ( Buf_std_dev dizisi) (ve diğer dördüne) bir tampon atarsam, bu onun gösterge penceresinde de görüntüleneceği anlamına mı gelir?
2. Ve eğer ona bir tampon atamazsam (doğru anladıysam) şu durum ortaya çıkacak: Diyelim ki 100 barlık bir boyut belirledim. Ardından, yeni çubuklar göründüğünde (örneğin, Bars=101 ise), yalnızca duyuru sırasında belirtilen son 100 çubuk için hesaplama yapılır (yani en eski çubuk - 101 - atılır). Bu nedenle, history yüklenirken dizinin boyutu her zaman yalnızca 100 bar mı olacak (veya bildirirken belirteceğim başka bir değer)?