Özel semboller. Hatalar, hatalar, sorular, öneriler. - sayfa 28

 

Sadece birkaç gün önce özel bir sembol oluştururken bu hatayla karşılaştım. Birçok şeyi elle kontrol ettim. Ayrıca ArrayCopy'den sonra bazı kenelerin rastgele değerler aldığı son derece garip bir hata fark ettim. Temiz bir makinede tekrarlamak oldukça sıkıcı olduğu için, gelenekten başka bir sentetik gelenek üretildi ve buradaki raporlara yönelik tutum son zamanlarda spesifik, yani tamamen görmezden gelme, rapor etmedim. Ancak kendim için sorunu tek bir CustomTicksAdd çağrısıyla çözdüm. Onlar. tüm işaretler önce bir diziye dökülür ve manuel olarak kopyalanır ve zaten özel bir sembole yapılan bir çağrıdır. Böylece hiçbir hata atılmaz. Dene.

PS Ayrıca CopyTicksRange'a geçiş yapan CopyTicks ile her türlü garip hatayla karşılaştığımı da ekleyeceğim.

 
fxsaber :

Koda daha dikkatli baktım. Parçaları alırken keneleri atlarsınız. Durum olası Ticks[Limit - 1].time_msc == Ticks[Limit + k], k >= 0 .

Buna göre boşluk bırakarak eklediğinizde bayraklar eşleşmeyebilir.


Örtüşme olmadığından emin olmak için bu testte kasıtlı olarak atlıyorum, çünkü sorunun etiyolojisi henüz net değil ve kenelerin çoğaltılması nedeniyle ortaya çıkabilir (Andrey ile benzer şekilde, olasılığı dışlamaya karar verdim) "hızlı ve kirli" yöntemini kullanarak).

Bayraklara gelince, lütfen detaylandırın. Ne de olsa, hiç kimse kenelerin içeriğini (bayraklar dahil) değiştirmiyor ve ben kenelerin sırası üzerinde bayrakların herhangi bir etkisi hakkında bir şey okumadım. En azından, hata kodunun açıklaması bayraklar hakkında hiçbir şey söylemez.

 
Stanislav Korotky :

Bayraklara gelince, lütfen detaylandırın. Ne de olsa, hiç kimse kenelerin içeriğini (bayraklar dahil) değiştirmiyor ve ben kenelerin sırası üzerinde bayrakların herhangi bir etkisi hakkında bir şey okumadım. En azından, hata kodunun açıklaması bayraklar hakkında hiçbir şey söylemez.

Bayraklarla - bir hipotez. Bir zamanlar onlarla ilgili bir sorun vardı, bu yüzden üçüncü taraf keneler için göndermeden önce bayrakları kendim oluşturdum.


Örneğin, bir atlamadan sonra, ilk tik farklı bir teklif fiyatına sahiptir, ancak bununla ilgili bir işaret yoktur.

 

Bu satırın, ms'li _start değişkeni bir artırılmışsa neden başka hiçbir yerde kullanılmadığı açık değildir.
Ve işlev çıktığında, yok edilir.
Gördüğüm kadarıyla zaman kayması hiçbir yerde kullanılmıyor ve hatırlanmıyor.
Ve neden girdi işlevi gören bu _start değişkenine bir şey atıyorsunuz.
Sonuçta, bu değeri while işlevine geri döndürecek ve kullanımının bir çıkmazı var.
Genel olarak, kod bir şekilde kafa karıştırıcıdır ve açık değildir. Ya da bu tasarıma yetişemiyorum))

_start = array[size - 1 ].time_msc + 1 ;
 
Roman :

Bu satırın, ms'li _start değişkeni bir artırılmışsa neden başka hiçbir yerde kullanılmadığı açık değildir.
Ve işlev çıktığında, yok edilir.
Gördüğüm kadarıyla zaman kayması hiçbir yerde kullanılmıyor ve hatırlanmıyor.
Ve neden girdi işlevi gören bu _start değişkenine bir şey atıyorsunuz.
Sonuçta, bu değeri while işlevine geri döndürecek ve kullanımının bir çıkmazı var.
Genel olarak, kod bir şekilde kafa karıştırıcıdır ve açık değildir. Ya da bu tasarıma yetişemiyorum))

Bu değişken referansı, çağıran koddan "yerinde" işlev parametresine iletilir, sürekli değiştirilir ve yinelemelerde kullanılır.

 
fxsaber :

Bayraklarla - bir hipotez. Bir zamanlar onlarla ilgili bir sorun vardı, bu yüzden üçüncü taraf keneler için göndermeden önce bayrakları kendim oluşturdum.


Örneğin, bir atlamadan sonra, ilk tik farklı bir teklif fiyatına sahiptir, ancak bununla ilgili bir işaret yoktur.

Fikir açık. Ancak MQ'nun açıklamaları olmadan, tüm bunlar varsayımlarımız düzeyinde kalacaktır (belirli bir hatanın görünümü üzerindeki olası etki açısından).

 
Stanislav Korotky :

Bu değişken referansı, çağıran koddan "yerinde" işlev parametresine iletilir, sürekli değiştirilir ve yinelemelerde kullanılır.

Evet, bağlantıya dikkat etmedim ve bunun için teklif etmek istedim, ama orada.
Artan zamandan tasarruf etmek için bir değişkeni açıkça tahsis etmek için aynı şeyi deneyin.

 

Yeni bilmece. Yapı 2507'deki CopyTicks ile ilgili sorun, daha eski olanlar (özellikle 2374) iyi çalıştı.

Uygulamadaki her şeyi basit bir test komut dosyasına indirdi. Önceki anketten bu yana yeni onaylar ister.

Döngünün ilk doğru geçişinden kısa bir süre sonra, komut dosyası, from parametresinde belirtilenden daha erken olduğu bilinen bir zamanla veya daha doğrusu geçerli günün başlangıcından itibaren diziye keneler kopyalamaya başlar.

Jamb nedir?

Dosyalar:
CopyTicks.mq5  1 kb
 
Stanislav Korotky :

Yeni bilmece. Yapı 2507'deki CopyTicks ile ilgili sorun, daha eski olanlar (özellikle 2374) iyi çalıştı.

Uygulamadaki her şeyi basit bir test komut dosyasına indirdi. Önceki anketten bu yana yeni onaylar ister.

Döngünün ilk doğru geçişinden kısa bir süre sonra, komut dosyası, from parametresinde belirtilenden daha erken olduğu bilinen bir zamanla veya daha doğrusu geçerli günün başlangıcından itibaren diziye keneler kopyalamaya başlar.

Jamb nedir?

Hatayı 2509'da onaylıyorum.

Bu seçenek çalışmıyor gibi görünüyor.

 int size = CopyTicksRange ( _Symbol , array, COPY_TICKS_ALL , cursor);
 
Özel sembollerle pusu kurun. Yalnızca büyük/küçük harf bakımından farklılık gösteren iki simge oluşturmak mümkündür (örneğin, "xEURUSD" ve "XEURUSD"), ancak "yinelemeye" tırnak eklemek işe yaramaz - CustomRatesUpdate 0 döndürür, hata vermez. Büyük/küçük harfe duyarlı adlara izin vermek (böylece bu tür karakterlerin tam olarak çalışması için) veya bu tür "benzer" adların oluşturulmasına izin vermemek gerekir.