Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 714

 
¿Dónde puedo encontrar los datos de inicio y fin de la hora del almuerzo para todas las bolsas en hora de Kiev o GMT?
 
alexey1979621:

Hola a todos, ya he hecho una pregunta similar en la página 711, lamentablemente nadie ha respondido, tal vez ahora alguien...

Yo hago esto:

Llevo la situación a la posición de acumulación cero (bloqueo), y luego cierro el bloqueo.

Ahora, detallando.

1. Cálculo de la posición agregada:

Órdenes inversas

Si compramos, nuestra posición agregada se incrementa en el lote de la orden.

Si se vende, la posición agregada se reduce en el lote de la orden.

Fin del ciclo de búsqueda de pedidos

2. Creación de una ubicación:

si la posición agregada es superior a cero, vendemos;

si la posición agregada es inferior a cero, compraremos;

Si no, no hacemos nada.

El tamaño del lote es igual a la posición agregada.

3. Cerrar un lote (posiciones superpuestas)

Bucle sin fin ( while (true) )

Poner a cero los ticks de las órdenes de compra y venta

bucle sobre los pedidos

if (buy) compromete el billete para una orden de compra

si (vender) se compromete la entrada de la orden de venta

cerrar el ciclo de pedidos

si( hay una venta y una compra) entonces un cierre cruzado

en caso contrario, salir del bucle sin fin (break)

fin del bucle infinito

Ahora programamos este algoritmo en el lenguaje seleccionado (MQL4)

 

muchachos, díganme si establezco una hora de cierre para una orden pendiente

Data_1=iTime(Symbol(),PERIOD_D1,0) +86400; //el tiempo de vida de la orden

si ya está en el mercado (es decir, ya se ha ejecutado), se cerrará o no

 
korobok777:

muchachos, díganme si establezco una hora de cierre para una orden pendiente

Data_1=iTime(Symbol(),PERIOD_D1,0) +86400; //el tiempo de vida de la orden

si ya está en el mercado (es decir, ya se ha ejecutado), se cerrará o no

no
 
artmedia70:
no
Muchas gracias.
 

Hola a todos, nunca he trabajado con operaciones de archivos pero he tenido que hacerlo y no consigo entenderlo.

La tarea consiste en escribir los datos en un archivo csv varias veces al día

Es decir, hoy 24.09.2014 los datos se escriben en una fila en diferentes celdas del tipo

A B C

1 Fecha | valor | valor

si los datos de hoy han cambiado, sobrescribimos la línea del 24.09.2014

si es un nuevo día, reescribimos la nueva línea.

Estoy fumando y no puedo fumar...

 
VOLDEMAR:

Hola a todos, nunca he trabajado con operaciones de archivos pero he tenido que hacerlo y no consigo entenderlo.

La tarea consiste en escribir los datos en un archivo csv varias veces al día

Es decir, hoy 24.09.2014 los datos se escriben en una fila en diferentes celdas del tipo

A B C

1 Fecha | valor | valor

si los datos de hoy han cambiado, sobrescribimos la línea del 24.09.2014

si es un nuevo día, reescribimos la nueva línea.

Estoy fumando y no puedo fumar...

void Запись()
{
  int handle;
  string st=TimeToStr(TimeCurrent(), TIME_DATE);
  string filename = st+" Bid_Ask.csv"; // Формируем имя файла
  handle = FileOpen(filename,FILE_CSV|FILE_READ | FILE_WRITE,';');
  if(handle < 1)
  {
    Print("Не удалось создать файл. Ошибка #", GetLastError());
    return;
    //FileClose(handle);
  }
  
  FileWrite(handle,                   
            " Время ",
            " Bid ",
            " Ask ",
            " Volume "); // заголовок
  FileSeek(handle, 0, SEEK_END);
  FileWrite(handle,
            TimeToStr(TimeCurrent(),TIME_MINUTES|TIME_SECONDS),
            Bid,
            Ask,
            Volume[0]);
 
  FileClose(handle);
  return;
}
Debe ser algo así.
 
r772ra:
Probablemente algo así.

¿Y cómo puedo reescribir la última línea si los datos han cambiado?

 
VOLDEMAR:

¿Cómo puedo reescribir la última línea si los datos han cambiado?

FileSeek(), help.

 

Si los datos han cambiado, debemos poner el puntero en el lugar donde lo sobrescribiremos con fileseek, sobrescribirlo con el método estándar filewrite..., recordar el final del archivo y recortarlo con la función WinApi

O usando el método estándar, escribir la posición al final del archivo, donde termina la información útil, y luego leer esta posición. (Puede escribir la posición en otro archivo).

Pero de todos modos, es mejor recortarlo, y no hay ninguna herramienta de recorte estándar ((

esto esZhunko12.09.2014 20:19#

Sería interesante como funciones de WinApi