Hatalar, hatalar, sorular - sayfa 1669
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 MQ5 programı, yürütme tamamlandıktan sonra oluşturduğu tüm tanıtıcıların her zaman otomatik olarak bir IndicatorRelease yapar mı?
Veya göstergeyi bir komut dosyası aracılığıyla IndicatorCreate aracılığıyla çalıştırmak, ardından göstergeyle daha fazla çalışmak için tutamağını global değişkenler aracılığıyla iletmek mümkün müdür?
https://www.mql5.com/ru/docs/basis/preprosessor/compilation
Devamlı
Tip
Tanım
tester_indicator
sicim
" Gösterge_adı.ex5" biçimindeki özel göstergenin adı . Test için gerekli göstergeler, karşılık gelen parametre sabit bir dize olarak ayarlanmışsa, iCustom() işlev çağrısından otomatik olarak belirlenir. Diğer durumlar için ( IndicatorCreate() işlevinin kullanılması veya göstergenin adını belirten parametrede sabit olmayan bir dize kullanılması), bu özellik gereklidir
IndicatorCreate - neredeyse (giriş parametrelerinin sayısında sınır yok) ilke?
Sayaç ne?
IndicatorRelease içerecek, ancak göstergenin kendisine bir çağrı içermeyecek bir kod oluşturmaya çalışırsanız, o zaman basitçe derlemeyeceğinizi düşünüyorum, çünkü tanıtıcıyı IndicatorRelease'e geçirmeniz gerekir ve gösterge değilse programdan çağrılırsanız, tanıtıcıyı da tanımazsınız.
BlackTomcat :
Вчера обсуждали, страница 1687. :) Но читать лучше вот с этого сообщения на 1686-й странице: https://www.mql5.com/ru/forum/1111/page1686#comment_2790746 Кстати, человек на Ваш же вопрос отвечал. Просто получается, что схема такая. Запрос на вызов индикатора попадает в Терминал. Т.е. советник или скрипт не вызывают индикатор напрямую, терминал выступает посредником. В терминале происходит проверка, существует ли уже такой индикатор с указанными параметрами. Если да, то он возвращает программе, вызвавшей индикатор, хэндл (ссылку) на уже существующий индикатор. А в своих терминальных недрах помечает в счётчике, что был ещё один вызов на данный индикатор. Т.е. он ведёт учёт, сколько хэндлов на данный индикатор вернул. Когда кто-то делает IndicatorRelease, это не значит, что остальным, кто вызвал этот же индикатор с такими же параметрами, этот индикатор больше не нужен. Поэтому Терминал уменьшает счётчик на единицу, но оставляет индикатор активным, потому-что им ещё кто-то пользуется.
Teşekkür ederim! Büyük tasarruf sağlar.
IndicatorRelease içerecek, ancak göstergenin kendisine bir çağrı içermeyecek bir kod oluşturmaya çalışırsanız, o zaman basitçe derlemeyeceğinizi düşünüyorum, çünkü tanıtıcıyı IndicatorRelease'e geçirmeniz gerekir ve gösterge değilse programdan çağrılırsanız, tanıtıcıyı da tanımazsınız.
Aktarabileceğim global değişkenler aracılığıyla işleyebilirim. Bu nedenle, bunları kullanmak oldukça mümkündür.Ve bunu aktarmıyorsun. :) Ya da en azından bu şekilde elde edilen tanıtıcı üzerinde IndicatorRelease() çağırmayın . Bunu yaparsanız, o zaman bir dil hatası değil, sizin hatanız olur, katılıyor musunuz?
Ve bir noktada tüm pozitif int aralığından geçecek ve her biri için IndicatorRelease'i deneyecek olan serbest Piyasa için kötü bir yer imi yazacağım.
Böyle bir komut dosyası, ChartIndicatorAdd olmadan iCustom tarafından kullanılan terminalin tüm Uzman Danışmanlarını ve göstergelerini kapsayacaktır.
Bu, yine, bir dil hatası değil, kasıtlı eylemleriniz olacaktır. Bunu neden yazdın?
Bu arada, bu konuşma, bir göstergeyi kullanmadan önce tutacağının nasıl kontrol edileceğine ilişkin sorunuzla başladı. Bu nedenle, tanıtıcı kontrol edilemez, ancak kapalı bir göstergenin tutamağını kullanmaya çalıştığınızda 4807 hatası alırsınız - bu nedenle, -1 döndürürse CopyBuffer()'a yapılan her çağrıdan sonra onu izleyin.
Aktarabileceğim global değişkenler aracılığıyla idare edin. Bu nedenle, bunları kullanmak oldukça mümkündür.
Çalışma Zamanı Hatası: 'geçersiz işaretçi erişimi' (*)