Hatalar, hatalar, sorular - sayfa 1400

 

Yeni bir yapıya ( 1178 ) güncelledikten sonra, bir çizelgeye bir Uzman Danışman yüklerken, program çizelgeden kaldırıldığında günlükte aşağıdaki hatayı alıyorum:

 2015.10 . 14 21 : 04 : 50.571 TestLibrary (EURUSD,M30)        
2015.10 . 14 21 : 04 : 50.571 TestLibrary (EURUSD,M30)         00 : 0x00000000028E1F21
2015.10 . 14 21 : 04 : 50.571 TestLibrary (EURUSD,M30)        
2015.10 . 14 21 : 04 : 50.571 TestLibrary (EURUSD,M30)                       00000000028 E1F37 C6467000          mov         byte [rsi+ 0x70 ], 0x0
2015.10 . 14 21 : 04 : 50.571 TestLibrary (EURUSD,M30)                       00000000028 E1F30 C686AD02000000    mov         byte [rsi+ 0x2ad ], 0x0
2015.10 . 14 21 : 04 : 50.571 TestLibrary (EURUSD,M30)        
2015.10 . 14 21 : 04 : 50.571 TestLibrary (EURUSD,M30)                       00000000028 E1F2E 7 CA0              jl         0x28e1ed0
2015.10 . 14 21 : 04 : 50.571 TestLibrary (EURUSD,M30)                       00000000028 E1F2C 39 C3              cmp        ebx, eax
2015.10 . 14 21 : 04 : 50.571 TestLibrary (EURUSD,M30)                       00000000028 E1F26 8 B868B000000      mov        eax, [rsi+ 0x8b ]
2015.10 . 14 21 : 04 : 50.571 TestLibrary (EURUSD,M30)                       00000000028 E1F24 FFC3              inc        ebx
2015.10 . 14 21 : 04 : 50.571 TestLibrary (EURUSD,M30)           crash -->   00000000028 E1F21 FF5728            call       qword near [rdi+ 0x28 ]
2015.10 . 14 21 : 04 : 50.571 TestLibrary (EURUSD,M30)        Access violation at 0x00000000028E1F21 read to 0x0000000D5D01E928 in 'D:\#MetaTrader\MetaTrader 5 Test\MQL5\Experts\#TestLibrary\Article02\TestLibrary.ex5'

//---

Öğrendiğim kadarıyla bu durum, CChartObject::Timeframes ( OBJ_NO_PERIODS ) yöntemini kullanarak grafik nesneleri gizlemeye çalışırken ortaya çıkıyor.

Not : Hayır olsa da, sorun büyük olasılıkla başka bir nedenden kaynaklanmaktadır. Lokalize etmeye çalışıyorum, servis masasında devam edeceğim, istek açtım.

 
transcendreamer :
yazar zaten farkında ve bunun nasıl olabileceği hakkında çok düşünüyor

yazar çok düşündü ve bu anı düzeltti, bir sonraki güncellemede görünecek

komisyoncunun açıklanmayan özellikleri suçlanacaktı

 
1178 oluşturun. Derleme hatası: 'B' - şablon uyuşmazlığı
 class A { template < typename T> A( T ) {} };
class B;
class B {};
her şey yolunda olmadan önce
 
A100 :
1178 oluşturun. Derleme hatası: 'B' - şablon uyuşmazlığı
her şey yolunda olmadan önce
Teşekkürler, kontrol edeceğiz.
 
OnTimer olayı neden iCustom aracılığıyla çağrılan göstergelerde tetiklenmiyor?
 
Ilya Malev :
OnTimer olayı neden iCustom aracılığıyla çağrılan göstergelerde tetiklenmiyor?
Mimari olarak, zamanlayıcı olayı bir grafik olayıdır, dolayısıyla bu durumda göstergeler onu alamaz.
 
Anton :
Mimari olarak, zamanlayıcı olayı bir grafik olayıdır, dolayısıyla bu durumda göstergeler onu alamaz.
Hiçbir kene gelmiyorsa (örneğin, hafta sonları) iCustom aracılığıyla çağrılan göstergeyi çizilmeye (yani OnCalculate çağrısını kışkırtmak için) programlı olarak nasıl zorlayabilirim?
 
Bu göstergede başka göstergeler çağrılırsa, OnInit'ten çıktıktan hemen sonra OnCalculate'in ilk otomatik çağrısı bu göstergelerin verilerini hesaplamaz ve ayrıca gösterge OnCalculate'den çıkmadan hesaplamalarını "bekleyemez". Ve ilk işaretlerin başladığı hafta sonu sonuna kadar OnCalculate'e bir sonraki çağrı olmayacak. Aynı zamanda, böyle bir göstergede ne OnTimer ne de OnChartEvent, veri alındığında yeniden çizime neden olmaz. Sonuç olarak, görebildiğim tek yol, pencerenin bağlam menüsünden DLL aracılığıyla grafikteki "Yenile" öğesini çağırmak - geliştiricilerin bu özel yöntemi göstergelerin normal çalışması için planladıklarını sanmıyorum MT5'te. Aksi takdirde kullanıcı, gösterge çizilene kadar bu düğmeye basarak çizelgede pişirmek zorunda kalacak ki bu da onu pek mutlu etmeyecektir.
 
Ilya Malev :
Bu göstergede başka göstergeler çağrılırsa, OnInit'ten çıktıktan hemen sonra OnCalculate'in ilk otomatik çağrısı bu göstergelerin verilerini hesaplamaz ve ayrıca gösterge OnCalculate'den çıkmadan hesaplamalarını "bekleyemez". Ve ilk işaretlerin başladığı hafta sonu sonuna kadar OnCalculate'e bir sonraki çağrı olmayacak. Aynı zamanda, böyle bir göstergede ne OnTimer ne de OnChartEvent, veri alındığında yeniden çizime neden olmaz. Sonuç olarak, görebildiğim tek yol DLL aracılığıyla pencerenin bağlam menüsünden çizelgedeki "Yenile" öğesini çağırmak - geliştiricilerin bu özel yöntemi MT5'teki göstergelerin normal çalışması için planladıklarını düşünmüyorum. Aksi takdirde kullanıcı bu butona basarak gösterge çizilene kadar tablo üzerinde yemek pişirmek zorunda kalacak ki bu da onu pek mutlu etmeyecektir.

MT4 için ise:

bu işe yaramayacak mı? https://www.mql5.com/ru/code/11678

ChartRefresh
ChartRefresh
  • oylar: 11
  • 2014.08.13
  • Alexandr Bryzgalov
  • www.mql5.com
Скрипт для принудительно обновления текущего графика.
 
Alexandr Bryzgalov :
bu işe yaramayacak mı? https://www.mql5.com/en/code/11678

Bu komut dosyası MetaTrader 4 içindir :)

MT4'te, mql4 programlarında alınmadan önce sadece tüm veriler terminal tarafından hesaplanır.

Neden: