Hatalar, hatalar, sorular - sayfa 2647

 

Şimdi MetaEditor'da, bir proje üzerinde çalışırken, "Proje" sekmesindeki proje dosyalarını , örneğin yeni oluşturulan bir alt klasöre taşımak için, tam bir "ritüel" gerçekleştirmeniz gerekir:

- Aktarılacak dosyalarda yapılan tüm değişikliklerin kaydedildiğinden emin olmanız gerekir, aksi takdirde yapılan iş kaybolabilir;
- "Proje" sekmesindeki dosyaları yeni bir konuma sürükleyin ;
- zaten yanlış bir yol kullandıklarından, aktarılan dosyalarla tüm sekmeleri kapatın;
- kapalı sekmeleri yeniden açın, ancak şimdi yeni konum yolunu kullanacaklar.
- açık sekmeleri kapatmadan önceki sırayla düzenleyin.

Teklif:
"Proje" sekmesindeki proje dosyalarını örneğin yeni oluşturulmuş bir alt klasöre taşırken:
- açık ancak değişmemiş dosyalar için konum yollarını otomatik olarak güncelleyin.
- değiştirilmiş dosyalar için - ayrıca onay isteyin: "Korunarak taşıyın", "Değişiklik kaybıyla taşıyın" veya "Aktarım işlemini iptal edin".


 
Igor Makanu :

12 GB belleğim var, Windows 10 işletim sistemi, boş bellek yaklaşık 8 GB


MT4/MT5 terminallerinde izin verilen maksimum hat uzunluklarını belirlemek için bu teste ihtiyacım vardı.

Şimdi Redis veritabanı aracılığıyla terminaller arasında bir değişim kurmak istiyorum

Redis çok basit bir veritabanıdır ve yalnızca dizelerle çalışır (anahtar - değer -> dize - dize)

dün Base64'te POD yapılarının serileştirmesini yaptım, veri boyutu yaklaşık 1/3 artarken

Bu durumda bile, işlem başına 400 MB büyüklüğünde yapı alışverişi yapabileceğime inanıyorum - bu herhangi bir amaç için fazlasıyla yeterli! ;)

İlginç, "Redis" i kontrol edeceğim, bunu bilmiyorum.

Bu yüzden kodunuzu benim tarafımda kontrol ettim, 1 dakika sonra durdurdum, çok yavaş. O yüzden biraz değiştim ;-)

 #define STEP       1000000      // 1 million
#define MILLION   1000000
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
   printf ( "m_physical = %i MB, m_total = %i MB, m_available = %i MB, m_used = %i MB, limit = %i MB, used = %i MB" ,
         TerminalInfoInteger ( TERMINAL_MEMORY_PHYSICAL ), TerminalInfoInteger ( TERMINAL_MEMORY_TOTAL ),
         TerminalInfoInteger ( TERMINAL_MEMORY_AVAILABLE ), TerminalInfoInteger ( TERMINAL_MEMORY_USED ),
         MQLInfoInteger ( MQL_MEMORY_LIMIT ), MQLInfoInteger ( MQL_MEMORY_USED ));

   string s = "" ;
   int size= INT_MAX ;

   do
    {
    size-=STEP;
    }
   while (! StringInit (s,size, USHORT_MAX ));

   long length = StringLen (s);
   printf ( "StringLen = %lli millions characters, m_used = %i MB, used = %i MB" , length/MILLION, TerminalInfoInteger ( TERMINAL_MEMORY_USED ), MQLInfoInteger ( MQL_MEMORY_USED ));
  }

2020.02.13 15:50:51.199 1111R-2646 (EURUSD, M1) m_fiziksel=16230MB, m_toplam=32460MB, m_available=31786MB, m_used=674MB, limit=8388608MB, kullanılmış=0MB
2020.02.13 15:50:51.763 1111R-2646 (EURUSD, M1) StringLen = 1073 milyon karakter , m_used= 2722MB , kullanılmış=2048MB

1 saniyeden az. Son olarak, 2GB veya yaklaşık 1.073 milyar karakter olan mql5 sınırı vardır.

 

ico dosyalarının neden kod tabanına yüklenemediğini açıklayın? Bunlar programın standart bir parçasıdır ve MQL araçları kullanılarak bağlanırlar. Yasaklanmaları açıkça yanlıştır. Ama daha fazlası gelecek.

Doğru hazırlanmış bir ico, çalışmayı etkilemeden png olarak yeniden adlandırılabilir: hala normal olarak programa bağlıdır (#property simgesi "mql5pack.png" kullanılarak) ve özellikler iletişim kutusunda görüntülenir. Ancak tüm bunlar yalnızca yerel olarak yuvarlanır. Kod tabanına böyle bir png yükledim ve kaynağı kontrol ederken bir hata aldım:

mql5pack.mq5(27,11) : error 341: cannot open icon file 'mql5pack.png'
main file not found

mql5 yönetiminden indirmeyi düzeltmesini ve/veya en azından simgeleri kontrol etmesini rica ediyorum.

not. Düzeltme, site sessizce png dosyasını yiyor, yani indirilmesine izin veriyor gibi görünüyor, ancak daha sonra derlenmiş dosyalar listesinde değil. MQL5\Images, MQL5\Files'ı denedim - sunucuya hiçbir şey yüklenmedi, ancak sessizce, hatasız. Kontrol ederken hata veriyor.

 
Derleme hatasını nasıl aşacağımı söyler misiniz?
 struct STRUCT
{
   static const int Array[];
   int Array2[ sizeof (STRUCT::Array)]; // unresolved static variable 'STRUCT::Array'
};

static const int STRUCT::Array[] = { 1 , 2 };

void OnStart ()
{
   static const int Array[] = { 1 , 2 };
  
   int Array2[ sizeof (Array)]; // OK
}
 

Millet, MT5'te açık siparişler nasıl yer değiştirmiyor?

 
Сергей Проценко :

Millet, yer değiştirmeden açık emir nasıl yapılır?

Bu, pardon, nasıl yer değiştiriyorlar?

 
Сергей Таболин :

Bu, pardon, nasıl yer değiştiriyorlar?

Kâra bağlı olarak, kâr daha büyükse, aşağı doğru hareket eder, başka bir düzen için kâr büyür, yer değiştirirler. Avronun karı altından daha büyük olursa, o zaman avronun sırası daha düşük olacak ve altın için daha yüksek olacaktır.
 
Сергей Проценко :
Kâra bağlı olarak, kâr daha büyükse, aşağı doğru hareket eder, başka bir düzen için kâr büyür, yer değiştirirler.

Şu sütunlardan birinin başlığına tıklayın: Sembol, Bilet, Zaman

 
Vladimir Karputov :

Şu sütunlardan birinin başlığına tıklayın: Sembol, Bilet, Zaman

Sadece böyle bir sonuç.
 
Сергей Проценко :
Sadece böyle bir sonuç.

Şu sütunlardan birinin başlığına tıklayın: Sembol, Bilet, Zaman.

SOL TUŞ ile tıklayın. BAŞLIK ÜZERİNE TIKLAYINIZ.

Neden: