HistorySelect es una función muy cara. Pero HistorySelectByPosition es aún más caro.
Por ejemplo, si necesitamos encontrar el primer trato de la posición cerrada, podemos actuar de dos maneras
Hacer HistorySelectByPosition y luego encontrar el acuerdo necesario de la pequeña lista obtenida. Pero esta lista se forma de la siguiente manera En primer lugar se forma TODO el historial (equivalente a la llamada del "infinito" HistorySelect). A continuación, se realiza un bucle FULL for a través de esta lista y sólo se seleccionan las ofertas que tienen un POSITION_IDENTIFIER adecuado.
Haga HistorySelect (puede "infinito", pero es mejor usar un intervalo, si se conoce), luego en el bucle for haga un break, cuando llegue al DEAL_ENTRY correspondiente.
El segundo punto podría ser mucho más barato. Pero ciertamente no es más caro.
Llamar a las funciones HistorySelect* en el probador es casi un desperdicio de recursos computacionales. Por lo tanto, siempre hay que tratar de minimizar su número. Especialmente HistorySelectByPosition.
fxsaber: Para las cuentas de cobertura en el probadorEsto significa que el resultado del probador depende en gran medida del tipo de cuenta.
Como se ha visto en uno de los hilos vecinos, el resultado de la prueba depende incluso de si la prueba se realiza en un agente local o en uno de los agentes de una red distribuida.
Como se ha visto en uno de los hilos vecinos, el resultado del comprobador depende incluso de si la prueba tiene lugar en el agente local o en uno de los agentes de la red distribuida.
Estimados desarrolladores, ¿cómo deshacerse de los avisos en esta situación?
template <typename T>
T GetValue()
{
T Res; // possible use of uninitialized variable 'Res'return(Res);
}
voidOnStart()
{
MqlTick Tick = GetValue<MqlTick>();
int i = GetValue<int>();
}
Lifehack
template <typename T>
const T GetDefaultValue( void )
{
struct STRUCT_TYPE
{
const T Value;
};
const STRUCT_TYPE Res = {0};
return(Res.Value);
}
voidOnStart()
{
int i = GetDefaultValue<int>();
MqlTick Tick = GetDefaultValue<MqlTick>();
string Str = GetDefaultValue<string>();
}
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
HistorySelect es una función muy cara. Pero HistorySelectByPosition es aún más caro.
Por ejemplo, si necesitamos encontrar el primer trato de la posición cerrada, podemos actuar de dos maneras
El segundo punto podría ser mucho más barato. Pero ciertamente no es más caro.
Llamar a las funciones HistorySelect* en el probador es casi un desperdicio de recursos computacionales. Por lo tanto, siempre hay que tratar de minimizar su número. Especialmente HistorySelectByPosition.
Para las cuentas de cobertura en el probadorEsto significa que el resultado del probador depende en gran medida del tipo de cuenta.
Como se ha visto en uno de los hilos vecinos, el resultado de la prueba depende incluso de si la prueba se realiza en un agente local o en uno de los agentes de una red distribuida.
https://www.mql5.com/ru/forum/1111/page1880#comment_4904481
Como se ha visto en uno de los hilos vecinos, el resultado del comprobador depende incluso de si la prueba tiene lugar en el agente local o en uno de los agentes de la red distribuida.
https://www.mql5.com/ru/forum/1111/page1880#comment_4904481
Has descrito a BAG, que no está en el contexto de este hilo. La ejecución diferente de los limitadores es la posición oficial.
De acuerdo, sólo quería señalar que el probador se está convirtiendo en una herramienta cada vez más impredecible.
Estoy de acuerdo, sólo quería señalar que el probador se está convirtiendo en una herramienta cada vez más impredecible.
Esto significa que el resultado del probador depende en gran medida del tipo de cuenta.
Resultado
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
Bichos, errores, preguntas
fxsaber, 2017.04.10 16:53
Estimados desarrolladores, ¿cómo deshacerse de los avisos en esta situación?Funciones rudimentarias (no necesarias)