Hatalar, hatalar, sorular - sayfa 2391

 
Kisolen :
MT5'te Windows 10'un bekleme moduna girerken (hangi ev ama modern ve interprise ltsb 1607 (oldukça eski)) MT5'te, danışman grafiğe eklenmeyi bırakır, işlemler yapılmaz, ancak bazı işlevler çalışmaya devam et (çalışan, kendi kendine yazılmış bir grafik penceresinin çıktısı). Bu bir MT hatası mı yoksa EA ile ilgili bir sorun mu? Teşekkür ederim.

Bekleme modu - bu neredeyse bilgisayar kapalıdır. Tüm programlar durdurulur.

 
Bir önceki yoruma verdiğiniz cevap için teşekkürler. Bir soru daha var. MT5. Grafikte "ızgara" olmadan bir arayüz şablonu yapıyorum, varsayılan olarak açılması için bu şablonu "Varsayılan" olarak adlandırıyorum, her şey MT'de çalışıyor, ancak danışmanın görselleştirme penceresinde çalışmıyor. Teşekkür ederim.
 
Kisolen :
Bir önceki yoruma verdiğiniz cevap için teşekkürler. Bir soru daha var. MT5. Grafikte "ızgara" olmadan bir arayüz şablonu yapıyorum, varsayılan olarak açılması için bu şablonu "Varsayılan" olarak adlandırıyorum, her şey MT'de çalışıyor, ancak danışmanın görselleştirme penceresinde çalışmıyor. Teşekkür ederim.

"default.tpl" grafik şablonu, terminalde yeni bir grafik açtığınızda uygulanır ve strateji test cihazını görsel modda çalıştırdığınızda "tester.tpl" grafik şablonu uygulanır.

Yardım: Şablonlar ve profiller - Ek özellikler - Teklif çizelgeleri, teknik ve temel analiz

 

Merhaba.

Geliştiricilerin dikkatini MT5'te (2006 derlemesi) aşağıdaki hataya çekiyorum. CHART_WIDTH_IN_BARS veya CHART_VISIBLE_BARS özellik tanımlayıcılarıyla ChartGetInteger işlevi çağrılırken, bu çağrı sırasında aynı simgeye sahip ancak daha küçük bir zaman dilimine sahip başka bir pencere etkinse, işlev yanlış değerler döndürür. Maksimum grafik ölçeklemesinde (5), döndürülen değer gerçek değerden 5'tir. Ölçekleme 4 ise, döndürülen değer 10'dan azdır. Ölçekleme 3 ise, sırasıyla 20, vb. . Aksaklığı yeniden oluşturmak için test göstergesinin kodu aşağıdadır. Bu arızayı D1 TF ve RTS-3.19 cihazında kararlı bir şekilde yeniden oluşturdum. Ayrıca netlik için hatayı gösteren bir video kaydettim. Yapı 274'te ( geçmişe bakılırsa ), benzer bir aksaklık zaten düzeltildi, ancak görünüşe göre tamamen değil. :)

 //+------------------------------------------------------------------+
//|                                                     DBS_Bug2.mq5 |
//|                                            Copyright © 2019, DBS |
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 1                                          //количество индикаторных буферов
#property indicator_plots    1                                          //количество графических построений
//+------------------------------------------------------------------+ 
//| Функция инициализации индикатора                                 | 
//+------------------------------------------------------------------+
int OnInit ()
  {
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+ 
//| Функция расчёта индикатора                                       | 
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,                                 //количество истории в барах на текущем тике
                 const int prev_calculated,                             //количество истории в барах на предыдущем тике
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[])
  {
//---Debug
   int chart_bars= int ( ChartGetInteger ( 0 , CHART_WIDTH_IN_BARS ));     //к-во баров на экране
   int vis_bars= int ( ChartGetInteger ( 0 , CHART_VISIBLE_BARS ));         //к-во баров видимых на экране
   PrintFormat ( "%s: Debug #2! rates_total=%i chart_bars=%i vis_bars=%i" , __FUNCTION__ ,rates_total,chart_bars,vis_bars);
   return (rates_total);
  }
//+------------------------------------------------------------------+

Çoğu zaman bu işlev için daha da komik bir dönüş değeri elde ettim (özellikle bir terminal yüklerken). Maksimum grafik ölçeklendirmesinde (5), dönüş değeri =5 (grafikteki gerçek çubuk sayısından bağımsız olarak). Ölçekleme 4 ise, =10 değerini döndürün. Ölçeklendirme 3 ise, sırasıyla =20, vb. Maalesef bu aksaklığı videoya çekmek mümkün olmadı. Ama onun yüzünden, göstergemin neden D1'de düzgün çalışmadığını anlamak için bütün günü öldürdüm ama diğer zaman dilimlerinde iyi çalışıyor.


PS Günlüğü aynı tablodan (RTS-3.19,D1) birkaç saat içinde (bağlantı kesildikten sonra). Aslında, grafikte 55 çubuk görüntüleniyor. Ve günlükteki MT5, ekrana sadece 5'inin sığdığını ve hiç görünür olmadığını söylüyor :) Ekran görüntüsü

 2019.02 . 24 21 : 27 : 09.692 DBS_Volume (RTS- 3.19 ,D1)        DBS Volume ( VOLUME_REAL ): SetVolScale: Debug # 1 ! max_vol_idx= 3 max_vol= 402550 time= 2019.02 . 19 00 : 00 rates_total= 220 chart_bars= 5 vis_bars= 0
MetaTrader 5 Client Terminal build 274
MetaTrader 5 Client Terminal build 274
  • 2010.05.15
  • MetaQuotes Software Corp.
  • www.metatrader5.com
Terminal: Исправлено отображение истории торговли на чарте. Terminal: Исправлена ошибка в навигации чарта (при отключеном сдвиге и автоскроле). Terminal: Исправления по сообщениям на форуме и крешлогам. Terminal: В файл помощи добавлено описание Тестера Стратегий MetaTester: Исправлена ошибка в загрузке параметров тестирования при смене...
 
Dmitriy Burlachenko :

Merhaba geliştiriciler.

MQL5 standart kitaplık yardımında bir WindowHandle işlevi vardır, ancak bunu kullanırken derleyici 'WindowHandle' - işlev tanımlanmadı" diyor. Soru: yardımı veya derleyiciyi kim rahatsız ediyor? :)

Bu SB'dir.

 int CChart:: WindowHandle ( void ) const ;
 
Dmitriy Burlachenko :

Merhaba geliştiriciler.

MQL5 standart kitaplık yardımında bir WindowHandle işlevi vardır, ancak bunu kullanırken derleyici 'WindowHandle' - işlev tanımlanmadı" diyor. Soru: yardımı veya derleyiciyi kim rahatsız ediyor? :)


Yardımı yanlış kullanıyorsunuz.

Yakından Görünüş: MQL5 Referansı Standart Kitaplık Fiyat çizelgeleri Pencere tutacağı

Bir adım geri atın ve Fiyat Grafikleri bölümünü okuyun


Katma:

Kullanım örneği ( önce Insert yöntemini uygulamanız gerektiğini unutmayın) ve ancak ondan sonra nesneyle çalışın

 //+------------------------------------------------------------------+
//|                       Gets window handle of the chart (HWND).mq5 |
//|                              Copyright © 2019, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2019, Vladimir Karputov"
#property link        "http://wmua.ru/slesar/"
#property version    "1.00"
#property description "Gets window handle of the chart (HWND)"
//---
#include <Charts\Chart.mqh>
CChart   m_chart;                       // CChart object
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {

   m_chart. Attach (); // assigns the current chart to the class instance

   Print ( "CChart.WindowHandle: " ,m_chart. WindowHandle ());
   Print ( "CChart.ChartId: " ,m_chart.ChartId());
  }
//+------------------------------------------------------------------+

Sonuç:

 2019.02 . 25 16 : 01 : 32.165 Gets window handle of the chart (HWND) (GBPUSD,H1)      CChart. WindowHandle : 13830128
2019.02 . 25 16 : 01 : 32.165 Gets window handle of the chart (HWND) (GBPUSD,H1)      CChart.ChartId: 131571247244850547
 
Dmitriy Burlachenko :

Merhaba geliştiriciler.

MQL5 standart kitaplık yardımında bir WindowHandle işlevi vardır, ancak bunu kullanırken derleyici 'WindowHandle' - işlev tanımlanmadı" diyor. Soru: yardımı veya derleyiciyi kim rahatsız ediyor? :)

kullanmak:

 ChartGetInteger ( 0 , CHART_WINDOW_HANDLE , 0 );
 
Vladimir Karputov :

Yardımı yanlış kullanıyorsunuz.

Yakından Görünüş: MQL5 Referansı Standart Kitaplık Fiyat çizelgeleri Pencere tutacağı

Bir adım geri atın ve Fiyat Grafikleri bölümünü okuyun


Katma:

Kullanım örneği ( önce Insert yöntemini uygulamanız gerektiğini unutmayın) ve ancak ondan sonra nesneyle çalışın

Sonuç:

Teşekkür ederim.

 
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2019.02.21
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 

MQL5 ME 2006

 #property strict

class A
 { 
public :
   int f();
 };

void OnStart ()
  {
   A a;
   a.f();
  }

MQL4'te olması gerektiği gibi aynı kod " 'f' fonksiyonunun bir gövdesi olmalıdır"