Hatalar, hatalar, sorular - sayfa 1545

 
Alexey Volchanskiy :
Youtube, şiddet, porno ve <15 mb gibi bir reklam yoksa avi'deki tüm dosyaları, gelişmiş modunuz yoksa kabul eder. Henüz reklam olmamalıdır, dahil. ve imzada
Size PM olarak gönderildi. Yapamam.
 
Karputov Vladimir :

İşte teknik bir forum ve her açıklama onaylanmalıdır:

  • terminal ve işletim sistemi hakkında bilgi (terminali yeniden başlattıktan sonra "Günlük" sekmesindeki ilk üç satır)
  • kod
  • yaptıklarının ve aldıklarının ayrıntılı bir açıklaması.

Gördüklerini ayrıntılı bir şekilde anlattı. Geliştiriciler bana hiçbir şey borçlu değil ve ben de onlara hiçbir şey borçlu değilim. İlgilenenler - servis masasında konuşalım.

Boş gösterge kodu açıktır.

 
comp :

Göstergenin (standart modda - hata ayıklama değil) nasıl güncellendiğine dair bir video kaydettim, ancak yeni çubuklar çizilmiyor. Göstergeyi grafikten kaldırır kaldırmaz yeni çubuklar hemen belirir.

Hostingler video dosyalarını kabul etmez. Gerekirse servis masasını olduğu gibi atabilirim.

Zipleyin ve gönderin. Zip'ler desteklenir.
 
Lütfen MetaTrader 5'te "Doğru zaman ölçeğini" programlı olarak nasıl etkinleştireceğimi/devre dışı bırakacağımı söyleyin. Nedense bulamıyorum.
CHART_SHOW_DATE_SCALE aracılığıyla - bu, anladığım kadarıyla doğru değil.

Manuel olarak, faiz şu şekilde açılır:

Terminal -> Araçlar -> Ayarlar -> Grafikler -> Kesin Zaman Çizelgesi


Test kodunu aşağıya ekliyorum. İşlem terminalinde "Hassas Zaman Ölçeği"ni manuel olarak etkinleştirirseniz, bu test göstergesi, iki çubuk arasında bağlantı noktaları olan dikey çizgi segmentleri oluşturur. Dahil değilse, çubuklar arasında değil.

Aşağıdaki ekranda, "Doğru zaman çizelgesi" etkinleştirildiğinde, çubuklar arasında test kodunun oluşturduğu çizginin dikey bir parçası vardır.



Beni ilgilendiren ikinci şeyi söylememe izin verin:

Bu kodu test cihazında çalıştırırsanız, çizgiler çubuklar arasındaki bağlantı noktaları tarafından çizilmez . Yukarıdaki ekrandaki gibi değil, aşağıdaki ekrandaki gibi oluşturulurlar.

MetaTrader 5 Sürümü: 5.00 yapı 1295

Burada, birincisine bir cevap vermeden, daha kesin bir şekilde nasıl soru soracağımı henüz bilmiyorum.



P./S.:

Ek açıklamalar:

  • ekran görüntüleri eklendi;
  • burada kullanılmayan değişkeni yerleştirmeden ve ayrı bir pencere görüntülemeden önce, varyasyondan kısaltmalara kalanları kaldırarak test kodunu değiştirdi;
  • Metinde yapılan açıklamaları lacivert yazı tipiyle vurguladım.
Dosyalar:
 

MT5'te CAM terminali OnCalculate çağrısı nasıl yapılır? ChartRedraw yardımcı olmuyor. DLL sürümü uygun değil.

Başka bir deyişle, bir Calculate olayı oluşturmanız gerekir: https://www.mql5.com/en/docs/runtime/event_fire#calculate

Документация по MQL5: Программы MQL5 / События клиентского терминала
Документация по MQL5: Программы MQL5 / События клиентского терминала
  • www.mql5.com
Программы MQL5 / События клиентского терминала - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Sitedeki arama sonuçlarına dayanarak, MQL5 Yardımında MetaTrader 5'te "Hassas Zaman Ölçeği"ni programlı olarak etkinleştirmenize/devre dışı bırakmanıza izin veren bir işlev olmadığı sonucuna vardım.

Son zamanlarda bu konuda bazı değişikliklerin olması nedense benim için ertelendi. Her ne kadar, elbette, yanılıyor olabilirim.

Eğer öyleyse, yukarıdaki ilk sorumu yeniden ifade edeceğim:

"Doğru zaman ölçeğini" programlı olarak etkinleştirme / devre dışı bırakma işlevi olacak mı?


Ve her durumda (tanıtılıp tanıtılmayacağı): test cihazında bu açma/kapama nasıl yapılır?

 
comp :

MT5'te CAM terminali OnCalculate çağrısı nasıl yapılır? ChartRedraw yardımcı olmuyor. DLL sürümü uygun değil.

bulursan bana da söyle)

Bildiğim kadarıyla cevap "hiçbir şekilde".

 
Комбинатор :

Bulursan bana da söyle)

Bildiğim kadarıyla cevap "hiçbir şekilde".

Eğer bir danışmansa, o zaman

 #define PERIOD_NULL - 1

void CallOnCalculates( void )
{
   const string Name = __FUNCTION__ ;

   if ( GlobalVariableCheck (Name))
  {
     const int Value = ( int ) GlobalVariableGet (Name);

     if (Value == PERIOD_NULL)
    {
       GlobalVariableDel (Name);

       ExpertRemove ();
    }
     else if ( ChartSetSymbolPeriod ( 0 , Symbol (), ( ENUM_TIMEFRAMES )Value))
       GlobalVariableSet (Name, PERIOD_NULL);
  }
   else
  {
     const ENUM_TIMEFRAMES period = Period ();

     if ( ChartSetSymbolPeriod ( 0 , Symbol (), (period == PERIOD_MN1 ) ? PERIOD_W1 : PERIOD_MN1 ))
    {
       GlobalVariableTemp (Name);

       GlobalVariableSet (Name, period);
    }
  }

   return ;
}

void OnInit ( void )
{
  CallOnCalculates();

   return ;
}

Ama bir başkası için buna ihtiyacım var ve bu seçenek uygun değil.

 
comp :

Eğer bir danışmansa, o zaman

Bir komut dosyası kullanıyorsanız, grafikteki belirli bir gösterge için OnCalculate'i veya hepsini bir kerede çağırmak (uygulama tamamen farklıdır - zaman çerçevesini değiştirmeden) mümkündür.

Ama bir başkası için buna ihtiyacım var ve bu seçenek uygun değil.

Ancak bu (komut dosyası) seçeneği, göstergenin terminali kendi OnCalculate'i (MT5) çağırmaya zorlaması gerekiyorsa da uygun değildir.

 
Bir gösterge, bir göstergeye ihtiyacım var.