Domande da un "manichino" - pagina 9

 
stringo:

Non è questo il punto che stavo facendo.

C'è scritto "tester agent logs", significa "tester agent logs".

Beh, prima di tutto, per i ritardatari, è necessario specificare dove e cosa (preferibilmente in immagini)...
 

È possibile far muovere l'oggetto trascinandolo senza problemi orizzontalmente o verticalmente?

Voglio fare una specie di cartiglio per un grafico.

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

È possibile far muovere un oggetto trascinandolo senza problemi L'oggetto grafico può essere fatto muovere orizzontalmente o verticalmente con il drag and drop?

Voglio fare una specie di cartiglio per il grafico.

Ho trovato uno script e l'ho modificato un po':

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

Proverò ad usare user32.dll per ottenere le coordinate del mouse per rendere lo scorrimento fluido, dovrebbe funzionare.

In generale sarebbe bello avere la navigazione degli oggetti Chart integrata.

 
Avete visto l'esempio nella sezione Angle?
 
Rosh:
Hai guardato l'esempio nella sezione Binding Angle?

Grazie, ho già trovato e cancellato il messaggio, ma sei stato più veloce:)

Ho un'altra domanda, l'EA funziona su OnTimer ma la finestra viene aggiornata solo con il prossimo tick, questo può essere risolto?

 
Olegts:

Grazie, ho già trovato e cancellato il messaggio, ma sei stato più veloce:)

Ho un'altra domanda, l'EA funziona su OnTimer, ma la finestra viene aggiornata solo con il prossimo tick, questo può essere risolto?

La finestra nel senso di oggetti sul grafico?

ChartRedraw - ridisegna forzatamente il grafico (molto probabilmente questo dovrebbe aiutare).

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

Finestra nel senso di oggetti sul grafico?

ChartRedraw - ridisegna forzatamente il grafico (questo dovrebbe probabilmente aiutare).

Ho messo ChartRedraw(0); , la finestra è esattamente zero e l'unica, non aiuta, gli oggetti sono aggiornati solo dopo il prossimo tick, anche se Print() mostra il cambiamento dei dati una volta al secondo EventSetTimer(1)
 
Olegts:
Ho messo ChartRedraw(0); la finestra è zero e l'unica, non aiuta, gli oggetti sono aggiornati solo dopo il prossimo tick, anche se Print() mostra il cambiamento dei dati una volta al secondo EventSetTimer(1)

Allora, come minimo, sono necessarie più informazioni.

Quali sono gli oggetti? Chi li crea e come (per esempio, gli oggetti possono essere creati/modificati da un gufo o da un indicatore)?

E la situazione in generale è descritta molto vagamente.

 
Interesting:

Allora, come minimo, sono necessarie più informazioni.

Quali sono gli oggetti? Chi li crea e come (per esempio, gli oggetti possono essere creati/modificati dal gufo, o dai tacchini)?

E la situazione generale è descritta molto vagamente.

//+------------------------------------------------------------------+
//|                                                    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:
Tutto si aggiorna normalmente, i valori cambiano ogni secondo.