Símbolos personalizados. Errores, fallos, preguntas, sugerencias. - página 11

 
fxsaber:

2033:

2063:

 
fxsaber:

Bug 07.

El probador genera barras por Último para los símbolos personalizados de la acción con el precio de la oferta para construir barras.

En consecuencia, el historial de barras en el Terminal y en el Probador es completamente diferente. Y si alguien utiliza barras en el TS (indicadores, por ejemplo), el resultado del backtest es aleatorio para él.

Si por instrumento de cambio entendemos una herramienta con una profundidad de la copa no nula, la construcción de barras en este caso ha sido corregida.

O bien pon tu propio ejemplo.

 
fxsaber:

Bug 01.

El cuadro de caracteres personalizados está abierto. Si, por ejemplo, elimina manualmente todo el historial de barras y ticks, la ventana del gráfico se queda colgada, sin refrescarse.

Comportamiento esperado como con un símbolo personalizado vacío.

Explique con más detalle lo que quiere decir con

Se ha borrado todo el historial de barras, el gráfico de símbolos personalizados está vacío con el texto "Waiting for update". ¿Qué pasa?

 

Bug 13.

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

Plataforma MetaTrader 5 beta build 2055: Integración con Python y mejoras masivas en el probador de estrategias

fxsaber, 2019.05.25 10:33

Reproducción de un error visual (crispación del gráfico) aplicación ChartSetSymbolPeriod

// Пример создания "живого" символа.

#include <Symbol.mqh> // https://www.mql5.com/ru/code/18855

const bool Init = EventSetMillisecondTimer(20); // С такой частотой будем пробрасывать тики

void OnInit()
{
  MathSrand((int)TimeLocal());
}

long Chart2 = 0;

void OnTimer()
{
  static bool FirstRun = true;

  static const SYMBOL Symb("CUSTOM_" + _Symbol + (string)MathRand()); // Создали символ
  
  static MqlTick Ticks[];
  static int Pos = 0;
    
  if (FirstRun)
  {
    Symb.DeleteHistory();       // Мало ли что-то было в истории - грохнули
    Symb.Delete(true);          // Символ тоже прибьем, чтобы исключить наличие тика в Обзоре рынка
    Symb.Create(NULL, _Symbol); // Воскресили девственно чистым.
    
    if (Symb.IsExist() && Symb.On())   // Если все отлично
    {     
      Chart2 = ChartOpen(Symb.Name, PERIOD_M1); // Открыли чарт
      CopyTicksRange(_Symbol, Ticks, COPY_TICKS_INFO, (ulong)D'2019.05.20' * 1000); // Взяли тики для проброса
    }
      
    FirstRun = false;
  }
  else if (Pos < ArraySize(Ticks))
  {
    Symb += Ticks[Pos++]; // Пробрасываем по тику
    
    // Для обновления чарта.
    ChartSetSymbolPeriod(Chart2, Symb.Name, PERIOD_M1); // Без этой строки дерганья графика прекращаются
    ChartRedraw(Chart2);    
  }
}

La animación muestra el movimiento del gráfico. Si se elimina ChartSetSymbolPeriod, el temblor se detiene.

 
Slava:

Explique con más detalle lo que quiere decir con esto.

Se ha borrado todo el historial de barras, el gráfico del símbolo personalizado está vacío con "Waiting for update" escrito en él. ¿Qué pasa?

Ejecuta este EA. Después de algunas barras, desactívelo sin cerrar el gráfico. Usa CTRL+U para borrar todas las barras.

 
fxsaber:

Bug 13.

El mismo Asesor Experto también reproduce el siguiente error

A la izquierda - el gráfico, a la derecha - su ventana de propiedades (F8).

 

Bug 14.

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

Plataforma MetaTrader 5 beta build 2055: Integración con Python y mejoras masivas en el probador de estrategias

fxsaber, 2019.05.27 09:10

De alguna manera se ha conseguido un símbolo personalizado que puede ser eliminado de Market Watch cuando el gráfico está abierto.

Dirigiendo a este asesor.

 

Bug 15.

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

Plataforma MetaTrader 5 beta build 2055: Integración con Python y mejoras masivas en el probador de estrategias

fxsaber, 2019.05.25 10:54

Después de cada aplicación de CustomRatesUpdate hay una puesta a cero de prev_calculated en los indicadores que se están ejecutando en el símbolo personalizado correspondiente.

Esto es un error. prev_calculated debería traducirse a la primera barra que se aplicó en CustomRatesUpdate.


ZY Mismo error con CustomRatesReplace.

En el símbolo de este EA (con la fila ChartSetSymbolPeriod eliminada) lanzamos el siguiente indicador

#property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots indicator_buffers

int OnCalculate( const int rates_total, const int prev_calculated, const int, const double &[] )
{
  Print(prev_calculated);
  
  return(rates_total);
}

Devuelve sólo ceros.

 
Slava:

Si por instrumento de stock se entiende un instrumento con una profundidad de la copa no nula, la construcción de la barra en este caso ha sido corregida.

O bien pon tu ejemplo.

Ahora (2067) tengo todo correcto con esto, Gracias.

 
fxsaber:

2063:

2069: