Errores, fallos, preguntas - página 2585
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¿Dónde y en qué momento se borra el mango del indicador?
Tan pronto como ya no sea necesario. Y antes de OnDeinit.
Tan pronto como ya no era necesario. Y antes de OnDeinit.
Esa es la cuestión, en cuanto ya no es necesario, lo borro. ¿Cómo puedo decirle a un programa que está siendo eliminado si OnDeinit no funciona?
Esa es la cuestión, en cuanto ya no es necesario, lo borro. ¿Cómo puede saber un programa que está siendo eliminado si OnDeinit no funciona?
Dame la tarea real.
El verdadero problema es decirme el verdadero problema.
El verdadero problema se solucionó fácilmente al evitar obtener su propio mango, ya que no necesita su propio mango:
Estoy pensando: ¿y si necesito mi propio mango...
hubo esos problemas, pero no los recuerdo
Sólo pienso: que si necesitas tu propio mango...
Hubo tareas de este tipo, pero no las recuerdo.
Init_Sync tiene esa necesidad.
puesto 25786
Por el método de la aleatoriedad, he definido una copia normal en la cadena de mql, una cadena de tipo const wchar_t*.
Con este parámetro en la función memcpy, mql empezó a recibir cadenas uniformes, y sin fugas.
Es decir, en lugar de 2 bytes sizeof(wchar_t), utilizaba 3 bytes.
Pero curiosamente, la cadena literal autodescrita se pasa correctamente con sizeof(wchar_t).La cadena mql comenzó a tomar correctamente un puntero a la cadena const wchar_t *.
¿Está bien?
Al azar, definí la copia normal a la cadena mql, una cadena de tipo const wchar_t*
Con tal parámetro en la función memcpy, mql comenzó a recibir cadenas pares, y sin fugas.
Es decir, en lugar de 2 bytes sizeof(wchar_t), utilizaba 3 bytes.
Pero curiosamente, la cadena literal autoescrita se pasa correctamente con sizeof(wchar_t).La cadena mql comenzó a tomar correctamente un puntero a la cadena const wchar_t*
¿Es normal?
¿Por qué se utiliza memcpy en lugar de wcscpy normal?
¿Por qué usar memcpy en lugar del normal wcscpy?
Se utilizó memcpy como se muestra enel artículo de ejemplode Renate.
El uso de otras funciones de copia provoca los mismos problemas.
El comportamiento con estas funciones se describe en este post y eneste
Se han probado todas las funciones de copia posibles.
void OnInit()
{
datetime first_date;
SeriesInfoInteger(_Symbol,_Period,SERIES_FIRSTDATE,first_date);
int bars=Bars(_Symbol,_Period);
Print("First date ",first_date," - ",bars," bars");
datetime time[];
CopyTime(_Symbol,PERIOD_M15,D'2015.01.01',100000,time);
Print("rows=",100000," =? ",ArraySize(time));
Print("Load data from ",D'2015.01.01'," =? ",time[0]," to ",time[ArraySize(time)-1],", rows=",100000," =? ",ArraySize(time));
//---
}
void OnTick(){
}
lee unos 37.000 bares. Cuando se ejecuta en el terminal lee las 100000 barras.
He intentado añadir el código de paginación del servidor en https://www.mql5.com/ru/docs/series/timeseries_access#synchronized
Pero nada cambia.
¿Cómo se leen estas 100000 barras en el probador?
¿Cómo se calculan estas 100.000 barras?
Empiece por leer el artículo https://www.mql5.com/ru/articles/239