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

 

366366, Puedes irte a la mierda con esas ofertas. ¿Qué clase de manía de divorcio es esta? Últimamente veo que la gente ha perdido completamente la conciencia. Todo el mundo está tratando de vender algo a alguien, encontrar un patrocinador, pedir algo. Algunos tratan de conseguir compasión y otros tratan de conseguir simpatía.

Pero escuchar las tonterías de que el búho te da el 100% durante 2 semanas y no tener 500 dólares para unos trabajos previos... ¿Lo crees tú mismo? Ir al bosque... al bosque... Una forma fácil y agradable de salir de aquí. Y no mires atrás. Nadie te va a ayudar. Estoy bastante seguro.

 
hoz:

366366, Puedes irte a la mierda con esas ofertas. ¿Qué tipo de manía de divorcio es esta? Últimamente, veo que la gente ha perdido completamente la conciencia. Todo el mundo está tratando de vender algo a alguien, encontrar un patrocinador, pedir algo. Algunos tratan de conseguir compasión y otros tratan de conseguir simpatía.

Pero escuchar las tonterías de que el búho te da el 100% durante 2 semanas y no tener 500 dólares para unos trabajos previos... ¿Lo crees tú mismo? Ir al bosque... al bosque... Una forma fácil y agradable de salir de aquí. Y no mires atrás. Nadie te va a ayudar. Estoy bastante seguro.


¿Qué es el búho? El desarrollo es completamente mío, me llevó más de un año hacerlo.

No estoy tratando de estafar a nadie.

Parece que hay demasiados sinvergüenzas en el negocio de las divisas como para confiar en alguien. Muy bien, si ese es el caso. Tendré que trabajar durante un mes, y al mismo tiempo llevaré un programa.

 
366366:


¿Qué es un búho? El desarrollo es todo mío, pasé más de un año en él.

No voy a divorciarme de nadie.

Parece que hay demasiados estafadores en el negocio de las divisas, ya no se confía en nadie. Muy bien, si ese es el caso. Tendré que trabajar durante un mes, dirigir un programa a veces.

¿Qué le das de comer al búho? ¿Ratones? ¿Cómo se ha desarrollado? ¿En una incubadora?
 
366366:


¿Qué es un búho? El desarrollo es todo mío, pasé más de un año en él.

No voy a divorciarme de nadie.

Parece que hay demasiados estafadores en el negocio de las divisas, ya no se confía en nadie. Muy bien, si ese es el caso. Tendré que trabajar durante un mes, dirigir un programa a veces.

Bueno, eh... De acuerdo. No nos quedemos sin fundamento. Muéstrame tu búho. Al menos en segmentos. Te convenzo de que el código es tuyo... Me convences de que no es exactamente escoria. Y encuentro un colaborador :) Mantengo mis palabras. Hablando frente a testigos... Si no has escrito el código tú mismo, no golpees... Lo sabré enseguida...
 

Ha surgido una pregunta. Al probar el búho, incluso en la demo en la pestaña de expertos, se muestra esto:

2014.07.29 22:04:32.118 unresolved import function call
2014.07.29 22:04:32.118 Cannot find 'IToS' in 'LDataConvertion.ex4'
2014.07.29 22:04:32.017 BaseTemplate EURUSD,M5: initialized
2014.07.29 22:04:32.017 BaseTemplate EURUSD,M5: Logging => fCreat_ArraySymbols => Ошибка № 0 :: Ошибка при работе с объектом
2014.07.29 22:04:31.894 BaseTemplate EURUSD,M5 inputs: _Position_Properties= _______________ Position_Properties _____________ ; idt_Expiration=0; id_Lots=0.1; id_SL=0.0; id_TP=10.0; ii_Slippage=2; _BaseInfo= ____________________ BaseInfo ___________________ ; ib_Bootstrap=false; ib_RealTrade=true; ib_VirtualTrade=true; _Logging= ____________________ Logging ____________________ ; ib_NeedLogs=true; ib_PrintUP=true; ib_CommentUP=true; _Make_List_Of_Symbols= ______________ Make List Of Symbols _____________ ; is_ListOfWorkingSymbol
2014.07.29 22:04:30.618 Expert BaseTemplate EURUSD,M5: loaded successfully

Tenemos dos errores. Primero, respecto a la línea:

2014.07.29 22:04:32.118 Cannot find 'IToS' in 'LDataConvertion.ex4'

Dice que no hay función IToS en la biblioteca LDataConvertion.ex4. Pero, en realidad, ¡está ahí! Esta función es de la biblioteca LDataConvertion.ex4:

// 1.3 Преобразование числа типа int в текстовую строку string, содержащую символьное представление числа.
string IToS (int v) export
{
   return (IntegerToString (v));
}

Por cierto, se compila con estas clases y librerías sin errores. Allí tampoco hubo errores. Pero cuando empecé con el búho, tuve dolores de cabeza. ¿Cómo puedo entender lo que está mal aquí?

Siguiente línea:

2014.07.29 22:04:32.017 BaseTemplate EURUSD,M5: Logging => fCreat_ArraySymbols => Ошибка № 0 :: Ошибка при работе с объектом

Así que no hay ningún trabajo con objetos... ¿Qué tiene que ver el objeto? Aquí está el método de la clase donde se produjo este error:

// 1.2 Функция возвращает список доступных символов. ======================================================================================
int MakeListOfInstruments::ListOfSymbols (string& fs_Symbols[],      // возваращаемый массив с доступными инструментами
                                          bool    fb_Looking)        // True - из `Обзор рынка`
{
   static bool   lb_FirstRun = true;
          int    li_Offset,
                 li_CountOfSymbols;
          string ls_NameOfFile,
                 ls_Txt;
//----
   if (fb_Looking)
   {
      ls_NameOfFile = "symbols.sel";
   }
   else
   {
      ls_NameOfFile = "symbols.raw";
   }
   //---- Открываем файл с описанием символов
   int hFile = FileOpenHistory (ls_NameOfFile, FILE_BIN|FILE_READ);
    
   if (hFile < 0)
   {
      Print ("Ошибка открытия файла ", ls_NameOfFile, ": ", GetLastError());
      return (-1);
   }
   //---- Определяем количество символов, зарегистрированных в файле
   if (fb_Looking)
   {
      li_CountOfSymbols = (int) (( FileSize (hFile) - 4 ) / 128);
      li_Offset = 116;
   }
   else
   {
      li_CountOfSymbols = (int) (FileSize (hFile ) / 1936);
      li_Offset = 1924;
   }
   ArrayResize (fs_Symbols, li_CountOfSymbols);
   //---- Сдвигаем файловый указатель на 4 байта, дабы пропустить версию MQL
   if (fb_Looking)
   {
      if (!FileSeek (hFile, 4, SEEK_SET))
      {
          Print ("Cмещение файлового указателя через первые 4 байта в symbols.sel ", ls_NameOfFile, " вызвало ошибку: ", GetLastError());
      }
   }
   //---- Считываем и заполняем массив торгуемых инструментов из файла symbols.sel
   for (int i = 0; i < li_CountOfSymbols; i++)
   {
      fs_Symbols[i] = FileReadString (hFile, 12);
        
      if (!FileSeek (hFile, li_Offset, SEEK_CUR))
      {
          Print ("Смещение файлового указателя на li_Offset в списке symbols.sel ", ls_NameOfFile, " вызвало ошибку: ", GetLastError());
      }
   }
   FileClose (hFile);
   //---- Выводим в журнал информацию о количестве торговых инструментов
   if (lb_FirstRun)
   {
      if (fb_Looking)
      {
         ls_Txt = "в окне `Обзор рынка` ";
      }
      else
      {
         ls_Txt = "всех, котируемых ДЦ ";
      }
      Print ("Количество финансовых истументов ", ls_Txt, AccountCompany(), " равно ", li_CountOfSymbols);
      lb_FirstRun = false;
   }
   //---- Возвращаем количество считанных инструментов
   return (li_CountOfSymbols);
}
 

Hola a todos. Hace tiempo leí aquí un artículo sobre algunos cambios en el lenguaje de la terminal y mql4 (no lo he vuelto a encontrar, si no podría pegar el enlace). De todos modos, la idea era que ahora la sintaxis del Lenguaje 4 es similar a la de MQL5, y la posibilidad es casi la misma.

Mi pregunta es la siguiente: ¿significa que los conocimientos obtenidos en MQL5 serán actuales en las últimas construcciones de MQL4? En otras palabras, la mejor manera de dominar las innovaciones de MQL4 es estudiar el manual de MQL5.

 
Pregunta sobre iCustom. El indicador en una ventana separada muestra el precio que viene del Asesor Experto a través de iCustom.
Sin embargo, cada vez que se llama a iCustom para obtener nuevos valores desde el Asesor Experto, se abre una nueva ventana, debería evitarse.

¿Cómo organizar correctamente la interacción entre el Indicador y el Asesor Experto en este caso, para que los nuevos valores procedentes del Asesor Experto se dibujen en la misma ventana bajo el gráfico principal de precios?
 
atztek:
Pregunta sobre iCustom. El indicador muestra el precio procedente del Asesor Experto a través de iCustom en una ventana separada.
Sin embargo, cada vez que se llama a iCustom para obtener nuevos valores del Asesor Experto, se abre una nueva ventana, y tenemos que evitarlo.

¿Cómo organizar la interacción entre el Indicador y el Asesor Experto en este caso para dibujar nuevos valores procedentes del Asesor Experto en la misma ventana bajo el gráfico de precios principal?

  1. ¿Sucede esto en modo de depuración o en modo de ejecución?
  2. Cómo se llama exactamente a iCustom y en qué función (OnTick, OnCalculate)
 
barabashkakvn:
  1. ¿Sucede esto en modo de depuración o en modo de ejecución?
  2. Cómo se llama exactamente a iCustom y en qué función (OnTick, OnCalculate)

Tengo entendido que los operadores suelen utilizar iCustom para recibir los valores de los indicadores, que luego se utilizan en el Asesor Experto. Mi tarea es la contraria: los valores provienen del Asesor Experto y el indicador, utilizando los búferes del indicador, debe mostrarlos en tiempo real en el gráfico en una ventana separada.

Como ejemplo, considere la posibilidad de copiar un determinado número de barras del gráfico principal en una ventana separada. La última barra no cerrada debe cambiar para coincidir con la original, mientras que las otras se fijan. Cuando llega una nueva barra, la más antigua se retira y las demás se desplazan hacia la izquierda.
Sigo trabajando a la vieja usanza (init(), start(), deinit() ), casi no estoy familiarizado con las nuevas funciones. Por favor, aconséjeme cómo utilizar iCustom correctamente en este caso.
 
atztek:

El indicador, utilizando los búferes del indicador, debería mostrar los valores procedentes del Asesor Experto en una ventana separada debajo del gráfico principal en tiempo real. Como ejemplo, considere la posibilidad de copiar un determinado número preestablecido de barras del gráfico principal en una ventana separada. La última barra no cerrada debe cambiar según la original, mientras que las otras son fijas. Cuando llega una nueva barra, la más antigua se retira y las demás se desplazan hacia la izquierda.
Sigo trabajando a la antigua usanza (init(), start(), deinit() ), casi no conozco las nuevas funciones. Por favor, aconséjeme cómo utilizar iCustom correctamente en este caso.


1. ?

2.? y el código, por supuesto, para ver cómo se llama a iCustom.