Hatalar, hatalar, sorular - sayfa 446

 
voix_kas :

Hata kodu: 4756. Ekranda görülüyor.

1. Bir kez daha sorumu tekrar edeceğim - Alım satımın seçici olarak seçilmesi gereken sembollerin listesi (yani, karikatürün takas edeceği tüm semboller için, ikinci parametre ile SymbolSelect komutu yürütüldü) doğru mu? ?

Başlatma bloğunda SymbolSelect kullanılarak gerekli olan tüm sembollerin seçilmesini ve bu tür bir değişiklikten sonra bu hatayı kontrol edilmesini öneriyorum.

2. Geliştiriciler :

a) Soru, SymbolSelect kullanılarak seçilmeyen sembollerin açık bir biçimde (yukarıdaki ekranda görebilirsiniz) uçbirim sembolleri listesinde hangi noktadan listeye girdiğidir (onlar üzerinde herhangi bir işlem yapılmaması şartıyla). belirli bilgileri toplamak dışında)?

b) SymbolsTotal (yanlış) ve SymbolName (index,false) gibi görünüşte zararsız olan şeylerin görselleştirme penceresinde açıkça sembollerin görüntülenmesine yol açması size garip gelmiyor mu?

Anladığım kadarıyla şöyle olmalı - SymbolSelect Yok MarketWatch'ta görüntülenenler arasında hiçbir sembol yok.

c) Anladığım kadarıyla, test cihazında tüm yoklanan semboller için ortamı yüklemek ve yalnızca SymbolSelect sırasında seçilenleri veya kullanıcının fiyatları veya diğer önemli bilgileri almaya çalıştığı olanları görüntülemek doğru olacaktır.

Örneğin, bir sembolün senkronize olup olmadığını veya sunucudaki geçmişinin ne kadar derin olduğunu belirlemeye çalışıyorsam, neden onu bir seçim bayrağıyla MarketWatch'a koydum?

 
voix_kas :

Ve belirttiğiniz anda hata kodunu nasıl yakalarsınız? Yukarıdaki kodun son satırında bir hata kaydediyorum.

Aşağıdaki terimi bu kodun hemen önüne eklerseniz bu hata görünmez:

Örneğin şöyle:

double price= SymbolInfoDouble (Instrumet, SYMBOL_ASK );
if(price==0.0)
  {
   Print("Ай-яй-яй. Ошибка ",GetLastError());
   return(false);
  }
TradeRequest.price = price ;
 
Interesting :

2. Geliştiriciler - Soru, açık bir biçimde (yukarıdaki ekranda görebilirsiniz) terminal sembolleri listesinde hangi noktadan SymbolSelect kullanılarak seçilmeyen sembollerin listeye girdiğidir (hiçbir işlem yapılmamışsa) belirli bilgilerin toplanması dışında alınan)?

MT5 test cihazı, kârların denge para birimine en doğru şekilde dönüştürülmesi de dahil olmak üzere, ticaret koşullarının çok doğru bir şekilde modellenmesini kullanır.

Bu, haçlarla çalışırken, karı yeniden hesaplamak için temel döviz çiftini de modellemeniz gerektiği anlamına gelir. Yani, bazı araçlar (çapraz sayaçlar) üzerinde çalışırken, herhangi bir saniyede hesaplamanın kesinlikle doğru ve tekrarlanabilir olması için çift hacimli simülasyon vardır.

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 

ilginç
Elbette. Bu kod, sonraki tüm işlemlerden öncedir:

 if ( SymbolInfoInteger (Instrumet, SYMBOL_SELECT ) || SymbolSelect (Instrumet, true ))
{
  ...
}

Koşul karşılanmazsa, bu araçla başka bir işlem yapılmaz.

Başlatma sırasında " SymbolSelect " hesabına... Yani. İlk çağrının ( SymbolSelect (Instrumet, true ) ) enstrümanı yüklemediğini düşünüyor musunuz? En az iki tane gerekir mi?

Sadece ilk önce mevcudiyet için karakterleri yineliyorum (başlat). Ve sonra zaten OnTick|OnTimer'da enstrüman daha önce seçilmemişse açık bir seçim yapıyorum.

amcaVic

Teşekkür ederim. Bu hatayı bu şekilde aşıyorum.
Mümkünse, lütfen sıfır fiyatın neden ortaya çıktığını açıklayın? Ve bu gerçek hayatta olabilir mi (sadece test sırasında değil, gerçek zamanlı modda okuyun)?

 
voix_kas :

ilginç
Elbette. Bu kod, sonraki tüm işlemlerden öncedir:

Koşul karşılanmazsa, bu araçla başka bir işlem yapılmaz.

Başlatma sırasında " SymbolSelect" hesabına... Yani. İlk çağrının ( SymbolSelect (Instrumet, true ) ) enstrümanı yüklemediğini düşünüyor musunuz? En az iki tane gerekir mi?

Sadece ilk önce mevcudiyet için karakterleri yineliyorum (başlat). Ve sonra zaten OnTick|OnTimer'da enstrüman daha önce seçilmemişse açık bir seçim yapıyorum.


Garip, ya da bir şey anlamıyorum ya da bir yerlerde, tahmin ettiğim gibi çalışmayan bir kod var.

Bildiğim kadarıyla , başlatma bloğunda SymbolSelect'i bir kez kullanmak yeterlidir (sonucun aynı anda kontrol edilmesi arzu edilir).

Test cihazında, önceden hazırlanmış bir diziden bir MarketWatch oluşturuyorum , bunun gibi bir şey

  //Forming list of symbols
  for ( int f= 0 ;f< ArraySize (ArrSymbolsEA);f++)
  {
  SymbolSelect (ArrSymbolsEA[f], true );
  }

Bu genellikle test cihazındaki tüm sembollerin ticaret için kullanılabilir hale getirilmesi için yeterlidir.

Ancak bu yaklaşımla, günlükte sembol eksikse, bu hata gibi bir şey görünecektir.

 2011.07 . 06 18 : 47 : 57      symbol NZDUSD does not exist

Her şey beklendiği gibi çalıştıysa, test penceresi şöyle görünmelidir


 
voix_kas :

Teşekkür ederim. Bu hatayı bu şekilde aşıyorum.
Mümkünse, lütfen sıfır fiyatın neden ortaya çıktığını açıklayın? Ve bu gerçek hayatta olabilir mi (sadece test sırasında değil, gerçek zamanlı modda okuyun)?


Hata kodu nedir?
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений - Документация по MQL5
 

geliştiriciler

SD'ye yazmak istedim ama fikrimi değiştirdim, burada olacağım - Lütfen bool SymbolExists(name) / bool SymbolIsExists(name) işlevini ekleyin

Hedef - sunucuda belirtilen karakterin varlığını belirler. Başarılı olursa true döndürür.

Sadece bunu kullanırken, sembol test cihazının MarketWatch'unda görüntülenmez (ilke, SymbolIsSynchronized ile aynıdır).

Bütün bunlar bu tür sıkıntılardan kurtulacak.

 2011.07 . 06 18 : 47 : 57      symbol NZDUSD does not exist
 
uncleVic :
Hata kodu nedir?

Strateji test cihazından görebileceğiniz kadarıyla, aynı anda iki hata üretiliyor. Sadece sonuncuyu kesmek mümkündür.
Onu nasıl tanıyabilirim? Kod yukarıda verilmiştir. Hata koduyla ilgili bilgilerin çıktısını nereye koyabilirim?

 
Interesting :

Garip, ya da bir şey anlamıyorum ya da bir yerlerde, tahmin ettiğim gibi çalışmayan bir kod var.

...

Her şey beklendiği gibi çalıştıysa, test penceresi şöyle görünmelidir

Lütfen test cihazını 2011.01.03 00:00:00 tarihinden itibaren çoklu para birimi işlem platformunuzla başlatın.

2011.01.03 00:59:59'a kadar elimde sadece 3 döviz çifti mevcut (bunlar marketwatch'da gösteriliyor, ekranda görebilirsiniz). 2011.01.03 0 1:00: 00'dan itibaren - her şey yolunda.

not

MQ demo hesaplarından bahsediyoruz (şampiyonluğa hazırlanmak için).

 
voix_kas :

Lütfen test cihazını 2011.01.03 00:00:00 tarihinden itibaren çoklu para birimi işlem platformunuzla başlatın.

2011.01.03 00:59:59'a kadar elimde sadece 3 döviz çifti mevcut (bunlar marketwatch'da gösteriliyor, ekranda görebilirsiniz). 2011.01.03 0 1:00: 00'dan itibaren - her şey yolunda.

not

MQ demo hesaplarından bahsediyoruz (şampiyonluğa hazırlanmak için).

Tarih karaktere göre senkronize ediliyor mu?