Librerías: Symbol - página 7

 
Aleksey Vyazmikin:

Por supuesto, los datos de origen están en el terminal: futuros de años anteriores. ¿Qué significa formar un archivo de ticks? En general, estaría satisfecho con la variante de probar OHLC en M1, sin ticks adicionales, por así decirlo.

Para formar un símbolo personalizado necesita sus ticks o sus barras.

¿Y por qué no te gustan los últimos precios? Una vez más, yo no entendía sobre el precio de formación de barras - barras de minutos va a hacer, a los precios de la original. En general, necesito lo mismo que en un futuro por separado, y el hecho de que no coincidirá con el real en cualquier configuración, por lo que es claro - de acuerdo a mis observaciones es necesario poner 5 puntos en el menos en promedio, si la prueba en todos los ticks.

Tengo una visión ligeramente diferente de cómo debe ser todo. Yo tampoco uso barras e indicadores. Lo conté en algún sitio del foro.

¿Puedes ayudarme con un script de este tipo?

Parece que me he formado una mala reputación aquí, ya que se plantean este tipo de preguntas.

En cuanto a los símbolos personalizados, este hilo contiene el 95% de lo que necesitará para resolver este problema.

 
fxsaber:

Para formar un símbolo personalizado, necesita sus ticks o sus barras.

Tengo una visión ligeramente diferente de cómo deben ser las cosas. Tampoco utilizo barras e indicadores. En alguna parte hablé de ello en el foro.

Parece que me he formado una mala reputación aquí, ya que se plantean estas cuestiones.

En cuanto a los símbolos personalizados, este hilo tiene el 95% de lo que se necesitaría para resolver este problema.

Aprecio su tiempo, sólo pensé que el código permitiría implementar esto sin una gran inversión de tiempo. Personalmente no sé cómo copiar en un carácter personalizado una docena de otros uno tras otro y cambiar la fecha sobre la marcha para que no se solapen.

 
Aleksey Vyazmikin:

No sé cómo copiar docenas de otros símbolos uno tras otro en un símbolo personalizado y cambiar la fecha sobre la marcha para que no se solapen.

Un símbolo personalizado es sólo una de las variedades de almacenamiento de citas. Imagina que quieres obtener un archivo CSV de un encolado. Eso es prácticamente lo mismo que un símbolo personalizado.

Así que crear un "archivo CSV" y convertirlo en uno personalizado es cuestión de unas pocas líneas.

 
fxsaber:

Un símbolo personalizado es sólo un tipo de almacenamiento de cotizaciones. Imagine que necesita obtener un archivo CSV de un encolado. Esto es casi lo mismo que un símbolo personalizado.

Así que crear un "archivo CSV" y ponerlo en uno personalizado es cuestión de unas pocas líneas.

Gracias. Genial, puedo crear el archivo, pero ¿cómo lo relleno después?

 
Aleksey Vyazmikin:

Gracias. Genial, puedo crear un archivo, pero ¿cómo lo subo?

No crees un fichero, sino MqlRates[] o MqlTick[]. Te daré una pista.

 
fxsaber:

No crees un archivo, sino MqlRates[] o MqlTick[]. Y luego te daré una pista.

Es más fácil para mí para descargar todo en un archivo, ya que será necesario desplazar la fecha de alguna manera, y luego cargar todo en cada tipo de matriz por separado, como MqlRates[] .

 
La biblioteca tiene una funcionalidad ampliada debido a ciertos eventos. Ejemplo de su uso
// Ejemplo de creación de un símbolo "vivo".

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

const bool Init = EventSetMillisecondTimer(20); // A esta frecuencia lanzaremos ticks

void OnTimer()
{
  static bool FirstRun = true;

  static const SYMBOL Symb("CUSTOM_" + _Symbol); // Creado un símbolo
  
  static MqlTick Ticks[];
  static int Pos = 0;
    
  if (FirstRun)
  {
    Symb.DeleteHistory();       // Pequeñas cosas en la historia han sido rumoreadas.
    Symb.Delete(true);          // También clavaremos el símbolo para excluir la presencia de un tick en la Observación del Mercado.
    Symb.Create(NULL, _Symbol); // Resucitado prístino.
    
    if (Symb.IsExist() && Symb.On())   // Si todo va bien
    {     
      ChartOpen(Symb.Name, PERIOD_M1); // Abierto el gráfico
      CopyTicksRange(_Symbol, Ticks, COPY_TICKS_INFO, (ulong)D'2019.02.01' * 1000); // Toma los ticks para el lanzamiento.
    }
      
    FirstRun = false;
  }
  else if (Pos < ArraySize(Ticks))
    Symb += Ticks[Pos++]; // Lanza un tick
}


Con este símbolo puede depurar indicadores incluso los fines de semana, cuando las cotizaciones están paradas.

 
fxsaber:
La biblioteca ha ampliado su funcionalidad debido a ciertos acontecimientos. Un ejemplo de su uso

compatibilidad con la antigua biblioteca no se rompe? - Tengo varias obras en la antigua biblioteca Symbol.mqh , no me gustaría encontrar lo que no funciona más adelante

 
Igor Makanu:

compatibilidad con la antigua biblioteca no está roto? - Tengo varias obras en la antigua biblioteca Symbol.mqh, no me gustaría encontrar lo que no funciona más tarde

No está roto.

 

fxsaber:

void ReverseTick( MqlTick &Tick )
{
  Tick.bid = ReversePrice(Tick.bid);
  Tick.ask = ReversePrice(Tick.ask);
  Tick.last = ReversePrice(Tick.last);
}


¿No deberían intercambiarse la oferta y la demanda?