Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 664
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Sí, los parámetros de entrada no se pueden modificar. Para ser sincero, no entiendo por qué hay que cambiar este valor según las comillas de 3/5 dígitos. Este valor se establece en los parámetros de entrada. ¿No se puede escribir 100 (si son 3/5 dígitos) y no molestarse?
De hecho, optimizo en 5 dígitos - más historia, pero comercio en 4 y uso diferentes ajustes, incluyendo puntos. No quiero confundir la configuración, por eso esta es la solución.
De hecho, optimizo en 5 dígitos - más historia, pero comercio en 4 y uso diferentes ajustes, incluyendo puntos. No quiero confundir la configuración, por eso esta es la solución.
Debería funcionar así
int OnInit() {
// Округлим огрызки - 3 и 5 знак
Sign=(SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==3 || SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==5)?10:1;
// Приведем к терминальному количеству знаков
TakeProfit*=Sign;
StopLoss*=Sign;
TrailingShift*=Sign;
TrailingStep*=Sign;
Slippage*=Sign;
}
Esto debería funcionar
int OnInit() {
// Округлим огрызки - 3 и 5 знак
Sign=(SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==3 || SymbolInfoInteger(_Symbol,SYMBOL_DIGITS)==5)?10:1;
// Приведем к терминальному количеству знаков
TakeProfit*=Sign;
StopLoss*=Sign;
TrailingShift*=Sign;
TrailingStep*=Sign;
Slippage*=Sign;
}
También me aparece este error, ¿cómo lo corrijo?
'MODE_MAIN' - identificador de enumerador ya definido initmql4__1.mqh 223 24
ENUM_STO_PRICE StoFieldMigrate(int field)
{
switch(field)
{
case 0: return(STO_LOWHIGH);
case 1: return(STO_CLOSECLOSE);
default: return(STO_LOWHIGH);
}
}
//+------------------------------------------------------------------+
enum ALLIGATOR_MODE { MODE_GATORJAW=1, MODE_GATORTEETH, MODE_GATORLIPS };
enum ADX_MODE { MODE_MAIN, MODE_PLUSDI, MODE_MINUSDI };
enum UP_LOW_MODE { MODE_BASE, MODE_UPPER, MODE_LOWER };
enum ICHIMOKU_MODE { MODE_TENKANSEN=1, MODE_KIJUNSEN, MODE_SENKOUSPANA, MODE_SENKOUSPANB, MODE_CHINKOUSPAN };
enum MAIN_SIGNAL_MODE{ MODE_MAIN, MODE_SIGNAL };
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
double CopyBufferMQL4(int handle,int index,int shift)
{
double buf[];
switch(index)
{
case 0: if(CopyBuffer(handle,0,shift,1,buf)>0)
return(buf[0]); break;
case 1: if(CopyBuffer(handle,1,shift,1,buf)>0)
return(buf[0]); break;
case 2: if(CopyBuffer(handle,2,shift,1,buf)>0)
return(buf[0]); break;
case 3: if(CopyBuffer(handle,3,shift,1,buf)>0)
return(buf[0]); break;
case 4: if(CopyBuffer(handle,4,shift,1,buf)>0)
return(buf[0]); break;
default: break;
}
return(EMPTY_VALUE);
}
//+------------------------------------------------------------------+
En tal situación, me sale un error - ayúdame a entender por qué se produce el error - en MQL5 no se puede cambiar el valor de una variable introducida por el usuario?
¡No puedes!
Si has decidido utilizar MQL4_to_MQL5.mqh, te recomiendo encarecidamente que no lo hagas. Ya que fue escrito para los ejemplos, que están en la descripción de la biblioteca. Es decir, no es universal en absoluto. En particular, existe una versión muy limitada de MarketInfo (para hacer funcionar sólo ejemplos). Pero las buenas soluciones están ahí. Por lo tanto, es mejor no usar este mqh en sí, sino tomar sólo cosas útiles de él.
También me aparece este error, ¿cómo lo corrijo?
'MODE_MAIN' - identificador de enumerador ya definido initmql4__1.mqh 223 24
ENUM_STO_PRICE StoFieldMigrate(int field)
{
switch(field)
{
case 0: return(STO_LOWHIGH);
case 1: return(STO_CLOSECLOSE);
default: return(STO_LOWHIGH);
}
}
//+------------------------------------------------------------------+
enum ALLIGATOR_MODE { MODE_GATORJAW=1, MODE_GATORTEETH, MODE_GATORLIPS };
enum ADX_MODE { MODE_MAIN, MODE_PLUSDI, MODE_MINUSDI };
enum UP_LOW_MODE { MODE_BASE, MODE_UPPER, MODE_LOWER };
enum ICHIMOKU_MODE { MODE_TENKANSEN=1, MODE_KIJUNSEN, MODE_SENKOUSPANA, MODE_SENKOUSPANB, MODE_CHINKOUSPAN };
enum MAIN_SIGNAL_MODE{ MODE_MAIN, MODE_SIGNAL };
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
double CopyBufferMQL4(int handle,int index,int shift)
{
double buf[];
switch(index)
{
case 0: if(CopyBuffer(handle,0,shift,1,buf)>0)
return(buf[0]); break;
case 1: if(CopyBuffer(handle,1,shift,1,buf)>0)
return(buf[0]); break;
case 2: if(CopyBuffer(handle,2,shift,1,buf)>0)
return(buf[0]); break;
case 3: if(CopyBuffer(handle,3,shift,1,buf)>0)
return(buf[0]); break;
case 4: if(CopyBuffer(handle,4,shift,1,buf)>0)
return(buf[0]); break;
default: break;
}
return(EMPTY_VALUE);
}
//+------------------------------------------------------------------+
Renombrar. Los campos de TODAS las enumeraciones deben ser diferentes. Y tienes los mismos campos enel enum ADX_MODE yen el enum MAIN_SIGNAL_MODE.
Lo he comentado por ahora... No creo que sea crítico...
Sin embargo, compilado un EA utilizando dos bibliotecas - funciones de comercio y la traducción de otras funciones de 4 a 5.
Todavía estoy harto del probador en 5 - no puedo encontrar donde los indicadores se pueden añadir en la visualización y cómo filtrar el registro ...
Todavía no puedo ver los pedidos abiertos, eh.
Cómo interpretar esto:
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Al configurar el error imprevisto pendiente - 4756
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Magic=49266773 cPoza::setOrder envió una solicitud para establecer una orden. Tipo: BuyStop lot=1.0 opPrice=68180.0 tp=68200.0 sl=67260.0
2016.11.04 20:42:25.224 2016.02.11 14:04:30 parada de compra fallida 1.00 RTS-12.16 a 68180 sl: 67260 tp: 68200 [Vencimiento no válido].
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Al configurar el error imprevisto pendiente - 4756
Cómo interpretar esto:
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Al configurar el error imprevisto pendiente - 4756
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Magic=49266773 cPoza::setOrder envió una solicitud para establecer una orden. Tipo: BuyStop lot=1.0 opPrice=68180.0 tp=68200.0 sl=67260.0
2016.11.04 20:42:25.224 2016.02.11 14:04:30 parada de compra fallida 1.00 RTS-12.16 a 68180 sl: 67260 tp: 68200 [Vencimiento no válido].
2016.11.04 20:42:25.224 2016.02.11 14:04:30 Al configurar el error imprevisto pendiente - 4756
Hasta ahora estoy harto del probador en cinco - no puedo encontrar donde se pueden añadir los indicadores a la visualización y cómo filtrar el registro...
No hay manera de ver los pedidos abiertos todavía, eh.