Destroy () prosedürünün gövdesine girmek, onun (prosedür) doğru çalıştığı anlamına gelmez.
Nesnenin asıl imhasından sonra, ona yeni grafikler ekleyemedik, ancak eklendiler!
Hit konusunda katılıyorum. Ama yine de... Her şeyden önce, voidCGrafic::Destroy() . Onlar. yöntemin bize hiçbir borcu yok gibi görünüyor ... İkinci olarak, bir çek eklemek programcının işi olabilir mi? Güvenlik Konseyi'nin tüm görevlerini keskinleştiremezsiniz ...
Hit konusunda katılıyorum. Ama yine de... Her şeyden önce, voidCGrafic::Destroy() . Onlar. yöntemin bize hiçbir borcu yok gibi görünüyor ... İkinci olarak, bir çek eklemek programcının işi olabilir mi? Güvenlik Konseyi'nin tüm görevlerini keskinleştiremezsiniz ...
Grafikler oluşturuyorum ve CGraphic kullanarak metin görüntülüyorum. Danışmanın bir örneği çalışıyorsa, her şey yolunda demektir. Ve aynı Expert Advisor'ı farklı grafiklerde çalıştırırsanız, bilgilerin her zaman o anda ekranda olan grafikte görüntülendiği izlenimini edinirsiniz. Ve Oluştur yönteminde belirtilen grafikte değil. Sorunu göstermek için EA kodu:
#include <Graphics\Graphic.mqh>
CGraphic Graphic; // Для вывода графика.long ChartId;
intOnInit ()
{
ChartId= ID_Grafika_S_Expertom(); // Узнаем Id графика на котором запущен советник.
Graphic.Create(ChartId, "CPrecieIdealnayFast " , 0 , 10 , 30 , 500 , 500 );
Print("OnInit ",Symbol()," ChartId=",ChartId);
EventSetMillisecondTimer ( 1000 );
return ( INIT_SUCCEEDED );
}
voidOnTimer ()
{
string Str;
StringConcatenate (Str,ChartId, " " , Symbol (), " " , TimeLocal ());
Graphic.FontSet( "Arial" , 20 );
Graphic.TextAdd( 20 , 30 , Str, ColorToARGB ( clrRed ), TA_LEFT | TA_TOP );
Graphic.Update();
Graphic.Redraw( true );
}
voidOnDeinit ( constint Reanson )
{
Graphic.Destroy();
}
long ID_Grafika_S_Expertom()
{
string MaskaNameExpert= MQLInfoString ( MQL_PROGRAM_NAME );
int SekyndNaGrafikeSTekygemExpertom= PeriodSeconds ();
string SimvolExpert= Symbol ();
//--- 1. Настраиваемся на первый график. Если не получилось возращаем советник не найден. //--- В цикле.//--- 2. Получаем Имя эксперта.//--- --- 2.1 Если не удалось получить имя эксперта смотрим следующий график.//--- --- --- 2.2 Если не удалось получить слеюущий график выходим из цикла.//--- 3.A Если на графике есть эксперт И в его названии есть маска: Запоминаем Id и выходим из цикла.//--- 3.B Если Нет эксперта или НЕ нашли смотрим следующий график. //--- --- 3.B.A Если не удалось получить слеюущий график выходим из цикла. //--- --- 3.B.B Если Удалось получить слеюущий график ищем в начало цикла. long ID_Chart= - 1 ;
string NameExpert= "" ;
long IskomoeIdChart= - 1 ;
int LimitChatr= 1000 ; // Наверняка ведь не 1000 графиков.int i= 0 ; // Cчетчик графиков//--- 1. Настраиваемся на первый график. Если не получилось возращаем советник не найден.
ID_Chart= ChartFirst ();
if ( ID_Chart < 0 ) return - 1 ;
string Simvol;
int KolichestvoSekynd;
while ( i < LimitChatr )
{
//--- 2. Получаем Имя эксперта.
NameExpert= ChartGetString ( ID_Chart, CHART_EXPERT_NAME );
Simvol= ChartSymbol (ID_Chart);
KolichestvoSekynd= PeriodSeconds ( ChartPeriod (ID_Chart) );
// Print("На графике ",ChartSymbol(ID_Chart)," Period=",ChartPeriod(ID_Chart)," Расположен советник (",NameExpert,")");//--- 3.A Если на графике есть эксперт И в его названии есть маска: Запоминаем Id и выходим из цикла. if ( NameExpert != "" &&
StringFind (NameExpert,MaskaNameExpert) > - 1 &&
Simvol == SimvolExpert &&
KolichestvoSekynd == SekyndNaGrafikeSTekygemExpertom )
{
// Print("НАШЛИ На графике ",ChartSymbol(ID_Chart)," Period=",ChartPeriod(ID_Chart)," Расположен советник (",NameExpert,")");
IskomoeIdChart= ID_Chart; break ;
}
//--- 3.B Если Нет эксперта или НЕ нашли смотрим следующий график. else
{
// Print("Не удалось найти маску (",MaskaNameExpert," в названии эксперта (",NameExpert,") ",ChartSymbol(ID_Chart)," Period=",ChartPeriod(ID_Chart)," ID=",ID_Chart);
ID_Chart= ChartNext (ID_Chart);
i++;
//--- --- 3.B.A Если не удалось получить слеюущий график выходим из цикла. if ( ID_Chart < 0 ) { /*Print("Закончились графики.");*/break ;}
//--- --- 3.B.B Если Удалось получить слеюущий график ищем в начало цикла. else { /* Print("Получили новое Id графика ",ChartSymbol(ID_Chart)," Period=",ChartPeriod(ID_Chart)," ID=",ID_Chart);*/continue ;}
}
}
return IskomoeIdChart;
}
Danışman 1 çalışırsa her şey yolunda demektir
Ancak ikinci Expert Advisor'ı başka bir çizelgede açarsanız, ilk çizelge ilk Expert Advisor'dan ve ikincisinden aynı anda bilgi alacaktır.
yani titreme başlar. çünkü bir kerede aynı çizelgeye birkaç Uzman Danışman yazıyorum. Başlatma işlevinde olmasına rağmen, her Uzman Danışman başlatıldığı grafiğin kimliğini alır. Ardından Create hemen çağrılır.
При исследовании и изучении закономерностей важную роль играет визуальное отображение с помощью графиков. В популярных среди научного сообщества языках программирования, таких как R и Python, для визуализации предназначена специальная функция plot. С её помощью можно рисовать линии, точечные распределения и гистограммы для наглядного представления закономерностей. В MQL5 вы можете делать всё то же самое с помощью класса CGraphics.
Grafikler oluşturuyorum ve CGraphic kullanarak metin görüntülüyorum. Danışmanın bir örneği çalışıyorsa, her şey yolunda demektir. Ve aynı Expert Advisor'ı farklı grafiklerde çalıştırırsanız, bilgilerin her zaman o anda ekranda olan grafikte görüntülendiği izlenimini edinirsiniz. Ve Create yönteminde belirtilen grafikte değil. Sorunu göstermek için EA kodu:
Danışman 1 çalışırsa her şey yolunda demektir
Ancak ikinci Expert Advisor'ı başka bir çizelgede açarsanız, ilk çizelge ilk Expert Advisor'dan ve ikincisinden aynı anda bilgi alacaktır.
yani titreme başlar. çünkü bir kerede aynı çizelgeye birkaç Uzman Danışman yazıyorum. Başlatma işlevinde olmasına rağmen, her Uzman Danışman başlatıldığı grafiğin kimliğini alır. Ardından Create hemen çağrılır.
Sorunun ne olduğunu anlamama yardım et?
Nesne adına ChartId eklenmemeli mi? Bir işlevin içine eklenip eklenmediğini hatırlamıyorum.
MQL5.com web sitesine giriş yapmak için çerezlerin kullanımına izin vermelisiniz.
Lütfen tarayıcınızda gerekli ayarı etkinleştirin, aksi takdirde giriş yapamazsınız.
Hesabınıza giriş yaptınız. İki faktörlü kimlik doğrulama devre dışı bırakıldı. Yeniden kurup yeni bir QR kodu tarayın veya iki faktörlü kimlik doğrulama devre dışıyken devam edin.
CGrafic::Destroy() - Çalışmıyor!
CGrafic::Destroy() - Çalışmıyor!
Nasıl belirlediniz? Semptomlar neler?
Nasıl belirlediniz? Semptomlar neler?
Sonuçta, oynatma kodu eklenmiştir :)
Evet ve resim Destroy () grafiklerinin eklendikten sonra olduğunu gösteriyor
ön ekli
_existsSonuçta, oynatma kodu eklenmiştir :)
Evet ve resim Destroy () grafiklerinin eklendiğini gösteriyor
ön ekli
Soru özellikle CGrafic::Destroy() ile ilgiliydi. Çalışıyor - Hata Ayıklayıcı'da kontrol ettim ... Belki kodunuzda bir sorun var?
Soru özellikle CGrafic::Destroy() ile ilgiliydi. Çalışıyor - Hata Ayıklayıcı'da kontrol ettim ... Belki kodunuzda bir sorun var?
Destroy () prosedürünün gövdesine girmek, onun (prosedür) doğru çalıştığı anlamına gelmez.
Nesnenin asıl imhasından sonra, ona yeni grafikler ekleyemedik, ancak eklendiler!
Destroy () prosedürünün gövdesine girmek, onun (prosedür) doğru çalıştığı anlamına gelmez.
Nesnenin asıl imhasından sonra, ona yeni grafikler ekleyemedik, ancak eklendiler!
Hit konusunda katılıyorum. Ama yine de... Her şeyden önce, void CGrafic::Destroy() . Onlar. yöntemin bize hiçbir borcu yok gibi görünüyor ... İkinci olarak, bir çek eklemek programcının işi olabilir mi? Güvenlik Konseyi'nin tüm görevlerini keskinleştiremezsiniz ...
Hit konusunda katılıyorum. Ama yine de... Her şeyden önce, void CGrafic::Destroy() . Onlar. yöntemin bize hiçbir borcu yok gibi görünüyor ... İkinci olarak, bir çek eklemek programcının işi olabilir mi? Güvenlik Konseyi'nin tüm görevlerini keskinleştiremezsiniz ...
Ayrıca, Destroy'u yeniden düzenledim
Ve tüm aynı grafikler eklendi!
Grafikler oluşturuyorum ve CGraphic kullanarak metin görüntülüyorum. Danışmanın bir örneği çalışıyorsa, her şey yolunda demektir. Ve aynı Expert Advisor'ı farklı grafiklerde çalıştırırsanız, bilgilerin her zaman o anda ekranda olan grafikte görüntülendiği izlenimini edinirsiniz. Ve Oluştur yönteminde belirtilen grafikte değil. Sorunu göstermek için EA kodu:
Danışman 1 çalışırsa her şey yolunda demektir
Ancak ikinci Expert Advisor'ı başka bir çizelgede açarsanız, ilk çizelge ilk Expert Advisor'dan ve ikincisinden aynı anda bilgi alacaktır.
yani titreme başlar. çünkü bir kerede aynı çizelgeye birkaç Uzman Danışman yazıyorum. Başlatma işlevinde olmasına rağmen, her Uzman Danışman başlatıldığı grafiğin kimliğini alır. Ardından Create hemen çağrılır.
Sorunun ne olduğunu anlamama yardım et?
Grafikler oluşturuyorum ve CGraphic kullanarak metin görüntülüyorum. Danışmanın bir örneği çalışıyorsa, her şey yolunda demektir. Ve aynı Expert Advisor'ı farklı grafiklerde çalıştırırsanız, bilgilerin her zaman o anda ekranda olan grafikte görüntülendiği izlenimini edinirsiniz. Ve Create yönteminde belirtilen grafikte değil. Sorunu göstermek için EA kodu:
Danışman 1 çalışırsa her şey yolunda demektir
Ancak ikinci Expert Advisor'ı başka bir çizelgede açarsanız, ilk çizelge ilk Expert Advisor'dan ve ikincisinden aynı anda bilgi alacaktır.
yani titreme başlar. çünkü bir kerede aynı çizelgeye birkaç Uzman Danışman yazıyorum. Başlatma işlevinde olmasına rağmen, her Uzman Danışman başlatıldığı grafiğin kimliğini alır. Ardından Create hemen çağrılır.
Sorunun ne olduğunu anlamama yardım et?
Nesne adına ChartId eklenmemeli mi? Bir işlevin içine eklenip eklenmediğini hatırlamıyorum.