Errores, fallos, preguntas - página 763

 
x100intraday:

...Si los puntos de magnitud están ligados a los extremos (casos especiales) o a las coordenadas del gráfico en general - precio/tiempo, entonces ¿a qué está ligada la "Escala", me pregunto? Si hay algunos valores exactos de escala que se vierten en la plantilla al escribir... o pips por barra, no permite restaurar el esquema original en una nueva sesión. Sólo se conservan las coordenadas exactas del primer punto. A grandes rasgos, los patrones basados en el anclaje de puntos a coordenadas explícitas y simples son más fiables.

El primer punto es el precio y el tiempo, el segundo punto es el tiempo, el precio se calcula considerando la escala en n/b.

No sé lo que está escrito en la plantilla, creo que debería tener los 4 valores: 2 veces, precio del primer punto, escala.

Entonces puede haber problemas si faltan barras, supongo.

 
Silent:

No es un problema de eliminación, es un problema de creación :)

A mí me pasó lo mismo con un script con el bucle equivocado. Imprimió el bucle, incluso después de borrar a la fuerza el script a través dela "Lista de Expertos", hasta que apareció con un error.

¿No está seguro de por qué el error de creación?

Creo sin bucle, no lo necesito para 3 objetos.

Sólo lo hago para cada uno:

if(ObjectFind(0,_name)!=0)//если не нашли создаем
     {
      ObjectCreate(0,_name,OBJ_RECTANGLE,0,_begin_time,_open,_end_time,_close);
         ObjectSetInteger(0,_name,OBJPROP_STYLE,STYLE_SOLID);
         ObjectSetInteger(0,_name,OBJPROP_WIDTH,Width);
         ObjectSetInteger(0,_name,OBJPROP_BACK,_Top);
         ObjectSetInteger(0,_name,OBJPROP_FILL,_BG);
         ObjectSetInteger(0,_name,OBJPROP_SELECTED,false);
         ObjectSetInteger(0,_name,OBJPROP_COLOR,_Color);
     }
else //если нашли модифицируем
     {
      ObjectMove(0,_name,0,_begin_time,_open);
      ObjectMove(0,_name,1,_end_time,_close);
      ObjectSetInteger(0,_name,OBJPROP_COLOR,_Color);
     }

En general, están apareciendo las primeras pistas, pero es demasiado pronto para saberlo.

 

¿Compruebas que el objeto fue creado en el código?

Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
  • www.mql5.com
Основы языка / Операторы / Оператор создания объекта new - Документация по MQL5
 
kPVT:

No entiendo por qué el error de creación?

...

Porque sí.
kPVT:

...

Los objetos se borran, pero se vuelven a crear y siguen "moviéndose" como si el indicador siguiera funcionando.

Si se borran manualmente, se vuelven a crear con el mismo nombre y siguen "moviéndose" a medida que entran nuevas garrapatas.

...

El indicador los busca con cada tick y crea o modifica, según tengo entendido.

Tal vez: si ya está presente y se ha modificado, no hay nada que hacer (bloquear).

 
alexvd:

¿Comprueba el hecho de que el objeto se haya creado en el código?

Silenciosa:
Tal vez: si ya existe y se modifica - no falta nada por hacer (bloque)?

La razón es la siguiente.

Si se obtiene la manija del indicador #1 desde el indicador #2, no se completa el deinit del indicador #1, hasta que se borre el indicador #2.

Si hay construcciones de búfer, se eliminan, pero los objetos gráficos permanecen.

Aquí hay dos indicadores para probar.

1. Adjuntamos test_del_obj, luego test_id.

2. Eliminamos test_del_obj - el cubo de test_del_obj permanece.

3. Eliminar test_id - el cubo es eliminado y vemos en el registro que sólo ahora se ejecuta el indicador deinit de test_del_obj.

Archivos adjuntos:
 

Otra pregunta.

¿El asa del indicador está unida al gráfico?

Si se modifica el indicador test_id añadiendo un sondeo temporizado del manejador del indicador test_del_obj, se puede ver que el valor aumenta en 1 por cada petición.

Archivos adjuntos:
 

ArrayResize() no funciona correctamente

Al disminuir el tamaño de una matriz dinámica, ArrayResize() recorta los elementos del lado equivocado de la matriz.

Código:

   double Arr[];
   ArrayResize(Arr,5);
   Arr[0]=101;
   Arr[1]=102;
   Arr[2]=103;
   Arr[3]=104;
   Arr[4]=105;   
   Print("Начальный массив: ",Arr[0],":",Arr[1],":",Arr[2],":",Arr[3],":",Arr[4]);
   ArraySetAsSeries(Arr,true);
   ArrayResize(Arr,4);
   Print("Обрезанный массив: ",Arr[0],":",Arr[1],":",Arr[2],":",Arr[3]);

Resultado:

2012.07.04 21:28:53     Ind2 (EURUSD,H4)        Обрезанный массив: 104.0:103.0:102.0:101.0
2012.07.04 21:28:53     Ind2 (EURUSD,H4)        Начальный массив: 101.0:102.0:103.0:104.0:105.0

Mismo código y resultado en MetaTrader 4:

2012.07.04 21:28:35     ind2 EURUSD,H4: Обрезанный массив: 105:104:103:102
2012.07.04 21:28:35     ind2 EURUSD,H4: Начальный массив: 101:102:103:104:105
Archivos adjuntos:
Ind2.mq5  2 kb
 

Estimados desarrolladores de MT5. Llamo su atención - lo más importante para un servidor de Forex es la corrección de las cotizaciones. Por lo tanto, investigue la incorrección en su MT5 (servidor MetaQuotes-Demo):

1) Cambiar el volumen en las velas cargadas previamente - por ejemplo, hoy a las 8:00 EURUSD H4, los valores eran 0:00 - 6171, 4:00 - 7049, 8:00 - 13361. Y al cargar a las 20:00 (en Europa), los valores eran 0:00 - 7701, 4:00 - 8859, 8:00 - 16306. En general, no será difícil para usted ver que el volumen está pasando en el habla rusa jodido. Como tengo el honor de hablar no sólo en mi nombre, sino también a petición de los compañeros, digo - es muy frustrante para los que utilizan el modelo con volumen y con su acumulación.

2) Pongamos Alpari MT4 a la izquierda y Metaquotes MT5 a la derecha y sorprendámonos de que los minutos en Metaquotes se cierran mucho antes que en Alpari. Lo comprobamos con time.windows.com y el reloj de nuestra mano: ¡la hora del servidor de metaquotes se adelanta! - Los operadores de Pips se quejan aquí - hay una fuente aleatoria significativa en el comercio.

3) Un deseo generalmente escandaloso - podemos hacer que la oferta y la demanda estén disponibles tanto para guardar como para ver, por separado y/o conjuntamente. Me lo han pedido, pero me doy cuenta de que no es realista. Por lo que tengo entendido en MT3 en general había algo entre el bid y el ask, y probablemente esté en el historial. Ahora sólo bid.

 
MoneyJinn:

ArrayResize() no funciona correctamente

Así es. AsSeries es sólo una bandera.
 
TheXpert:
Todo es correcto. AsSeries es sólo una bandera.

Vea el comportamiento de los elementos del array influenciados porArraySetAsSeries(Arr,true) y cómo funciona en 4.

Me gustaría añadir. que a finales de 2011 todo funcionaba correctamente, porque escribí código sobre este tema, que ahora ya no funciona.