Hatalar, hatalar, sorular - sayfa 215

 

Editör'e seçilen parçayı yazdırma yeteneği kazandırmak yine de mümkün mü? Bu radyo düğmesi şu anda devre dışı.

Tabii ki önemsiz, ama özellikle listeler 50 sayfa uzunluğunda olduğunda tatsız.

 

Görünüşe göre sunucu kapalı ... dünden beri

 

Genetik algoritma bir yerlerde kayboldu... 360 Yapın

Soru kaldırıldı! Orada değil arandı!

 

SİPARİŞLİ bir anlaşma listesi döndürmek için HistorySelectByPosition() 'a güvenebilir miyiz?

 ulong CExpertAdvisor::GetDealByOrder( ulong order) // получение тикета сделки по тикету ордера
  {
   PositionSelect (m_smb);
   HistorySelectByPosition ( PositionGetInteger (POSITION_IDENTIFIER));
   uint total= HistoryDealsTotal ();
//   for(uint i=0; i<total; i++)
   for ( uint i=total- 1 ; i>= 0 ; i--)
     {
       ulong deal= HistoryDealGetTicket (i);
       if (order== HistoryDealGetInteger (deal, DEAL_ORDER ))
         return (deal);                             // запомнили тикет сделки 
     }
   return ( 0 );
  } 

O zaman BURADA numaralandırmaya gerek kalmazdı. Mümkün değilse, numaralandırmaya sondan başlanabilir... (Test cihazındaki işlemlerin sipariş edildiğini fark ettim).

 

Sevgili baylar geliştiriciler ve programcılar! Yardıma ihtiyacınız var! Belki ilk değilim, ama yine de ...

1. "düğme" nesnesine tıklandığında (örneğin) kesintiye uğrayacak bir döngüyü nasıl organize edebilirim. OnChartEvent işlevini aynı döngüden çağrılmaya zorlamanın işe yaramayacağını anlıyorum? Eğer öyleyse, o zaman belki bunu aşmanın bazı yolları vardır, aksi halde kafamı çoktan kırdım.

Döngü çalışırken sistem değişkenleri güncellenmez, yani. grafik periyodunun değişimini (en azından) kullanmak imkansızdır. Döngü OnChartEvent kontrolü ile organize edilmişse, bu fonksiyonun çalışması için sürekli olarak grafikle bir şeyler yapmak gerekir - bu da bir seçenek değildir.

2. Çizelge penceresindeki grafiği, yalnızca tutamaçlarla değil, programlı olarak taşımak mümkün müdür? ChartNavigate ya çalışmıyor ya da başka bir şey için tasarlandı ya da bunun nasıl çalıştığını çözemedim.

Şimdiden teşekkür ederim.

ps Program metninde kendi fonksiyonlarını ve değişkenlerini vurgulamak mümkün müdür?

 
KffAlex :

1. "düğme" nesnesine tıklandığında (örneğin) kesintiye uğrayacak bir döngüyü nasıl organize edebilirim. OnChartEvent işlevini aynı döngüden çağrılmaya zorlamanın işe yaramayacağını anlıyorum? Eğer öyleyse, o zaman belki bunu aşmanın bazı yolları vardır, aksi halde kafamı çoktan kırdım.

Düğme nesnesinin durumunu kontrol edin.
 
KffAlex :

ChartNavigate ya çalışmıyor ya da başka bir şey için tasarlandı ya da bunun nasıl çalıştığını çözemedim.

İşlevi çağırdıktan sonra ChartRedraw'ı deneyin ve grafikte otomatik kaydırmanın devre dışı bırakıldığından emin olun...
Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Основы языка / Функции / Вызов функции - Документация по MQL5
 

MT5'i özel bir uzak sunucuya yerleştirin. Periyodik olarak, kısa süreli bir bağlantı kesilmesi durumunda terminalin bazı sunuculara yeniden bağlandığından emin olmalısınız. Hangi sunucuyu kullanmak istediğinizi fare ile belirtmelisiniz, aksi takdirde tüm işlemler "donar". Örneğin 5 dakika boyunca bağlı olmadığında terminalin otomatik olarak yeniden bağlanmasını nasıl sağlayabilirim?

 
EvgeTrofi :

Özel bir uzak sunucuya MT5 yüklendi. Periyodik olarak, kısa bir bağlantı kesintisi durumunda terminalin bir sunucuya yeniden bağlandığından emin olmalısınız. Hangi sunucuyu kullanmak istediğinizi fare ile belirtmelisiniz, aksi takdirde tüm işlemler "donar". Örneğin 5 dakika boyunca bağlı olmadığında terminalin otomatik olarak yeniden bağlanmasını nasıl sağlayabilirim?

Bu otomatik olarak gerçekleşmelidir.

Terminalin kendisi bağlantı kaybını belirler ve otomatik olarak geri yükler (bu fırsat ortaya çıktığında).

Bu olmazsa - hizmet masasına sorunun tam açıklamasını içeren bir istek yazın ve günlükleri eklemeyi unutmayın.

 

Çağrı yığını taşması sorunuyla karşı karşıya kaldı (bence).

Nesnelerden birinde bir yöntem çağırdıktan sonra aşağıdaki örneğe bakın. Kod basitleştirilmiştir, yalnızca özü. CClass1 sınıfı temeldir ve list1 listesinde bu sınıfın soyundan gelen farklı nesneler vardır ve bunların init işlevlerinin farklı uygulamaları vardır. Bu nedenle, init işlevinin benzer bir liste üzerinde yinelendiği bir sınıfta (başka bir deyişle, iç içe geçmiş bir arabirimin başlatılması, bir panelde bir panel) bir satırda init'ten döndükten sonra

   Print(t.name);

bir hata oluşur

2010.12.02 00:21:00 test1 (EURUSD,H1) 'Container.mqh' içinde geçersiz işaretçi erişimi (74,10)

 for (CClass1* t = list1.GetLastNode(); t != NULL ; t = list1.GetPrevNode() ) {
   t.init(); //после выхода отсюда t-мертвый указатель
   Print(t.name); 
}

Onlar. işaretçi t öldü.

Hata ayıklarken böyle bir hata olmaz, yöntemi çağırdıktan sonra işaretçi "canlı" olur, iç içe arayüzler oluşturulur ve Expert Advisor çalışmaya devam eder.

Hatayı aşmanın tek yolu şudur:

savePoint = t;
t.init();
t = savePoint;
#property yığın boyutunu belirtmek hiçbir şey elde etmedi.