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

[Deleted]  

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.

[Deleted]  
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é?

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