Errores, fallos, preguntas - página 6

 
Prival:

dice en la ayuda.

intdía_del_año;// número del año (el 1 de febrero es el 32º día del año)

Por alguna razón siempre sale como 31 ((

el guión adjunto

en el archivo

2010.02.01 00:00:00 143.832 143.839 143.758 143.771 186 2010 2 1 0 0 1 31

Se trata de un error en la documentación. La numeración de los días de un año empieza por 0. Gracias.
 
stringo:
Se trata de un error en la documentación. La numeración de los días de un año empieza por 0. Gracias.
Entiendo que es más complicado, pero parece más familiar (para el profano. Está bien para el programador). El 1 de enero es un día del año. Me parece que la referencia es correcta.
 
Prival:
Entiendo que es más complicado, pero parece más familiar (para el profano. Para el programador, está bien). El 1 de enero es el primer día del año. Me parece correcto en la ayuda.
Traducimos la estructura de tiempo del sistema estándar a nuestra estructura MqlTime
 
Por alguna razón no puedo descargar el terminal del servidor, dice "falló la descarga de datos del servidor", ¿cuál es el problema?
 

Hola, pueden ayudarme a traducir la función de mt4 a mt5. Lo he traducido, pero no está bien, si no es difícil, por favor envíame el código correcto, no soy muy bueno en MQL. Estoy empezando a aprenderlo.

//+------------------------------------------------------------------+
#property copyright "2010, MetaQuotes Software Corp."
#enlace de propiedad"http://www.mql5.com"
#versión de la propiedad "1.00"
//--- parámetros de entrada

entrada doble Lotes=0,1;
input bool MM = true;
entrada doble Riesgo = 10;


//+------------------------------------------------------------------+
//| Función de inicialización de expertos|
//+------------------------------------------------------------------+
int OnInit()
{
return(0);
}
//+------------------------------------------------------------------+
//| Función de desinicialización de expertos|
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{

}

//+------------------------------------------------------------------+
//| función de tic experto|
//+------------------------------------------------------------------+
void OnTick()
{
if( MM )double Lots = LotSon(); //llamar a la función LotSon
}
//+------------------------------------------------------------------+
doble LoteSon()
{
double LotMin = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);
double LotMax = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX);
double Lots = AccountInfoDouble(ACCOUNT_FREEMARGIN)/100000.0 * Risk;
double Lots = MathMin(Lotmax,MathMax(Lotmin,Lots));

if (LotMin < 0.1)Lots = NormalizeDouble(Lots,2);
si no
{
if (LotMin < 1.0)Lots = NormalizeDouble(Lots,1);
si no Lotes = NormalizeDouble(Lotes,0);
}
si (Lotes < LoteMin) Lotes = LoteMin;
si (Lotes > LotMax) Lotes = LotMax;
}

Automated Trading and Strategy Testing
Automated Trading and Strategy Testing
  • www.mql5.com
MQL5: language of trade strategies built-in the MetaTrader 5 Trading Platform, allows writing your own trading robots, technical indicators, scripts and libraries of functions
 

¿Cómo se obtiene el código en color?

 
FEDOR_MQL:

¿Cómo se colorea el código?

Artículo de la Comunidad MQL5 - Memo del usuario:

El botón está destinado a insertar el código fuente MQL en el texto del mensaje. Al pulsarlo, aparecerá una ventana vacía en la que deberá insertar el código y luego pulsar el botón Insertar. Para cancelar la inserción del código, pulse el botón Cancelar.

No se recomienda poner el código en negrita para que ciertos trozos de código destaquen de alguna manera. La cuestión es que las fuentes monoespaciadas se muestran de forma diferente en los distintos sistemas operativos y navegadores. Por ejemplo, Windows Vista utiliza la fuente Consolas monospace, que tiene una fuente en negrita para el tamaño 10 que es casi indistinguible de una fuente normal.

 
FEDOR_MQL:

Hola, pueden ayudarme a traducir la función de mt4 a mt5. Lo he traducido, pero no está bien, si no es difícil, por favor envíame el código correcto, no soy muy bueno en MQL. Estoy empezando a aprenderlo.


 //+------------------------------------------------------------------+
#property copyright "2010, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//--- input parameters

input double   Lots=0.1;
input bool     MM = true;
input double   Risk = 10;

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
  return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {

  }

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if( MM ) Lots = LotSon();      //вызов функции LotSon 
  }
//+------------------------------------------------------------------+
double LotSon()
{
  double LotMin     = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);
  double LotMax     = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX);
  double LotStep    = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_STEP);
  double Lot        = AccountInfoDouble(ACCOUNT_FREEMARGIN)/100000.0 * Risk;
  Lot               = MathMin(Lotmax,MathMax(Lotmin,Lot));
  
  if (Lot < LotMin) Lot = LotMin;
  if (Lot > LotMax) Lot = LotMax;
  // Вариант первый
  switch(LotStep)
  {
   case 0.01: return(NormalizeDouble(Lot,2));
   case 0.1 : return(NormalizeDouble(Lot,1));
   case 1.0 : return(NormalizeDouble(Lot,0));
  }
  // Вариант второй
  // if (LotStep == 0.01)return(NormalizeDouble(Lot,2));
  // if (LotStep == 0.1) return(NormalizeDouble(Lot,1));
  // if (LotStep == 1.0) return(NormalizeDouble(Lot,0));
  // Вариант третий
  // if (LotStep == 0.01)return(NormalizeDouble(Lot,2));
  // else if (LotStep == 0.1) return(NormalizeDouble(Lot,1));
  // else if (LotStep == 1.0) return(NormalizeDouble(Lot,0));
  
}
 

Muy bien, vamos a intentarlo. Gracias a todos. ¿Acaso estoy haciendo estas preguntas? ¿O tengo que ir a otro sitio? Gracias de antemano por la respuesta.

 

Y en esta etapa de desarrollo: los parámetros, la llamada a la función y la función en sí deben mostrar errores de compilación o no. Si es así, ¿por qué? Tengo errores que muestran

Документация по MQL5: Основы языка / Функции / Вызов функции
Документация по MQL5: Основы языка / Функции / Вызов функции
  • www.mql5.com
Основы языка / Функции / Вызов функции - Документация по MQL5