Fragen von einem "Dummy" - Seite 9

 
stringo:

Das ist nicht der Punkt, auf den ich hinauswollte.

Wenn es heißt "Tester-Agent-Protokolle", dann bedeutet das "Tester-Agent-Protokolle".

Nun, zunächst müssen Sie für die Nachzügler angeben, wo und was (vorzugsweise in Bildern)...
 

Ist es möglich, das Objekt durch Ziehen zu bewegen? reibungslos Horizontal oder vertikal?

Ich möchte eine Art Schriftrolle für ein Diagramm erstellen.

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

Ist es möglich, ein Objekt durch Ziehen zu bewegen? reibungslos Das Diagrammobjekt kann entlang einer horizontalen oder vertikalen Linie bewegt werden?

Ich möchte eine Art Schriftrolle für das Diagramm erstellen.

Ich habe ein Skript gefunden und es ein wenig verändert:

#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);
     }
  }
//+------------------------------------------------------------------+

Ich werde versuchen, user32.dll zu verwenden, um Mauskoordinaten zu erhalten, um den Bildlauf reibungslos zu machen, sollte funktionieren.

Generell wäre es schön, wenn die Navigation in Chart-Objekten eingebaut wäre.

 
Haben Sie das Beispiel im Abschnitt " Winkel" gesehen?
 
Rosh:
Haben Sie sich das Beispiel im Abschnitt Bindungswinkel angesehen?

Danke, ich hatte die Nachricht bereits gefunden und gelöscht, aber Sie waren schneller:)

Ich habe eine weitere Frage, die EA arbeitet auf OnTimer aber das Fenster wird nur mit dem nächsten Tick aktualisiert, kann dies behandelt werden?

 
Olegts:

Danke, ich hatte die Nachricht bereits gefunden und gelöscht, aber Sie waren schneller:)

Ich habe eine andere Frage, die EA arbeitet auf OnTimer, aber das Fenster wird nur mit dem nächsten Tick aktualisiert, kann dies behandelt werden?

Das Fenster im Sinne von Objekten auf der Karte?

ChartRedraw - Erzwingt das Neuzeichnen des Diagramms (dies sollte höchstwahrscheinlich helfen).

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

Fenster im Sinne von Objekten im Diagramm?

ChartRedraw - Zeichnet das Diagramm zwangsweise neu (dies sollte wahrscheinlich helfen).

Ich setzte ChartRedraw(0); , das Fenster ist genau Null und das einzige, es hilft nicht, die Objekte werden erst nach dem nächsten Tick aktualisiert, obwohl Print() die Änderung der Daten einmal pro Sekunde anzeigt EventSetTimer(1)
 
Olegts:
Ich habe ChartRedraw(0); das Fenster ist Null und das einzige, es hilft nicht, Objekte werden erst nach dem nächsten Tick aktualisiert, obwohl Print() zeigt die Datenänderung einmal pro Sekunde EventSetTimer(1)

Dann sind zumindest weitere Informationen erforderlich.

Was sind die Objekte? Wer erstellt sie und wie (z. B. können Objekte von einer Eule oder von einem Indikator erstellt/geändert werden)?

Und die Situation im Allgemeinen ist sehr vage beschrieben.

 
Interesting:

Dann sind zumindest weitere Informationen erforderlich.

Was sind die Objekte? Wer erstellt sie und wie (z. B. können Objekte von Eulen oder von Truthähnen erstellt/verändert werden)?

Und die Gesamtsituation ist sehr vage beschrieben.

//+------------------------------------------------------------------+
//|                                                    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:
Alles wird normal aktualisiert, die Werte ändern sich jede Sekunde.