struct complex { double real; // parte real double imag; // parte imaginaria };El tipo "complex" puede transmitirse mediante un valor en calidad de parámetro para las funciones MQL5 (a diferencia de las estructuras normales, que se transmiten mediante un enlace). Para las funciones importadas desde una DLL, el tipo "complex" debe transmitirse solo mediante un enlace.
complex square(complex c) { return(c*c); } void OnStart() { Print(square(1+2i)); // se transmite una constante como parámetro } // se mostrará "(-3,4)", la representación de línea del número complejoPara los números complejos, en estos momentos están disponibles solo las operaciones sencillas: =, +, -, *, /, +=, -=, *=, /=, ==, !=.
select count(*) as book_count, cast(avg(parent) as integer) as mean, cast(median(parent) as integer) as median, mode(parent) as mode, percentile_90(parent) as p90, percentile_95(parent) as p95, percentile_99(parent) as p99 from moz_bookmarks;
void func(int &arr[ ][ ][ ][ ]) { }
struct MyStruct { string Array[]; }; void OnStart() { MyStruct a1,a2; ArrayResize(a1.Array,3); ArrayResize(a2.Array,1); a1=a2; }Antes, como resultado de la llamada de esta función, la matriz "а1" tenía un tamaño 3. Ahora, tendrá un tamaño 1.
Documentación actualizada.
ENUM_FP_CLASS MathClassify( double value // número real );La enumeración contiene los siguientes valores:
if(MathClassify(value)>FP_ZERO) { Print("value is not a valid number"); }
Modificados los criterios de optimización
en los que se consideraban dos índices: el balance y un cierto segundo
factor. Ahora, en ellos se considera solo el segundo factor, sin
balance. Estos criterios son los más sencillos y comprensibles para el
análisis.
Hemos atendido las peticiones de los usuarios de la versión iOS de MetaTrader 5 e implementado un resideño de la aplicación a gran escala
import sys chart_symbol='unknown' chart_tf=1 if len(sys.argv) == 3: chart_symbol, chart_tf = sys.argv[1:3]; print("Hello world from", chart_symbol, chart_tf) >> Hello world from T.NYSE 15
long DatabaseImport( int database, // manejador de la base de datos obtenido en DatabaseOpen const string table, // nombre del recuadro para insertar los datos const string filename, // nombre del archivo para importar los datos uint flags, // combinación de banderas const string separator, // separador de datos ulong skip_rows, // cuántas primeras líneas se omitirán const string skip_comments // línea de símbolos que definen los comentarios );
long DatabaseExport( int database, // manejador de la base de datos obtenido en DatabaseOpen const string table_or_sql, // nombre del recuadro o solicitud SQL const string filename, // nombre del archivo CSV para exportar datos uint flags, // combinación de banderas const string separator // separador de datos en el archivo CSV );
long DatabasePrint( int database, // manejador de la base de datos obtenido en DatabaseOpen const string table_or_sql, // recuadro o solicitud SQL uint flags // combinación de banderas );
int FileSelectDialog( string caption, // encabezado de la ventana string initial_dir, // carpeta inicial string filter, // filtro de extensiones uint flags, // combinación de banderas string& filenames[], // matriz con los nombres de los archivos string default_filename // nombre del archivo por defecto );La nueva función permite implementar una cómoda interacción entre el usuario y un programa MQL5.
#property optimization_chart_mode "3d,InpX,InpY"Al usarla, usted podrá establecer el tipo de gráfico abierto al finalizar la optimización, así como los parámetros del programa para su eje X e Y.
double MathArctan2( double y // coordenada y del punto double x // coordenada x del punto );
Añadida la traducción de la interfaz de usuario al panyabí (India).
Documentación actualizada.
Correcciones de crash logs.
La actualización estará disponible a través del sistema Live Update.