Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 998

 
Vladimir Karputov:

Servicio - Ajustes - Comercio - "Mostrar las operaciones en el gráfico en tiempo real".

Básicamente, una gran función, sólo que sin la elección del marco de tiempo para mostrar, es espeluznante en semanas.

 
BillionerClub:

Básicamente, una gran función, sólo que sin la elección del marco temporal a mostrar, es espeluznante en semanas.

¿Qué tiene que ver el tiempo con esto? La operación se muestra (o no se muestra) según el marco temporal. Y el comercio se muestra (o no se muestra) por el SYMM.

 
Vladimir Karputov:

¿Qué tiene que ver el marco temporal? La operación se está ejecutando según el Símbolo. Y el comercio se muestra (o no se muestra) por el Símbolo.

Muy útil, muestra inmediatamente los errores en la AT si hubiera tratos. Pero en los iconos de los grandes marcos temporales, ya oscurecen las velas.

 
Cómo conseguir mediante el código, para cambiar las propiedades,"Mostrar las operaciones en el gráfico en tiempo real".
 
BillionerClub:
Cómo llegar con el código, para cambiar las propiedades,"Mostrar las operaciones en el gráfico en tiempo real".

No lo he comprobado, pero quizá sea esto.

  • CHART_SHOW_TRADE_LEVELS - propiedad para mostrar los niveles de operación (niveles de posiciones abiertas, Stop Loss, Take Profit y órdenes pendientes) en el gráfico.
//+------------------------------------------------------------------+
//| Функция определяет, отображаются ли на графике торговые уровни.  |
//+------------------------------------------------------------------+
bool ChartShowTradeLevelsGet(bool &result,const long chart_ID=0)
  {
//--- подготовим переменную для получения значения свойства
   long value;
//--- сбросим значение ошибки
   ResetLastError();
//--- получим значение свойства
   if(!ChartGetInteger(chart_ID,CHART_SHOW_TRADE_LEVELS,0,value))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
      return(false);
     }
//--- запомним в переменную значение свойства графика
   result=value;
//--- успешное выполнение
   return(true);
  }
//+------------------------------------------------------------------+
//| Функция включает/выключает режим отображения торговых уровней.   |
//+------------------------------------------------------------------+
bool ChartShowTradeLevelsSet(const bool value,const long chart_ID=0)
  {
//--- сбросим значение ошибки
   ResetLastError();
//--- установим значение свойства
   if(!ChartSetInteger(chart_ID,CHART_SHOW_TRADE_LEVELS,0,value))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
      return(false);
     }
//--- успешное выполнение
   return(true);
  }
 

Buenos días. ¿Pueden decirme cómo abrir un enlace en un navegador en MQL5? Cuando hago clic en el botón, es necesario abrir el navegador y hacer clic en el enlace. El código siguiente da errores.

#import "shell32.dll"
   int ShellExecuteW(int hWnd,int lpVerb, string lpFile,string lpParameters,int lpDirectory,int nCmdShow);
#import

 ShellExecuteW(NULL, "Open", "explorer.exe", "\"https://mql5.com\"", NULL, 1);
 
Alexander Mikryukov:

Buenos días. ¿Pueden decirme cómo abrir un enlace en un navegador en MQL5? Cuando hago clic en el botón, es necesario abrir el navegador y hacer clic en el enlace. El código siguiente genera errores.

Compruebe los parámetros deShellExecuteW

en el prototipo de la función, el segundo parámetro tiene el tipo INT, y está pasando la cadena....

Añadido

Debería ser así en el prototipo

HINSTANCE ShellExecuteW(
  HWND    hwnd,
  LPCWSTR lpOperation,
  LPCWSTR lpFile,
  LPCWSTR lpParameters,
  LPCWSTR lpDirectory,
  INT     nShowCmd
);
Así que su prototipo no está descrito correctamente
 
prostotrader:

Compruebe los parámetros deShellExecuteW

En el prototipo de la función, el segundo parámetro es de tipo INT, y está pasando la cadena....

Añadido por

Debería ser así en el prototipo.

Así que su prototipo no está descrito correctamente

Gracias, ha funcionado.

 

Buenas tardes, la función para encender programáticamente es

IndicatorSetDouble(INDICATOR_MAXIMUM,v);


¿y cómo se desactiva mediante programación?


 
Cuando se depura sobre datos históricos, ¿cómo se carga el conjunto correcto al EA?
Razón de la queja: