Çaydanlıktan gelen sorular - sayfa 9

 
stringo :

Ve bu konu hakkında konuşmadım.

Test aracı günlükleri diyor, bu da test aracı günlükleri anlamına geliyor.

İlk önce, geç kalanlar için nerede ve ne olduğunu (tercihen resimlerde) belirtmeniz gerekir ...
 

Bir nesneyi sürükleyerek yatay veya dikey bir çizgi boyunca düzgün hareket ettirmek mümkün müdür?

Grafik için bir tür kaydırma yapmak istiyorum.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов - Документация по MQL5
 
kPVT :

Bir nesneyi sürükleyerek yatay veya dikey bir çizgi boyunca düzgün hareket ettirmek mümkün müdür?

Grafik için bir tür kaydırma yapmak istiyorum.

Bir komut dosyası buldum, biraz değiştirdim:

 #import "user32.dll"
bool       GetCursorPos( int &Pos[]);
bool       GetWindowRect( int hWnd, int &Pos[]);
#import
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//---
   int p[ 2 ];
   int rect[ 4 ];
   int hwnd= ChartGetInteger ( ChartID (), CHART_WINDOW_HANDLE );
   while (! IsStopped ())
     {
      GetWindowRect(hwnd,rect);
      GetCursorPos(p);
       int X=p[ 0 ]-rect[ 0 ];
       int Y=p[ 1 ]-rect[ 1 ];
       string c= "Глобальные координаты мыши x= " +p[ 0 ]+ " y= " +p[ 1 ]+ "\n" +
               "Координаты мыши в окне котировок x= " +X+ " y= " +Y;
       Comment (c);
       Sleep ( 100 );
     }
  }
//+------------------------------------------------------------------+

Kaydırmayı pürüzsüz hale getirmek için fare koordinatlarını almak için user32.dll kullanmaya çalışacağım, çalışması gerekir.

Genel olarak, Chart nesnesi için yerleşik gezinme araçlarına sahip olmak güzel olurdu.

 
Çapa Açısı bölümündeki örneğe baktınız mı?
 
Rosh :
Çapa Açısı bölümündeki örneğe baktınız mı?

teşekkürler, mesajı zaten bulup sildim ama daha hızlıydın :)

Başka bir sorum var, danışman OnTimer üzerinde çalışıyor ve pencere yalnızca bir sonraki onay işaretiyle güncelleniyor, bununla savaşabilir miyim?

 
Olegts :

teşekkürler, mesajı zaten bulup sildim ama daha hızlıydın :)

Başka bir sorum var, danışman OnTimer üzerinde çalışıyor ve pencere yalnızca bir sonraki onay işaretiyle güncelleniyor, bununla savaşabilir miyim?

Grafikteki nesneler anlamında pencere?

ChartRedraw - grafiği zorla yeniden çizer (büyük olasılıkla bu yardımcı olacaktır).

Документация по MQL5: Операции с графиками / ChartRedraw
Документация по MQL5: Операции с графиками / ChartRedraw
  • www.mql5.com
Операции с графиками / ChartRedraw - Документация по MQL5
 
Interesting :

Grafikteki nesneler anlamında pencere?

ChartRedraw - grafiği zorla yeniden çizer (büyük olasılıkla bu yardımcı olacaktır).

eklenen ChartRedraw(0); , pencere tam olarak sıfırdır ve tek penceredir, yardımcı olmaz, nesneler yalnızca bir sonraki onay işaretinden sonra güncellenir, ancak Print() veri değişimini saniyede bir kez gösterir EventSetTimer(1)
 
Olegts :
eklenen ChartRedraw(0); , pencere tam olarak sıfırdır ve tek penceredir, yardımcı olmaz, nesneler yalnızca bir sonraki onay işaretinden sonra güncellenir, ancak Print() veri değişimini saniyede bir kez gösterir EventSetTimer(1)

O zaman en azından daha fazla bilgiye ihtiyaç var.

nesneler nelerdir? Bunları kim ve nasıl yaratır (örneğin nesneler bir baykuş veya hindi tarafından yaratılabilir/değiştirilebilir)?

Ve bir bütün olarak durum çok belirsiz bir şekilde tanımlanıyor.

 
Interesting :

O zaman en azından daha fazla bilgiye ihtiyaç var.

nesneler nelerdir? Bunları kim ve nasıl yaratır (örneğin nesneler bir baykuş veya hindi tarafından yaratılabilir/değiştirilebilir)?

Ve bir bütün olarak durum çok belirsiz bir şekilde tanımlanıyor.

 //+------------------------------------------------------------------+
//|                                                    testClass.mq5 |
//|                        Copyright 2011, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2011, MetaQuotes Software Corp."
#property link       "http://www.mql5.com"
#property version   "1.00"

//--- input parameters

input int Timer= 1 ;


int Val=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- create timer
   EventSetTimer (Timer);
   int height= ChartGetInteger ( 0 , CHART_HEIGHT_IN_PIXELS , 0 );
   int width= ChartGetInteger ( 0 , CHART_WIDTH_IN_PIXELS , 0 );
   int step= 0 ;
   step=step+ 30 ; CreateLabel( 0 , "EUR" , CORNER_LEFT_UPPER , "" , 50 ,step);
   step=step+ 30 ; CreateLabel( 0 , "GBP" , CORNER_LEFT_UPPER , "" , 50 ,step);
   
   
//---
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
//--- destroy timer
   EventKillTimer ();
   ObjectDelete ( 0 , "EUR" );
   ObjectDelete ( 0 , "GBP" );
  
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
//void OnTick()
//  {
//---
//   
//  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer ()
  {
   Val=Val+1;
   int EUR0=Val,EUR1=Val;
   
   int GBP0=Val,GBP1=Val;

     
   ObjectSetString ( 0 , "EUR" , OBJPROP_TEXT , "EUR: " + IntegerToString (EUR0)+ " | " + IntegerToString (EUR1));
   ObjectSetString ( 0 , "GBP" , OBJPROP_TEXT , "GBP: " + IntegerToString (GBP0)+ " | " + IntegerToString (GBP1));

   ChartRedraw ( 0 );
//---
  }
//+------------------------------------------------------------------+

void CreateLabel( long    chart_id,
                 string name,
                 int     chart_corner,
                 string text_label,
                 int     x_ord,
                 int     y_ord)
  {
//---
   ObjectCreate (chart_id,name, OBJ_LABEL , 0 , 0 , 0 );
   ResetLastError ();
   if (! ObjectSetInteger (chart_id,name, OBJPROP_CORNER ,chart_corner))
       Print ( "Не удалось установить угол привязки для объекта " ,
            name, ", ошибка " , GetLastError ());
   ObjectSetInteger (chart_id,name, OBJPROP_XDISTANCE ,x_ord);
   ObjectSetInteger (chart_id,name, OBJPROP_YDISTANCE ,y_ord);
   ObjectSetString (chart_id,name, OBJPROP_TEXT ,text_label);
   }
 
Olegts :
Her şey normal bir şekilde güncellenir, değerler her saniye değişir.