Errores, fallos, preguntas - página 324

 
Urain:

No aclaré esta cuestión en su momento, y ahora tengo dudas.

¿Cuál es la forma correcta de reservar la memoria?

así

o como sigue

Y corrige la ayuda, es muy ambigua.

ZS En las variantes dadas se implica que el tamaño de la memoria asignada teniendo en cuenta la reserva debe ser 2016.

Por el momento funciona así

ArrayResize(array,10,2000);

Esto asignará un buffer para 2010 elementos y 10 de ellos estarán disponibles.

Esprobable que esto cambie en un futuro próximo.

 
alexvd:

Por el momento funciona así

Esto asignará un buffer de 2010 artículos y 10 de ellos estarán disponibles.

Estopodría cambiar pronto.

¿Por qué no 2000 buffers de los cuales 10 están disponibles?

En mi opinión, esto tiene más sentido.

 
alexvd:

Por el momento, funciona de la siguiente manera

Esto asignará un buffer de 2010 artículos y 10 de ellos estarán disponibles.

...

Lo entiendo, en algún lugar como este:

int reserved=0;// размер распределённой памяти
//+------------------------------------------------------------------+
//| изменение размера массива                                        |
//+------------------------------------------------------------------+
int Resize(int size)
  {
   int step=4;// резервирование с шагом 2^4=16
   int new_reserv=0;
   if((size>>step<<step)>=reserved)
     {
      reserved=((size>>step)+1)<<step;
      new_reserv=reserved-size;// сколько памяти нужно дорезервировать      
      ArrayResize(arr,size,new_reserv);      
     }
   else ArrayResize(arr,size);     
   Print("ArrayResize(arr,"+size+","+new_reserv+"); reserved="+reserved);
   return(size);
  }

...

Estopodría cambiar en un futuro próximo.

¿Qué tiene de malo el actual plan de despido?

 

No sé si es un bug o no, pero al optimizar Asesores Expertos basados en un indicador pesado como el CCFp(Indicador de Cluster) al final de la pasada aparece la siguiente ventana en el agente local: Strategy Tester Agent ha dejado de funcionar.

Al cerrar esta ventana, el programa no aparece y en un par de segundos continúa la optimización, y los resultados de la pasada se registran en el informe.

La siguiente información está presente en el código EA

void OnDeinit(const int reason)
{
IndicatorRelease(CCp_Handle);
}

Si la línea IndicatorRelease(CCp_Handle); se comenta, la optimización va sin errores.

No soy bueno en programación, pero mi pregunta es: ¿Cuándo necesito usar esta función en indicadores y Asesores Expertos? En mi código del indicador CCFp también se utiliza la desinicialización con liberación de asas de un montón de muvings.

Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
Построение мультивалютного индикатора с применением множества промежуточных индикаторных буферов
  • 2010.05.17
  • Alexey Klenov
  • www.mql5.com
В последнее время возрос интерес к кластерному анализу рынка FOREX. MQL5 открывает новые возможности исследования закономерностей движения валютных пар. Важным преимуществом MQL5, по сравнению с MQL4, является возможность использования неограниченного количества индикаторных буферов. В данной статье описан пример построения мультивалютного индикатора.
Archivos adjuntos:
optim.jpg  580 kb
 
52_rus:

No sé si es un bug o no, pero al optimizar Asesores Expertos basados en un indicador pesado como el CCFp(Indicador de Cluster) al final de la pasada aparece la siguiente ventana en el agente local: Strategy Tester Agent ha dejado de funcionar.

Al cerrar esta ventana, el programa no aparece y en un par de segundos continúa la optimización, y los resultados de la pasada se registran en el informe.

Escriba al Servicio de Atención al Cliente. Adjunte el código fuente y las condiciones de optimización.
 

Las interrupciones de la conexión se han vuelto más frecuentes/largas.

 20110224

...

GI 1 Red 15:02:34 '728041': conexión a MetaQuotes-Demo perdida

HJ 0 Red 13:19:25 '728041': conectándose a un punto de acceso con una calidad del 83% (anterior: 83%)

...


20110302

...

KJ 0 Red 08:53:17 '728041': escaneando la red en busca de puntos de acceso

IL 0 Red 08:54:14 '728041': escaneo de red finalizado

ME 0 Red 08:54:14 '728041': conexión automática a un punto de acceso mejor con una calidad del 93 % (anterior: 61 %)

LK 1 Red 08:54:14 '728041': conexión a MetaQuotes-Demo perdida

ES 0 Red 12:05:25 '728041': conectándose a un punto de acceso con una calidad del 92 % (anterior: 0 %)

KN 0 Red 12:05:26 '728041': autorizado en MetaQuotes-Demo a través del Punto de Acceso 1 Europa

MF 0 Red 12:05:26 '728041': terminal sincronizada con MetaQuotes Software Corp.

O 0 Red 15:08:22 '728041': escaneando la red en busca de puntos de acceso

QD 0 Red 15:09:18 '728041': escaneo de red finalizado

...


20110303

...

FI 1 Red 21:26:45 '728041': conexión a MetaQuotes-Demo perdida

PL 0 Red 10:10:49 '728041': conectándose a un punto de acceso con una calidad del 83 % (anterior: 83 %)

...

 
Quiero utilizar variables externas en el script para poder establecer el valor requerido antes de ejecutarlo. En MT4 esto se implementaba usando la #propiedad show_iputs, pero en MT5 no es posible (existe la #propiedad script_show_inputs, pero no da nada). Si alguien se ha enfrentado a una cuestión de este tipo, por favor, aconseje cómo hacerlo.
Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
  • www.mql5.com
Основы языка / Препроцессор / Свойства программ (#property) - Документация по MQL5
 
DenisR:
Quiero utilizar variables externas en el script para poder establecer el valor requerido antes de ejecutarlo. En MT4 esto se implementaba usando la #propiedad show_iputs, pero en MT5 no es posible (existe la #propiedad script_show_inputs, pero no da nada). Si alguien se ha encontrado con este problema, por favor, que aconseje cómo hacerlo.
¿Funcionanlas variables de entrada?
 
Yedelkin:
¿Funcionanlas variables de entrada?
Gracias, todo funciona.
 
DenisR:
Quiero utilizar variables externas en el script para poder establecer el valor requerido antes de ejecutarlo. En MT4 esto se implementaba usando la #propiedad show_iputs, pero en MT5 no es posible (existe la #propiedad script_show_inputs, pero no da nada). Si alguien se ha encontrado con este problema, por favor, que aconseje cómo hacerlo.
Mierda... El terminal viene con tantos ejemplos... ...tantos ejemplos... Script SymbolInfoSample.mq5, por ejemplo