Errores, fallos, preguntas - página 2184

 

Se transfiere a mt4 sin problemas.

¿Cómo puedo transferir una matriz a mt5?

void OnTick()
 {
  int m[][2];
  Array(m);

  int k[][3];
  Array(k); // 'k' - parameter conversion not allowed
 }

template<typename T>
void Array(T& arr[][2]) { }
 
Vitaly Muzichenko

¿Cómo se pasa un array en mt5?

En C++ sería algo así

template<typename T, int n>
void Array(T arr[][n]) {}
 

Error durante la ejecución

struct A {
        A() : i( 1 ) {}
        int i;
};
struct B : A {};
void OnStart()
{
        B b;
        Print( b.i );
}

Resultado: 0

Esperado: 1

 
A100:

En C++ sería algo así:

Pero en mql5 ¿cómo?

 
Vitaly Muzichenko:

¿Qué tal en mql5?

No hay ningún mecanismo de este tipo

 

Incomprendido .

struct String {};
String f1() { String s; return s; }
string f2() { string s; return s; }
void   g1( String& ) {}
void   g2( string& ) {}
void OnStart()
{
        g1(f1()); //нормально
        g2(f2()); //Error: 'f2' - parameter passed as reference, variable expected
}

En el primer caso está bien, en el segundo es un error de compilación. ¿Cuál es la diferencia?

 

Las palabras clave no funcionan correctamente en el preprocesador

//#define struct class 
struct A {
#ifdef struct
public:
        void f( A* ) {} //Error ???
#else
        void f( A& ) {}
#endif
};
//#define string String 
void OnStart()
{
#ifdef string
        Print( 1 );
#else
        Print( 2 );
#endif
}

Resultado: 1

Esperado: 2

 
Vladimir Karputov:

Son conscientes de este error y lo están arreglando. Yo mismo estoy esperando.

Se está tardando mucho en arreglar https://www.mql5.com/ru/forum/216476/page7#comment_5834235

Ahí estaba.

#include <Controls\WndContainer.mqh>
class Rect {};

Aquí

#include <Trade/Trade.mqh>
class Entry {};
y la propia solicitud #1660355 fue de hecho ya hace más de un año https://www.mql5.com/ru/forum/1111/page1797#comment_4042334
Предложение для удобства использования MetaEditor
Предложение для удобства использования MetaEditor
  • 2017.09.29
  • www.mql5.com
Здравствуйте. Хотел бы предложить разработчикам сделать в MetaEditor стандартизировать отступы при написание кода, как это сделано в VisualStudio...
 

Sugiero que OnTesterInit permita especificar el símbolo de prueba principal

enum ENUM_TESTER_INFO_STRING
{
  TESTER_SYMBOL;
};

string TesterInfoString( const ENUM_TESTER_INFO_STRING property_id );
bool TesterSetString( const ENUM_TESTER_INFO_STRING property_id, const string property_value );

void OnTesterInit()
{
  TesterSetString(TESTER_SYMBOL, "EURUSD");
}
 

Все символы, выбранные в окне "Обзор рынка"

A diferencia de los dos anteriores, este modo de optimización le permite probar el EA con los mismosparámetros de entrada, pero en diferentes símbolos. En cada pase de optimización, sólo se cambiael símbolo principal de laprueba del EA, es decir, el símbolo del gráfico al que se adjuntará el EA.

La optimización se realiza sólo en aquellos símbolos que están actualmente seleccionados en la ventana"Market Watch". De este modo, puede gestionar la optimización ajustando el conjunto de símbolos seleccionados.

  • Tenga en cuenta que la descarga de los datos de precios necesarios desde el servidor puede llevar mucho tiempo. Sin embargo, la ralentización del proceso de optimización como consecuencia de la descarga de datos sólo se produce cuando se lanza por primera vez en un símbolo, posteriormente sólo se descargan los datos que faltan.
  • Los valores actualesde los parámetros de entrada especificados en la columna "Valor" se utilizan durante la optimización de los símbolos.


Falta mucho el modo de optimización, cuando hay una enumeración secuencial de símbolos de Market Watch y en cada uno de ellos hay una optimización de los parámetros de entrada.

Este modo es muy útil cuando se busca el símbolo apropiado para el TS. Y es especialmente relevante cuando existen símbolos personalizados - usted crea diferentes símbolos personalizados y mira sus propiedades en el Optimizador.

Оптимизация стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Оптимизация стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...