Discusión sobre el artículo "Traslado de MQL4 a MQL5" - página 7

 
Trintoro:

Me encanta este artículo.

su idea para hacer emulador mt4, muy buena idea ...

Estoy de acuerdo con Trintoro. Este artículo no se trata de la migración, es más como la emulación. Me preocupa mucho acerca de la velocidad de ejecución a continuación, especialmente después de leer esto y la respuesta de Rosh a este tema. Creo que lo que sucede a ese tema, es el usuario sigue pensando en MQL4 tipo de una manera. Tal vez por costumbre, así que no puedo culparlo.

Es mejor aprender fresco y fresco escribir todo directamente en mql5 en lugar de utilizar los comandos que este artículo sugiere.

Sin embargo, es bueno conocer las diferencias que este artículo ha mostrado.

BTW. Fuera de mi costumbre :

1. Pulsando F5 (o F7, pero rara vez se utiliza) en MQL4 MetaEditor compilará, en MQL5 MetaEditor es F7 para compilar, F5 se iniciará / reanudar la depuración.

2. En MQL4 MetaEditor, presionando Esc, se mostrará / ocultará la ventana de la caja de herramientas, en MQL5 MetaEditor, nunca pasará nada.

Migración que son molestos para mí :)

 
¡¡¡¡¡¡Gracias!!!!!! ¡¡¡¡Un trabajo genial, masivo, muy necesario y útil!!!! Incluso con sus defectos individuales, es muy muy útil cuando la traducción de un robot de idioma a idioma. No estoy hablando de una traducción completamente substring, no, simplemente cuando miras el robot en el cuarto, y no sabes donde en la ayuda del quinto buscar esto que no compila, digamos.... ¡¡¡Y aquí puedes encontrar explicaciones al detalle!!! ¡Es muy necesario y útil!
 

¿Podría decirme qué código en MQL5 se puede utilizar para obtener lo mismo que a continuación para MQL4?

double AccountFreeMarginCheck(string symbol,
                              int cmd,
                              double volume)
NO análogo
AccountFreeMarginCheck
Devuelve la cantidad de fondos libres que quedarán después de abrir la posición especificada al precio actual en la cuenta actual.
AccountFreeMarginCheck - Документация на MQL4
  • docs.mql4.com
AccountFreeMarginCheck - Документация на MQL4
 
solandr:

¿Podría decirme qué código en MQL5 se puede utilizar para obtener lo mismo que a continuación para MQL4?

...
Mira las funcionesOrderCalcProfit (...) y OrderCalcMargin(...) .
 

iBarShift erróneo.

Más información en https://www.mql5.com/ru/forum/11243/

 

Estimados Chicos,

Llamo a una función de abajo en mi indicador. Pero tengo 7 mensaje de advertencia. puedo mejorar a continuación la función, por lo que no mostrar mensaje de advertencia:

double MarketInfoMQL4(string symbol,
                      int type)
  {
   switch(type)
     {
      case MODE_LOW:
         return(SymbolInfoDouble(symbol,SYMBOL_LASTLOW));
      case MODE_HIGH:
         return(SymbolInfoDouble(symbol,SYMBOL_LASTHIGH));
      case MODE_TIME:
         return(SymbolInfoInteger(symbol,SYMBOL_TIME));
      case MODE_BID:
         //retorno(Oferta);
      case MODE_ASK:
         //retorno(Ask);
      case MODE_POINT:
         return(SymbolInfoDouble(symbol,SYMBOL_POINT));
      case MODE_DIGITS:
         return(SymbolInfoInteger(symbol,SYMBOL_DIGITS));
      case MODE_SPREAD:
         return(SymbolInfoInteger(symbol,SYMBOL_SPREAD));
      case MODE_STOPLEVEL:
         return(SymbolInfoInteger(symbol,SYMBOL_TRADE_STOPS_LEVEL));
      case MODE_LOTSIZE:
         return(SymbolInfoDouble(symbol,SYMBOL_TRADE_CONTRACT_SIZE));
      case MODE_TICKVALUE:
         return(SymbolInfoDouble(symbol,SYMBOL_TRADE_TICK_VALUE));
      case MODE_TICKSIZE:
         return(SymbolInfoDouble(symbol,SYMBOL_TRADE_TICK_SIZE));
      case MODE_SWAPLONG:
         return(SymbolInfoDouble(symbol,SYMBOL_SWAP_LONG));
      case MODE_SWAPSHORT:
         return(SymbolInfoDouble(symbol,SYMBOL_SWAP_SHORT));
      case MODE_STARTING:
         return(0);
      case MODE_EXPIRATION:
         return(0);
      case MODE_TRADEALLOWED:
         return(0);
      case MODE_MINLOT:
         return(SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN));
      case MODE_LOTSTEP:
         return(SymbolInfoDouble(symbol,SYMBOL_VOLUME_STEP));
      case MODE_MAXLOT:
         return(SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX));
      case MODE_SWAPTYPE:
         return(SymbolInfoInteger(symbol,SYMBOL_SWAP_MODE));
      case MODE_PROFITCALCMODE:
         return(SymbolInfoInteger(symbol,SYMBOL_TRADE_CALC_MODE));
      case MODE_MARGINCALCMODE:
         return(0);
      case MODE_MARGININIT:
         return(0);
      case MODE_MARGINMAINTENANCE:
         return(0);
      case MODE_MARGINHEDGED:
         return(0);
      case MODE_MARGINREQUIRED:
         return(0);
      case MODE_FREEZELEVEL:
         return(SymbolInfoInteger(symbol,SYMBOL_TRADE_FREEZE_LEVEL));

      default: return(0);
     }
   return(0);
  }
 
advali82:

Estimados Chicos,

Llamo a una función de abajo en mi indicador. Pero tengo 7 mensaje de advertencia. puedo mejorar a continuación la función, por lo que no mostrar mensaje de advertencia:

¿Qué son las advertencias?
 
RaptorUK:
¿Qué son las advertencias?

advertencia es:

posible pérdida de datos debido a la conversión de tipo Ciiio.mq5 676 10

Documentation on MQL5: Language Basics / Data Types / Typecasting
  • www.mql5.com
Language Basics / Data Types / Typecasting - Documentation on MQL5
 

El artículo Migración de MQL4 a MQL5 concluye con la siguiente afirmación

3. Está previsto crear un emulador que le permitirá ejecutar sus programas MQL4 en el nuevo terminal MT5.

¿Quién puede decirme si este emulador ya está disponible o cuándo aparecerá?

 
Novikov:

El artículo Migración de MQL4 a MQL5 concluye con la siguiente afirmación

¿quién puede decirme si este emulador ya está disponible o cuándo aparecerá?

Sí, fue creado al mismo tiempo que el artículo. Pero no tiene sentido, ¡sin funciones comerciales!