Preguntas de un "tonto" - página 9

 
stringo:

Ese no es el punto al que me refería.

Dice registros del agente probador, significa registros del agente probador.

Bueno, en primer lugar, para los rezagados, es necesario especificar dónde y qué (preferiblemente en imágenes)...
 

¿Es posible hacer que el objeto se mueva arrastrando sin problemas ¿en horizontal o en vertical?

Quiero hacer una especie de pergamino para un gráfico.

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

¿Es posible hacer que un objeto se mueva arrastrando sin problemas ¿Se puede hacer que el objeto gráfico se mueva a lo largo de una línea horizontal o vertical?

Quiero hacer una especie de pergamino para el gráfico.

Encontré una secuencia de comandos, la ajusté un poco:

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

Intentaré usar user32.dll para obtener las coordenadas del ratón para que el desplazamiento sea suave, debería funcionar.

En general, estaría bien tener incorporada la navegación por objetos de la Carta.

 
¿Has visto el ejemplo de la sección de ángulos?
 
Rosh:
¿Has mirado el ejemplo de la sección Ángulo de unión?

Gracias, ya encontré y borré el mensaje, pero fuiste más rápido:)

Tengo otra pregunta, el EA funciona en OnTimer pero la ventana se actualiza sólo con el siguiente tick, ¿se puede solucionar esto?

 
Olegts:

Gracias, ya encontré y borré el mensaje, pero fuiste más rápido:)

Tengo otra pregunta, el EA funciona en OnTimer, pero la ventana se actualiza sólo con el siguiente tick, ¿se puede solucionar esto?

¿La ventana en el sentido de los objetos de la carta?

ChartRedraw - redibuja forzosamente el gráfico (lo más probable es que esto ayude).

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

¿Ventana en el sentido de objetos en la carta?

ChartRedraw - redibuja forzosamente el gráfico (esto probablemente debería ayudar).

Pongo ChartRedraw(0); , la ventana es exactamente cero y la única, no sirve, los objetos se actualizan sólo después del siguiente tick, aunque Print() muestra el cambio de datos una vez por segundo EventSetTimer(1)
 
Olegts:
Pongo ChartRedraw(0); la ventana es cero y la única, no sirve, los objetos se actualizan sólo después del siguiente tick, aunque Print() muestra el cambio de datos una vez por segundo EventSetTimer(1)

Entonces, como mínimo, se necesita más información.

¿Cuáles son los objetos? ¿Quién los crea y cómo (por ejemplo, los objetos pueden ser creados/modificados por un búho o por un indicador)?

Y la situación en general se describe muy vagamente.

 
Interesting:

Entonces, como mínimo, se necesita más información.

¿Cuáles son los objetos? ¿Quién los crea y cómo (por ejemplo, los objetos pueden ser creados/modificados por el búho, o por los pavos)?

Y la situación general se describe muy 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:
Todo se actualiza normalmente, los valores cambian cada segundo.