[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 437

 
No tengo miedo a perder). Estoy probando un Asesor Experto, dicen que funciona bien. Pero no da señales y no opera automáticamente.
 
¿Dónde puedo ver la revista?
 
pako:

entonces magik = TimeCurrent();

en cualquier otra posición mágica.

Me pregunto si esto significa que serán diferentes en el tiempo. ¡¿Y cada uno tendrá un número diferente?! ¡Eso es original! Gracias, ¡lo probaré ahora!

Pero la cosa es que tengo que cerrar de uno en uno. Como especifico el mago, porque el tiempo ya ha pasado, y le doy un tiempo diferente, para que no se cierre nada.

Probaré las entradas.

 
borilunad:

Lote = NormalizeDouble(OrderLots()/2,Digits);
¿Puedes explicar cómo hacerlo de forma normal?
 
borilunad:

Me pregunto si eso significa que habrá distintos horarios. ¡¿Y cada uno tendrá un número diferente?! ¡Eso es original! Gracias, ¡lo probaré ahora!

Pero la cosa es que tengo que cerrar de uno en uno. Como especifico el mago, porque el tiempo ya ha pasado, y le doy un tiempo diferente, para que no se cierre nada.

Probaré las entradas.

magik = TimeCurrent() = OrderOpenTime()

 
kostural:
¿puede explicar cómo se hace esto de forma normal?

Cerrará la mitad del lote. Si OrderLots() = 0.03, entonces cerrará 0.02 y permanecerá 0.01. Y pondrá el Lote resultante en OrderClose() en su lugar después de OrderTicket(). ¿Está claro ahora?
 

Buenas tardes. GENTE, RESPONDA A LA PREGUNTA POR FAVOR (5ª vez que se publica). Pregunta sobre un índice de archivos... En mi libro de MQL4, que se encuentra en MQL4.community, en la sección "Funciones estándar", hay un ejemplo del script "Operaciones de archivo", que está pensado para leer datos de un archivo y mostrar objetos gráficos en una ventana de símbolos:

//--------------------------------------------------------------------
// timetablenews.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------- 1 --
int start()                            // Спец. функция start
  {
//--------------------------------------------------------------- 2 --
   int Handle,                         // Файловый описатель
       Stl;                            // Стиль вертикальной линии
   string File_Name="News.csv",        // Имя файла
          Obj_Name,                    // Bмя объекта
          Instr,                       // Название валюты
          One,Two,                     // 1я и 2я чать названия инстр.
          Text,                        // Текст описания события
          Str_DtTm;                    // Дата и время события(строка)
   datetime Dat_DtTm;                  // Дата и время события(дата)
   color Col;                          // Цвет вертикальной линии
//--------------------------------------------------------------- 3 --
   Handle=FileOpen(File_Name,FILE_CSV|FILE_READ,";");// Открытие файла
   if(Handle<0)                        // Неудача при открытии файла
     {
      if(GetLastError()==4103)         // Если файла не существует,..
         Alert("Нет файла с именем ",File_Name);//.. извещаем трейдера 
      else                             // При любой другой ошибке..
         Alert("Ошибка при открытии файла ",File_Name);//..такое сообщ
      PlaySound("Bzrrr.wav");          // Звуковое сопровождение
      return;                          // Выход из start()      
     }
//--------------------------------------------------------------- 4 --
   while(FileIsEnding(Handle)==false)// До тех пор, пока файловый ..
     {                                // ..указатель не в конце файла
      //--------------------------------------------------------- 5 --
      Str_DtTm =FileReadString(Handle);// Дата и время события(дата)
      Text     =FileReadString(Handle);// Текст описания события
      if(FileIsEnding(Handle)==true)   // Файловый указатель в конце
         break;                        // Выход из чтения и рисования
      //--------------------------------------------------------- 6 --
      Dat_DtTm =StrToTime(Str_DtTm);   // Преобразование типа данных
      Instr    =StringSubstr(Text,0,3);// Извлекаем первые 3 символа
      One=StringSubstr(Symbol(),0,3);// Извлекаем первые 3 символа
      Two=StringSubstr(Symbol(),3,3);// Извлекаем вторые 3 символа
      Stl=STYLE_DOT;                   // Для всех - стиль пунктир
      Col=DarkOrange;                  // Для всех - цвет такой
      if(Instr==One || Instr==Two)     // А для событий по нашему ..
        {                             // .. финансовому инструменту..
         Stl=STYLE_SOLID;              // .. такой стиль..
         Col=Red;                      // .. и такой цвет верт. линии
        }
      //--------------------------------------------------------- 7 --
      Obj_Name="News_Line  "+Str_DtTm;     // Имя объекта
      ObjectCreate(Obj_Name,OBJ_VLINE,0,Dat_DtTm,0);//Создаем объект..
      ObjectSet(Obj_Name,OBJPROP_COLOR, Col);       // ..и его цвет,..
      ObjectSet(Obj_Name,OBJPROP_STYLE, Stl);       // ..стиль..
      ObjectSetText(Obj_Name,Text,10);              // ..и описание 
     }
//--------------------------------------------------------------- 8 --
   FileClose( Handle );                // Закрываем файл
   PlaySound("bulk.wav");              // Звуковое сопровождение
   WindowRedraw();                     // Перерисовываем объекты
   return;                             // Выход из start()
  }
//--------------------------------------------------------------- 9 --

A continuación, al analizar este script en el Libro sobre MQL4, se da la siguiente frase: "si se elimina la comprobación especificada (las 2 últimas líneas del bloque 5-6), se creará un objeto extra en tiempo de ejecución. Y sólo después de eso, la condición de terminación del bucle while se activará y el control pasará al bloque 8-9".

¿Lo he entendido bien? Un puntero de archivo NO SE ENCUENTRA CON SIGNOS DE TEXTO (por ejemplo: texto| donde | es un puntero de archivo), sino que es un puntero CON EXPRESIÓN, por ejemplo: texto donde k es el carácter "a", k-ésimo es resaltado por un puntero de archivo. Esto explica la necesidad de las cuerdas (ver p.164):

      if(FileIsEnding(Handle)==true)   // Файловый указатель в конце
         break;                        // Выход из чтения и рисования
      //--------------------------------------------------------- 6 --

Sí, es cierto. En la penúltima iteración, después de crear el último objeto

2007.05.11 18:30;JPY

el puntero del archivo está en la posición del último objeto, es decir

2007.05.11 18:30;JPYFabricación industrial

(donde o es el carácter" o", k es el índice del archivo). Entonces, al pasar el control a la cabecera de la sentencia while, la función FileIsEnding(handle) obviamente devolverá true, porque el puntero del archivo NO está al final del archivo, sino al ÚLTIMO carácter de ese archivo. Entonces, cuando se ejecuten las dos primeras líneas, el puntero del archivo se moverá al espacio vacío y si no hay líneas

      if(FileIsEnding(Handle)==true)   // Файловый указатель в конце
         break;                        // Выход из чтения и рисования
      //--------------------------------------------------------- 6 --

el script creará un gráfico (es decir, una línea) con una descripción vacía y una coordenada de tiempo que corresponde a 0. Esto es lo que se quiere decir en la frase: "si se elimina la comprobación especificada (las dos últimas líneas del bloque 5-6), se creará un objeto extra en tiempo de ejecución". "

Pregunta: ¿he entendido bien?

a) la definición de un puntero de archivo;

b) el significado de la frase "Si se elimina la comprobación especificada (las 2 últimas líneas del bloque 5-6), se crearáun objeto extra en la ejecución del programa.Y sólo después de eso la condición de finalización del bucle while se activará y el control pasará al bloque 8-9".

P.S. Para no ensuciar el foro, gracias de antemano por su respuesta

 
ilunga:

Sigue sin arrancar :/


¿La cara del concejal es sonriente o triste?

¿Qué hay en la revista?

¿Dónde puedo ver la revista?
 
7777877:

Buenas tardes. GENTE, RESPONDA A LA PREGUNTA POR FAVOR (5ª vez que se publica). Pregunta sobre un índice de archivos... En el libro de MQL4, que se encuentra en MQL4.community en la sección "Standard Functions", hay un ejemplo del script "File Operations", que está pensado para leer datos de un archivo y mostrar objetos gráficos en una ventana de símbolos:

Si nadie responde, significa que la gente no sabe qué responder. No es necesario publicar tantas veces y copiar tanto texto.
 

Buenas noches a todos.

Me podéis decir por favor cómo averiguar el precio máximo y mínimo de la última hora, el libro de texto sólo dice lo de las últimas barras.

Razón de la queja: