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

 
Sergey Pavlov:

Se creó al mismo tiempo que el artículo. ¡Pero no tiene sentido sin funciones de comercio!

Hice (publicado en kodobase) MQL4funciones de comercio que trabajan simultáneamente con MQL5 funciones de comercio.

Por lo tanto, el emulador todavía puede tener sentido.

 
fxsaber:

He hecho (subido a kodobase) MQL4funciones de comercio que trabajan simultáneamente con MQL5 funciones de comercio.

Por lo tanto, todavía puede haber un sentido en el emulador.

https://www.mql5.com/es/code/16006
MT4Orders
MT4Orders
  • 2016.08.05
  • fxsaber
  • www.mql5.com
Параллельное использование ордерных систем MetaTrader 4 и MetaTrader 5.
 

Más sobre el tema.

MQL's OOP notes: Converting MetaTrader 4 indicators to MetaTrader 5
MQL's OOP notes: Converting MetaTrader 4 indicators to MetaTrader 5
  • 2016.09.28
  • //www.mql5.com/en/users/marketeer">
  • www.mql5.com
It has been a long time since MetaTrader 5 was released, but MQL products for MetaTrader 4 do still prevail on mql5.com site (both in the codebase, and in the market), and in the Internet in general....
 
buh400:
Me he dado cuenta de que este tema ya se ha tratado y tengo que leer otro artículo:) Mis mensajes pueden ser borrados

Por favor, dime lo que te has dado cuenta, ¿qué artículo para leer y cómo solucionar el error anterior?

Aquí entiendo que es para añadir un indicador por el usuario - por eso comenté...
 
MT4Orders
MT4Orders
  • votos: 27
  • 2016.10.10
  • fxsaber
  • www.mql5.com
Parallel use of the MetaTrader 4 and MetaTrader 5 order systems.
 

Supongo que todo

MQLInfoInteger(MQL5_....


debería cambiarse a

MQLInfoInteger(MQL_
 

por favor corrija

bool IsTesting()
bool MQLInfoInteger(MQL5_TESTING)
IsTesting
Devuelve TRUE si un Asesor Experto se está ejecutando en el modo de prueba, de lo contrario devuelve FALSE.
MQLInfoInteger

bool IsTesting()
  MQLInfoInteger(MQL_TESTER)
IsTesting
Devuelve TRUE si un Asesor Experto se está ejecutando en el modo de prueba, de lo contrario devuelve FALSE.
MQLInfoInteger

MQL5_TESTING dont work please change it to  MQL_TESTER.
IsTesting - Checkup - MQL4 Reference
IsTesting - Checkup - MQL4 Reference
  • docs.mql4.com
IsTesting - Checkup - MQL4 Reference
 
Enum MAIN_SIGNAL_MODE { MODE_MAIN , MODE_SIGNAL}; 

enum ADX_MODE        { MODE_MAIN,         MODE_PLUSDI, MODE_MINUSDI };

2 misma definición crear error arreglar este error por favor.
 

iBarShift no funciona.

Mi ejecución - no muy seguro, pero funciona correctamente y parece tener sentido

int iBarShift(string symbol,int tf,datetime time,bool exact=false)
  {
   if(time<0) return(-1);
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   datetime Arr[],time1;
   CopyTime(symbol,timeframe,0,1,Arr);
   time1=Arr[0];
   if(time1<time){
      return(0); /// Si la hora dada es menor que la hora de apertura del bar
   }
   if(CopyTime(symbol,timeframe,time,time1,Arr)>0)
     {
      return(ArraySize(Arr));
     }
   else return(-1);
  }
 

No entiendo cómo utilizar la función

bool ObjectSetMQL4(string name,
                   int index,
                   double value)
  {
   switch(index)
     {
      case OBJPROP_TIME1:
         ObjectSetInteger(0,name,OBJPROP_TIME,(int)value);return(true);
      case OBJPROP_PRICE1:
         ObjectSetDouble(0,name,OBJPROP_PRICE,value);return(true);
      case OBJPROP_TIME2:
         ObjectSetInteger(0,name,OBJPROP_TIME,1,(int)value);return(true);
      case OBJPROP_PRICE2:
         ObjectSetDouble(0,name,OBJPROP_PRICE,1,value);return(true);
      case OBJPROP_TIME3:
         ObjectSetInteger(0,name,OBJPROP_TIME,2,(int)value);return(true);
      case OBJPROP_PRICE3:
         ObjectSetDouble(0,name,OBJPROP_PRICE,2,value);return(true);
      case OBJPROP_COLOR:
         ObjectSetInteger(0,name,OBJPROP_COLOR,(int)value);return(true);
      case OBJPROP_STYLE:
         ObjectSetInteger(0,name,OBJPROP_STYLE,(int)value);return(true);
      case OBJPROP_WIDTH:
         ObjectSetInteger(0,name,OBJPROP_WIDTH,(int)value);return(true);
      case OBJPROP_BACK:
         ObjectSetInteger(0,name,OBJPROP_BACK,(int)value);return(true);
      case OBJPROP_RAY:
         ObjectSetInteger(0,name,OBJPROP_RAY_RIGHT,(int)value);return(true);
      case OBJPROP_ELLIPSE:
         ObjectSetInteger(0,name,OBJPROP_ELLIPSE,(int)value);return(true);
      case OBJPROP_SCALE:
         ObjectSetDouble(0,name,OBJPROP_SCALE,value);return(true);
      case OBJPROP_ANGLE:
         ObjectSetDouble(0,name,OBJPROP_ANGLE,value);return(true);
      case OBJPROP_ARROWCODE:
         ObjectSetInteger(0,name,OBJPROP_ARROWCODE,(int)value);return(true);
      case OBJPROP_TIMEFRAMES:
         ObjectSetInteger(0,name,OBJPROP_TIMEFRAMES,(int)value);return(true);
      case OBJPROP_DEVIATION:
         ObjectSetDouble(0,name,OBJPROP_DEVIATION,value);return(true);
      case OBJPROP_FONTSIZE:
         ObjectSetInteger(0,name,OBJPROP_FONTSIZE,(int)value);return(true);
      case OBJPROP_CORNER:
         ObjectSetInteger(0,name,OBJPROP_CORNER,(int)value);return(true);
      case OBJPROP_XDISTANCE:
         ObjectSetInteger(0,name,OBJPROP_XDISTANCE,(int)value);return(true);
      case OBJPROP_YDISTANCE:
         ObjectSetInteger(0,name,OBJPROP_YDISTANCE,(int)value);return(true);
      case OBJPROP_FIBOLEVELS:
         ObjectSetInteger(0,name,OBJPROP_LEVELS,(int)value);return(true);
      case OBJPROP_LEVELCOLOR:
         ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,(int)value);return(true);
      case OBJPROP_LEVELSTYLE:
         ObjectSetInteger(0,name,OBJPROP_LEVELSTYLE,(int)value);return(true);
      case OBJPROP_LEVELWIDTH:
         ObjectSetInteger(0,name,OBJPROP_LEVELWIDTH,(int)value);return(true);

      default: return(false);
     }
   return(false);
  }

El compilador advierte

'OBJPROP_TIME1' - identificador no declarado TZ_Sky_and_Ground_V_04.mq5 2891 12
'OBJPROP_TIME1' - expresión constante requerida TZ_Sky_and_Ground_V_04.mq5 2891 12
'OBJPROP_PRICE1' - identificador no declarado TZ_Sky_and_Ground_V_04.mq5 2893 12
'OBJPROP_PRICE1' - expresión constante requerida TZ_Sky_and_Ground_V_04.mq5 2893 12
'OBJPROP_TIME2' - identificador no declarado TZ_Sky_and_Ground_V_04.mq5 2895 12
'OBJPROP_TIME2' - expresión constante requerida TZ_Sky_and_Ground_V_04.mq5 2895 12
'OBJPROP_PRICE2' - identificador no declarado TZ_Sky_and_Ground_V_04.mq5 2897 12
'OBJPROP_PRICE2' - expresión constante requerida TZ_Sky_and_Ground_V_04.mq5 2897 12
'OBJPROP_TIME3' - identificador no declarado TZ_Sky_and_Ground_V_04.mq5 2899 12
'OBJPROP_TIME3' - expresión constante requerida TZ_Sky_and_Ground_V_04.mq5 2899 12
'OBJPROP_PRICE3' - identificador no declarado TZ_Sky_and_Ground_V_04.mq5 2901 12
'OBJPROP_PRICE3' - expresión constante requerida TZ_Sky_and_Ground_V_04.mq5 2901 12