Ayrıca bir çözüm. Ancak bu seçenek artık benim için uygun değil, çünkü bu satıra tıkladıktan sonra ilkini silip başka bir tane oluşturmanız gerekiyor ve böylece imleci de takip ediyor ve üzerine tıkladıktan sonra çıkıyor. şöyle yaptım:
voidOnChartEvent ( constint id, constlong &lparam, constdouble &dparam, conststring &sparam)
{
datetimestatic dt = 0 ;
doublestatic price = 0 ;
intstatic window = 0 ;
stringstatic line_name;
if (id== CHARTEVENT_OBJECT_CLICK ){
}
//Нажатие кнопки создаёт line 1 if (sparam== "button" ){
line_name = "line 1" ;
CreateLine(line_name, clrGreen );
}
//Нажатие на line 1 удаляет line 1 и создаёт line 2 if (sparam== "line 1" ){
ObjectDelete ( 0 ,line_name);
line_name = "line 2" ;
CreateLine(line_name, clrRed );
}
//Нажатие на line 2 удаляет line 2if (sparam== "line 2" ){
ObjectDelete ( 0 ,line_name);
}
}
if ( ObjectGetInteger ( 0 , "button" , OBJPROP_STATE )){
int x = ( int )lparam;
int y = ( int )dparam;
if ( ChartXYToTimePrice ( 0 ,x,y,window,dt,price)){
if (id == CHARTEVENT_MOUSE_MOVE ){
if ( ObjectMove (line_name, 0 , 0 ,price))
ChartRedraw ( ChartID ());
}
}
}
}
Ayrıca bir çözüm. Ancak bu seçenek artık benim için uygun değil, çünkü bu satıra tıkladıktan sonra ilkini silip başka bir tane oluşturmanız gerekiyor ve böylece imleci de takip ediyor ve üzerine tıkladıktan sonra çıkıyor. şöyle yaptım:
voidOnChartEvent ( constint id, constlong &lparam, constdouble &dparam, conststring &sparam)
{
datetimestatic dt = 0 ;
doublestatic price = 0 ;
intstatic window = 0 ;
stringstatic line_name;
if (id== CHARTEVENT_OBJECT_CLICK ){
}
//Нажатие кнопки создаёт line 1 if (sparam== "button" ){
line_name = "line 1" ;
CreateLine(line_name, clrGreen );
}
//Нажатие на line 1 удаляет line 1 и создаёт line 2 if (sparam== "line 1" ){
line_name = "line 2" ;
ObjectSetString ( 0 , "line 1" , OBJPROP_NAME ,line_name);
ObjectSetInteger ( 0 ,line_name, OBJPROP_COLOR , clrRed );
}
//Нажатие на line 2 удаляет line 2if (sparam== "line 2" ){
ObjectDelete ( 0 ,line_name);
}
}
if ( ObjectGetInteger ( 0 , "button" , OBJPROP_STATE )){
int x = ( int )lparam;
int y = ( int )dparam;
if ( ChartXYToTimePrice ( 0 ,x,y,window,dt,price)){
if (id == CHARTEVENT_MOUSE_MOVE ){
if ( ObjectMove (line_name, 0 , 0 ,price))
ChartRedraw ( ChartID ());
}
}
}
}
Ve oluşturmadan ve silmeden önce nesnenin varlığının kontrolünü bırakırdım.
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.
görmüyorum
Ama diğerleri görüyor ( CHARTEVENT_OBJECT_CLICK )
Ustaca olan her şey basittir.
bunu yapardım
bunu yapardım
Ayrıca bir çözüm. Ancak bu seçenek artık benim için uygun değil, çünkü bu satıra tıkladıktan sonra ilkini silip başka bir tane oluşturmanız gerekiyor ve böylece imleci de takip ediyor ve üzerine tıkladıktan sonra çıkıyor. şöyle yaptım:
Düğmeye basılır - bir çizgi oluştururuz. Düğmeye basıldı - sil. Tahmin etmek çok mu zor?
Ayrıca sürekli oluşturup silmemek için gösterip gizleyebilirsiniz.
Ayrıca bir çözüm. Ancak bu seçenek artık benim için uygun değil, çünkü bu satıra tıkladıktan sonra ilkini silip başka bir tane oluşturmanız gerekiyor ve böylece imleci de takip ediyor ve üzerine tıkladıktan sonra çıkıyor. şöyle yaptım:
Ve oluşturmadan ve silmeden önce nesnenin varlığının kontrolünü bırakırdım.
bir şeyler ters gitti) sinyal hiç gitmiyor. 0 anlaşma.
ve neden çift aracılığıyla?
değişkenlerim şöyle görünür:
Bu bir sorun olabilir mi?
bir şeyler ters gitti) sinyal hiç gitmiyor. 0 anlaşma.
ve neden çift aracılığıyla?
değişkenlerim şöyle görünür:
Bu bir sorun olabilir mi?
bu cüretkar
ve kod kullanımınızdave neden çift aracılığıyla?
çift - ondalık sayılar
int - tam sayılar
bu cüretkar
ve kod kullanımınızdateşekkür etmek! sinyal gitti!
çift - ondalık sayılar
int - tam sayılar
açık