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

 
fxsaber :

Hata 16.

Önceden, CustomTicksAdd, geçerli günle ilgili kenelerden oluşturulmuş çubuklar içeriyordu. Şimdi bu değil.

Bu hatanın #14 numaralı hatayla ilgili olduğu görülüyor.

Bir sembolün Market Watch'tan kaldırılması aşağıdaki nedenden dolayı mümkün oldu. CustomSymbolCreate - CustomSymbolDelete - CustomSymbolCreate'in aynı özel sembol adıyla art arda çağrılması, sembol tanımlayıcısının karıştırılmasına neden oldu. Bu nedenle, piyasa saatinden bir sembolün çıkarılmasının mümkün olup olmadığı kontrol edilirken, bu sembolün çizelgesi bulunamadı (tanımlayıcı bozuk) ve sembol güvenli bir şekilde kaldırıldı. Bu düzeltildi.

Bir grafiğe onay işareti uygularken, aynı şey mümkündür - sembol kimliğine göre bir grafik aramak sonuç vermedi

 
fxsaber :

Hata 15.

Bu Uzman Danışmanın sembolünde (silinmiş ChartSetSymbolPeriod -string ile), böyle bir gösterge başlatıyoruz

Yalnızca sıfırları döndürür.

Kesinlikle adil.

CustomRatesUpdate çağrıldığında tüm değişiklik sayaçları sıfırlanır ve göstergeler sıfırdan yeniden hesaplanır

 
Slava :

Kesinlikle adil.

CustomRatesUpdate çağrıldığında tüm değişiklik sayaçları sıfırlanır ve göstergeler sıfırdan yeniden hesaplanır

Böyle bir kararın arkasındaki mantık nedir? Sonuçta, solda değişmeyen çubuklar var.

 
fxsaber :

Böyle bir kararın arkasındaki mantık nedir? Sonuçta, solda değişmeyen çubuklar var.

prev_calculated, önceki OnCalculate çağrısından döndürülen değeri içerir

Bir gösterge yazarı, kendi mantığına göre herhangi bir değer döndürebilir. Bu nedenle, tüm göstergeleri gözden geçirmenin ve prev_calculated değerini zaman çerçevesini dikkate alarak kendi hesapladığınız değerle değiştirmenin bir anlamı yoktur. Ve kaynak yoğundur, hatta makul olmayan bir şekilde kaynak yoğun olduğu ortaya çıkabilir.

Henüz hiçbir şey hesaplanmadığında, başlangıçta olduğu gibi 0'ı ayarlamak çok daha dürüsttür.

 
Slava :

prev_calculated, önceki OnCalculate çağrısından döndürülen değeri içerir

Bir gösterge yazarı, kendi mantığına göre herhangi bir değer döndürebilir. Bu nedenle, tüm göstergeleri gözden geçirmenin ve prev_calculated değerini zaman çerçevesini dikkate alarak kendi hesapladığınız değerle değiştirmenin bir anlamı yoktur. Ve kaynak yoğundur, hatta makul olmayan bir şekilde kaynak yoğun olduğu ortaya çıkabilir.

Henüz hiçbir şey hesaplanmadığında, başlangıçta olduğu gibi 0'ı ayarlamak çok daha dürüsttür.

O zaman, özel bir sembolde, her ileriye doğru işaretlendikten sonra, bu sıfır değeri nedeniyle göstergeler tamamen yeniden hesaplandığında ne yapmalı?

Göstergeler Terminali yavaşlatmamak için özel olarak yazılmıştır, ancak burada her şey tam tersi olmaya başlar.

 
fxsaber :

O zaman, özel bir sembolde, her ileriye doğru işaretlendikten sonra, bu sıfır değeri nedeniyle göstergeler tamamen yeniden hesaplandığında ne yapmalı?

Böyle olmamalı. Hadi kontrol edelim

 
Slava :

Böyle olmamalı. Hadi kontrol edelim

Geçmişten gelen yönlendirme kenelerinin yalnızca CustomTicksAdd değil, aynı zamanda RatesUpdate olduğunu açıklığa kavuşturmama izin verin. Sonuçta, çalışan TicksAdd bile mevcut günden daha önce çubuklar oluşturmadı. Onları kendin yaratmalısın. Pekala, bundan dolayı sıfır prev_hesaplanmış alıyoruz.

 
fxsaber :

Geçmişten gelen kenelerin iletilmesinin yalnızca CustomTicksAdd değil, aynı zamanda RatesUpdate olduğunu açıklığa kavuşturmama izin verin. Sonuçta, çalışan TicksAdd bile mevcut günden daha önce çubuklar oluşturmadı. Onları kendin yaratmalısın. Pekala, bundan dolayı sıfır prev_hesaplanmış alıyoruz.

Her durumda, çubukları değiştirirken, güncellerken, silerken tüm göstergeler sıfırdan yeniden hesaplanır. Bu tartışılmıyor.

Kene eklemek her zamanki gibi çalışmalıdır, yani keneler - taze, bugünün, dünün veya dünden önceki günün değil.

Uzman Danışmanınızı hata açıklamasından 11 başlattı, ardından her OnCalculate üzerinde bir baskı ile göstergeyi başlattı

İşte günlükler

 2019.06 . 07 08 : 11 : 34.240 CustomHistoryTick (EURUSD,H1)   CustomSymbolCreate (Name, NULL , _Symbol ) = true
2019.06 . 07 08 : 11 : 34.243 CustomHistoryTick (EURUSD,H1)   CustomRatesDelete (Name, 0 , 0 ) = 0
2019.06 . 07 08 : 11 : 34.243 CustomHistoryTick (EURUSD,H1)   SymbolSelect (Name, false ) = true
2019.06 . 07 08 : 11 : 34.243 CustomHistoryTick (EURUSD,H1)   CustomSymbolDelete (Name) = true
2019.06 . 07 08 : 11 : 34.243 CustomHistoryTick (EURUSD,H1)   CustomSymbolCreate (Name, NULL , _Symbol ) = true
2019.06 . 07 08 : 11 : 34.321 CustomHistoryTick (EURUSD,H1)   CopyTicksRange ( _Symbol ,Ticks, COPY_TICKS_INFO ,( TimeCurrent ()- 3600 )* 1000 ) = 1114
2019.06 . 07 08 : 11 : 46.158 Custom Moving Average (EURUSD11608,M1)   13   prev_calculated= 0   begin= 0   data= 1.126668940063615
2019.06 . 07 08 : 11 : 46.173 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 13   begin= 0   data= 0.2989269387755102
2019.06 . 07 08 : 11 : 46.209 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989283673469387
2019.06 . 07 08 : 11 : 46.228 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989297959183673
2019.06 . 07 08 : 11 : 46.246 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989312244897959
2019.06 . 07 08 : 11 : 46.271 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989312244897959
2019.06 . 07 08 : 11 : 46.305 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989283673469387
2019.06 . 07 08 : 11 : 46.399 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989269387755102
2019.06 . 07 08 : 11 : 46.427 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989255102040816
2019.06 . 07 08 : 11 : 46.460 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989269387755102
2019.06 . 07 08 : 11 : 46.494 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989255102040816
2019.06 . 07 08 : 11 : 46.521 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989269387755102
2019.06 . 07 08 : 11 : 46.561 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989283673469387
2019.06 . 07 08 : 11 : 46.586 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989283673469387
2019.06 . 07 08 : 11 : 46.614 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989297959183673
2019.06 . 07 08 : 11 : 46.645 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989283673469387
2019.06 . 07 08 : 11 : 46.676 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989297959183673
2019.06 . 07 08 : 11 : 46.708 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989283673469387
2019.06 . 07 08 : 11 : 46.775 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989283673469387
2019.06 . 07 08 : 11 : 46.803 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989269387755102
2019.06 . 07 08 : 11 : 46.835 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989283673469387
2019.06 . 07 08 : 11 : 46.869 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989269387755102
2019.06 . 07 08 : 11 : 46.898 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989255102040816
2019.06 . 07 08 : 11 : 46.930 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989255102040816
2019.06 . 07 08 : 11 : 46.972 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.298924081632653
2019.06 . 07 08 : 11 : 46.993 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989226530612245
2019.06 . 07 08 : 11 : 47.024 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.298924081632653
2019.06 . 07 08 : 11 : 47.050 Custom Moving Average (EURUSD11608,M1)   14   prev_calculated= 14   begin= 0   data= 0.2989255102040816
2019.06 . 07 08 : 11 : 47.085 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 14   begin= 0   data= 0.4171804373177843
2019.06 . 07 08 : 11 : 47.116 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.4171790087463557
2019.06 . 07 08 : 11 : 47.175 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.4171775801749271
2019.06 . 07 08 : 11 : 47.198 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.4171790087463557
2019.06 . 07 08 : 11 : 47.215 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.4171790087463557
2019.06 . 07 08 : 11 : 47.242 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.4171775801749271
2019.06 . 07 08 : 11 : 47.270 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.4171761516034985
2019.06 . 07 08 : 11 : 47.302 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.4171775801749271
2019.06 . 07 08 : 11 : 47.335 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.4171790087463557
2019.06 . 07 08 : 11 : 47.370 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.4171761516034985
2019.06 . 07 08 : 11 : 47.398 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.4171804373177843
2019.06 . 07 08 : 11 : 47.434 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.4171790087463557
2019.06 . 07 08 : 11 : 47.466 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.4171775801749271
2019.06 . 07 08 : 11 : 47.494 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.4171775801749271
2019.06 . 07 08 : 11 : 47.528 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.4171775801749271
2019.06 . 07 08 : 11 : 47.586 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.4171775801749271
2019.06 . 07 08 : 11 : 47.617 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.4171775801749271
2019.06 . 07 08 : 11 : 47.646 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.41717472303207
2019.06 . 07 08 : 11 : 47.679 Custom Moving Average (EURUSD11608,M1)   15   prev_calculated= 15   begin= 0   data= 0.4171775801749271
2019.06 . 07 08 : 11 : 47.716 Custom Moving Average (EURUSD11608,M1)   16  prev_calculated=15  begin=0  data=0.5185379258642233
2019.06.07 08:11:47.740 Custom Moving Average (EURUSD11608,M1)  16  prev_calculated=16  begin=0  data=0.5185364972927947

Yani normal bir durumda (her zaman olması gerektiği gibi bugünün tikleri) her şey doğru çalışıyor. Ve keneler eklenir ve gösterge idareli olarak kabul edilir

 
Slava :

Her durumda, çubukları değiştirirken, güncellerken, silerken tüm göstergeler sıfırdan yeniden hesaplanır. Bu tartışılmıyor.

Kene eklemek her zamanki gibi çalışmalıdır, yani keneler - taze, bugünün, dünün veya dünden önceki günün değil.

Uzman Danışmanınızı hata açıklamasından 11 başlattı, ardından her OnCalculate üzerinde bir baskı ile göstergeyi başlattı

İşte günlükler

Yani normal bir durumda (bugünün tikleri, her zaman olması gerektiği gibi ), her şey doğru çalışıyor. Ve keneler eklenir ve gösterge idareli olarak kabul edilir

Bu doğru bir ifade mi?

Animasyonu görmek için resme tıklayın.


Ayrıca, şimdi 00:00:01 ise, sadece iki saniye önce olan CustomTicksAdd aracılığıyla çubuğu tamamlamak mümkün olmayacaktır.

 
fxsaber :

Bu doğru bir ifade mi?

Test kullanıcısı için, dünden önceki günün tik işareti, dünün zamanından önceki gün için tazedir, bugünün zamanıdır.

Ne söylemek istediğini anladım. Altı ay önceki özel kenelerle yaptığınız egzersizlerin belirgin bir test karakteri var. Durumunuz normal değil (genel uygulama anlamında)