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

 

Hola, ¿podríais decirme cómo "desplazar" el gráfico hasta la fecha deseada mediante programación? ¿Tal vez exista un script de este tipo en el que se pueda establecer la fecha deseada y el gráfico se "desplace" instantáneamente a esa fecha?

 
AndEv:

Hola, ¿podríais decirme cómo "desplazar" el gráfico hasta la fecha deseada mediante programación? ¿Tal vez haya un script en el que se pueda establecer la fecha deseada y el gráfico se "desplace" instantáneamente a esa fecha?


Pulse la barra espaciadora e introduzca la fecha deseada.

Si nada ayuda, lee la documentación.

 
tara:


- leer la documentación.

Lea atentamente la pregunta: ¿cómo se "desplaza" el horario hasta la fecha correcta de forma programada?
 
sergeev:

No, no utilizamos ese tipo de g.

Oh gran Moderador, amenazando con el baneo, lanzándolo a todos los indignos, todo por g no saber. Por favor, apiádate del novato y comparte tu inestimable gnom al que te refieres en *. Siquieres modificar las órdenes en *.mq4, tendrás que hacerlo a tu manera.

 
digits:

Oh gran Moderador, amenazando con el baneo, lanzándolo a todos los que no lo merecen, todo por g no saber. Por favor, apiádate del novato y comparte tu inestimable gnom al que te refieres en *. mq4para modificar las órdenes.


Un gran deseo de enviar al Sr. Z (le ruego que me perdone Sr. dígitos) a la prohibición, y durante mucho tiempo
 
AndEv:
Lea atentamente la pregunta: ¿cómo "desplazar" el gráfico hasta la fecha deseada mediante programación?

pulsar el botón Enter en el gráfico de forma programada

y enviar el texto con la fecha (e incluso la moneda) a la ventana que aparece programáticamente

y luego presione Enter suavemente también

-----

Intenta hacerlo todo tú mismo primero en el gráfico. luego repite tus movimientos programáticamente

 
AndEv:
Lea atentamente la pregunta: ¿cómo se puede "desplazar" programáticamente el horario hasta la fecha correcta?
Biblioteca. Todo está ahí para esto. Apartados 4.3 y 4.6.
 

Existe un archivo de cabecera hoz_Base@Include.mqh para la biblioteca hoz_Base@Library.ex4. Lavariable bi_Errrse declara en el archivo de cabecera hoz_Base@Include.mqh.

Hay una función INIT en la biblioteca hoz_Base@Library.ex4:

void fInitBase (string fs_SymbolList,
                string fs_MagicList,
                string fs_Delimiter = ",")
{
   bs_ExpertName = StringConcatenate (WindowExpertName(), ":  ", fGet_NameTF (Period()), "_", Symbol());
   bs_SymbolList = fs_SymbolList;
   bs_MagicList = fs_MagicList;
   bs_Delimiter = fs_Delimiter;
   bb_RealTrade = (!IsTesting() && !IsOptimization());
   bb_VirtualTrade = (IsOptimization() || (IsTesting() && !IsVisualMode()));
   if (bd_SymPoint == 0.0)
       {bd_SymPoint = fGet_Point(Symbol());}
   fGet_MarketInfo (Symbol(), -1);
   bd_MAXLOT = MarketInfo(Symbol(), MODE_MAXLOT);
   bd_LOTSTEP = MarketInfo(Symbol(), MODE_LOTSTEP);
   bi_LotPrecision = fLotPrecision ();
   bd_MINLOT = MarketInfo(Symbol(), MODE_MINLOT);
   InitializeArray_STR (bsa_Comment, "");
    //---- Определяем индекс "ошибок" в массиве комментариев (gsa_Comment)
   bi_IndERR = ArraySize (bsa_Comment) - 1;
   bi_Err = GetLastError();
   //---- Контролируем возможные ошибки
   fPrint (StringConcatenate ("fInitBase() => ", fErrorToString (bi_Err)));

   return;
}

Esta es la línea que me interesa:

 fPrint (StringConcatenate ("fInitBase() => ", fErrorToString (bi_Err)));

Cuando no hay errores, debería imprimirse así:

13:46:11 2013.08.15 00:00  hoz_LoggingToAnywhere@library EURUSD.GI,M5: Внимание! fInitTradingFunc() => Ошибка № -1 

Esto se implementa utilizando 2 funciones de bibliotecas de terceros:

// 1.3 Формируем строки из № ошибки и её описания. ========================================================================================
string fErrorToString (int fi_Error)
{
    fi_Error = bi_Err;
    
    return (StringConcatenate ("Ошибка № ", bi_Err, " :: ", fErrorDescription (bi_Err)));
}

// 1.4 Функция преобразует код последней ошибки в текстовую строку, содержащую описание данной ошибки. ====================================
string fErrorDescription (int fi_Error)
{
   string ls_Error = "";

   switch (fi_Error)
   {
      // Коды ошибок, возвращаемые торговым сервером:
      case 0: ls_Error = "Нет ошибки";
      case 1: ls_Error = "Нет ошибки, но результат не известен";
      case 2: ls_Error = "Общая ошибка";
      case 3: ls_Error = "Неправильные параметры";
      case 4: ls_Error = "Торговый сервер занят";
      case 5: ls_Error = "Старая версия клиентского терминала";
      case 6: ls_Error = "Нет связи с торговым сервером";
      case 7: ls_Error = "Недостаточно прав";
      case 8: ls_Error = "Слишком частые запросы";
      case 9: ls_Error = "Недопустимая операция, нарушающая функционирование сервера";
      case 64: ls_Error = "Счёт заблокирован";
/*
Различный варианты возникающих
                                 ошибок
*/
      case 4202: ls_Error = "Объект не существует";
      case 4203: ls_Error = "Неизвестный тип объекта";
      case 4204: ls_Error = "Нет имени объекта";
      case 4205: ls_Error = "Ошибка координат объекта";
      case 4206: ls_Error = "Не найдено указанное подокно";
      case 4207: ls_Error = "Ошибка при работе с объектом";
   }

La cuestión es la siguiente. Si se utiliza la función fErrorToString (int fi_Error) de la forma que he indicado anteriormente, todo se imprime correctamente. Pero si se utiliza de la siguiente manera:

string fErrorToString (int fi_Error)
{
    return (StringConcatenate ("Ошибка № ", fi_Error, " :: ", fErrorDescription (fi_Error)));
}

En lugar de ningún error, da como resultado 0. (Como error - no hay error). Así:

13:46:11 2013.08.15 00:00  hoz_LoggingToAnywhere@library EURUSD.GI,M5: Внимание! fInitTradingFunc() => Ошибка № 0

¿Por qué?

 
Zhunko:
La biblioteca. Todo está ahí para este propósito. Apartados 4.3 y 4.6.
¡Muchas gracias!
 
¿Qué función puede utilizarse para conocer el estado de la cuenta a principios de mes?