Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 1317

 
Vladimir Karputov :

Hataları görelim:

1. Her zaman grafik sembolünü açıkça ayarlayın (evet, belgelere güvenebilirsiniz, ancak HER ZAMAN açıkça ayarlamak daha iyidir)

2. Dize bir anlam ifade etmiyor - çünkü preff+"hhh" asla Symbol()'e eşit olmayacak


Eklendi: Bu yaklaşıma sahip olmak daha iyidir - grafikte her zaman bir satır vardır, grafiği değiştirirken satırın fiyatını değiştirmeniz yeterlidir.

Açıkça bir uyarı veriyorsa: 'dize'den 'sayıya' örtülü dönüşüm

Sorunun özü, çizginin oluşturulduğu yerde görüntülenmemesidir.

255 fiyatındaki bir enstrümanda oluşturursam, mevcut fiyatı 310 olan başka bir enstrüman yüklerken neden 255 fiyatında görüntüleniyor?

Lütfen bana satırın nasıl kaydedildiğini ve nerede oluşturulduğunu göstermesini söyleyin.
 
serg_V777 :

Açıkça bir uyarı veriyorsa: 'dize'den 'sayıya' örtülü dönüşüm

Sorunun özü, çizginin oluşturulduğu yerde görüntülenmemesidir.

255 fiyatındaki bir enstrümanda oluşturursam, mevcut fiyatı 310 olan başka bir enstrüman yüklerken neden 255 fiyatında görüntüleniyor?

Lütfen bana satırın nasıl kaydedildiğini ve nerede oluşturulduğunu göstermesini söyleyin.

Bir kod parçası gösterdin - sana parçanı verdim. Değişkenleri bildirin ve hata olmayacak.

Satır mantığını anlamıyorum. Eylemlerinizi daha ayrıntılı olarak açıklamaya çalışın - ve en önemlisi NEDEN bunu yapın.


Kodunuzda, neden ChartSymbol olduğunu hiç anlamıyorum

 
Vladimir Karputov :

Bir kod parçacığı gösterdin - sana parçacığını verdim. Değişkenleri bildirin ve hata olmayacak.

Satır mantığını anlamıyorum. Eylemlerinizi daha ayrıntılı olarak açıklamaya çalışın - ve en önemlisi NEDEN bunu yapın.


Kodunuzda, neden ChartSymbol olduğunu hiç anlamıyorum

 void OnChartEvent ( const int id,           // идентификатор события   
                   const long & lparam,     // параметр события типа long 
                   const double & dparam,   // параметр события типа double 
                   const string & sparam) { // параметр события типа string 
 
 
  preff= ChartSymbol ( NULL );
  price= SymbolInfoDouble ( Symbol (), SYMBOL_BIDLOW ); 
 if (id == CHARTEVENT_OBJECT_CLICK && sparam == "dz_draw" ) // Нажатие кнопки   
  {   
   ObjectCreate ( 0 ,preff+ "hhh" , OBJ_HLINE , 0 , 0 ,price) ;    
 ObjectSetInteger ( 0 ,preff+ "hhh" , OBJPROP_COLOR , clrBlack ); 
   ObjectSetInteger ( 0 ,preff+ "hhh" , OBJPROP_STYLE , 0 ); 
   ObjectSetInteger ( 0 ,preff+ "hhh" , OBJPROP_WIDTH , 3 ); 
   ObjectSetInteger ( 0 ,preff+ "hhh" , OBJPROP_BACK , false ); 
   ObjectSetInteger ( 0 ,preff+ "hhh" , OBJPROP_SELECTABLE , true ); 
   ObjectSetInteger ( 0 ,preff+ "hhh" , OBJPROP_SELECTED , true ); 
   ObjectSetInteger ( 0 , "dz_draw"    , OBJPROP_STATE , false );
   }
}

Bu yüzden Gazp grafiğinde 277 fiyatına bir çizgi oluşturuyorum...

Aynı pencerede Sber olarak değiştirilirken, Gazp'ta 277 tarafından oluşturulan çizgi görüntülenir.

Sber'de bir 310 satırı oluşturursam, grafikte iki satır alırım - biri doğru (gerektiğinde ve gerektiği için oluşturulur) ve ikincisi yanlış - bu tablodan değil ....

Enstrüman değiştirip 200-400 fiyat aralığında çizgiler oluşturup Gazp grafiğine dönerek hem insanlar hem de atlar birbirine karışıyor :),

ama buna ihtiyacımız var, ihtiyacınız olan yerde ve ne kadar ihtiyacınız varsa yaratılan tek satır (belki birkaç yatay çizgi daha) .

 
serg_V777 :

Bu yüzden Gazp grafiğinde 277 fiyatına bir çizgi oluşturuyorum...

Aynı pencerede Sber olarak değiştirilirken, Gazp'ta 277 tarafından oluşturulan çizgi görüntülenir.

Sber'de de bir 310 satırı oluşturursam, grafikte iki satır alıyorum - biri doğru (gerektiğinde ve neye göre oluşturulur) ve ikincisi yanlış - bu tablodan değil ....

Enstrüman değiştirip 200-400 fiyat aralığında çizgiler oluşturup Gazp grafiğine dönerek hem insanlar hem de atlar birbirine karışıyor :),

ama buna ihtiyacımız var, ihtiyacınız olan yerde ve ne kadar ihtiyacınız varsa yaratılan tek satır (belki birkaç yatay çizgi daha) .

 ChartSymbol

Yardım okumak. Yardımdan sonra bu operatörü kullanmayın - buna ihtiyacınız yok.


Böyle bir algoritmaya ihtiyacınız var: her sembol için fiyatı kaydetmeniz gerekiyor. Fiyat, terminalin global değişkenlerinde saklanır (global değişkenin adı sadece sembolün adıdır). Ardından, 'CHARTEVENT_OBJECT_CHANGE' ve ' CHARTEVENT_OBJECT_DRAG ' - ve global değişkenin fiyatını yeniden kaydetmeniz gerekir.

Hala birçok nüansı çözmeniz gerekiyor: örneğin, global bir değişken var ve grafikte çizgi yok ...

 
User_mt5 :
Çok teşekkürler! Bana gerçekten yardım ettin!

Ve elbette, teknoloji listesinin ortasında değilse, bu işlev başka nerede olabilir. göstergeler..)

Ve herhangi bir şekilde yernichestvo olmadan?

Belgeleri hiç okumamış gibisin... Ama sorulan sorulara evrenin göbeğiymişsin gibi cevap veriyorsun. ... Sadece okuma yazma bilmeyen ve çaresiz bir göbek ...

 
Vitaly Muzichenko :

Teşekkür ederim!

Herhangi bir şekilde standart yollarla, ortaya çıkıyor.

Hiçbir şekilde sistem DLL'leri kullanılmadan.

Bu amaçla bütün bir kütüphane yayınladım )

5-ki için ayrı ayrı.
CDir (MT4) - класс для получения оглавления каталога
CDir (MT4) - класс для получения оглавления каталога
  • www.mql5.com
Класс CDir предназначен для получения сведений о файлах и папках вне "песочницы" MQL4 подобно команде MS-DOS Dir. Задействован вызов системных DLL, поэтому следует разрешить их использование.
 
Vladimir Karputov :

Yardım okumak. Yardımdan sonra bu operatörü kullanmayın - buna ihtiyacınız yok.


Böyle bir algoritmaya ihtiyacınız var: her sembol için fiyatı kaydetmeniz gerekiyor. Fiyat, terminalin global değişkenlerinde saklanır (global değişkenin adı sadece sembolün adıdır). Ardından, 'CHARTEVENT_OBJECT_CHANGE' ve ' CHARTEVENT_OBJECT_DRAG ' - ve global değişkenin fiyatını yeniden kaydetmeniz gerekir.

Hala birçok nüansı çözmeniz gerekiyor: örneğin, global bir değişken var ve grafikte çizgi yok ...

Algoritma için teşekkürler.

Soru, neden böyle bir kodla satırın bulunduğu ve renginin bozulduğudur?,

 if (preff+ "hhh" == ChartSymbol ( 0 ) ){
ObjectSetInteger ( 0 ,preff+ "hhh" , OBJPROP_COLOR , clrNONE ); }

ve karanlık ormana gitmek için ne gerekiyorsa yapın ....

 
Mikhail Dovbakh :

Hiçbir şekilde sistem DLL'lerini kullanmadan.

Bu amaçla bütün bir kütüphane yayınladım )

5-ki için ayrı ayrı.

Harika, işte ihtiyacım olan şey!

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

Ve herhangi bir şekilde yernichestvo olmadan?

Belgeleri hiç okumamış gibisin... Ama sorulan sorulara evrenin göbeğiymişsin gibi cevap veriyorsun. ... Sadece okuma yazma bilmeyen ve çaresiz bir göbek ...

Kaba olmak yerine, Allah aşkına faydalı bir şey yapmış olursun!

Ve cevap verme ve tepki verme zahmetine girme! Fikriniz, ne yazık ki, benim için ilginç değil!)

 

Soruyu kopyalayacağım, yoksa fark etmemiş olabilirler))) Bunların tüm yöntemlerini kullanmak için lütfen sınıfınızı hangi sınıftan devralacağımı söyleyin.

kendi içinde nesneler yaratmadan , kendi sınıfları içinde ticaret sınıfları?



Neden: