任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 194

 

你好,请你告诉我如何以编程方式将图表 "滚动 "到所需的日期?也许有这样一个脚本,你可以设置所需的日期,图表将立即 "滚动 "到该日期?

 
AndEv:

你好,请你告诉我如何以编程方式将图表 "滚动 "到所需的日期?也许有这样一个脚本,你可以设置所需的日期,图表将立即 "滚动 "到该日期?


按空格键并输入所需的日期。

如果没有任何帮助,请阅读文档。

 
tara:


- 阅读文件。

仔细阅读问题:你如何以编程方式 将时间表 "滚动 "到正确的日期?
 
sergeev:

不,我们不使用这种G。

哦,伟大的版主,威胁禁令,把它扔给所有不值得的人,所有关于G不知道。请怜悯一下这个新手,分享你在*中提到的宝贵的gnom。如 果你想修改*.mq4中的订单,你必须用你自己的特殊方式来做。

 
digits:

哦,伟大的版主,威胁禁令,把它扔给所有不值得的人,所有关于G不知道。请怜悯一下这个新手,分享你在*中提到的宝贵的gnom。m q4来修改订单。


很想把Z先生(请原谅,Digits 先生)送去禁闭,但时间要长一些
 
AndEv:
仔细阅读问题:如何以编程方式 将图表 "滚动 "到所需日期?

以编程方式 按下图表上的输入按钮

并将带有日期(甚至货币)的文本发送到以编程方式 出现的窗口中

然后也轻轻地 按下回车键

-----

试着先在图表中自己做一遍。然后以编程方式 重复你的动作。

 
AndEv:
仔细阅读问题:你如何以编程方式 将时间表 "滚动 "到正确的日期?
图书馆。这一切都在这里。第4.3和4.6节。
 

有一个头文件hoz_Base@Include.mqh,用于库hoz_Base@Library.ex4。变量 bi_Errr 在头文件hoz_Base@Include.mqh 声明的

在库中有一个INIT函数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;
}

下面是我感兴趣的那条线。

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

当没有错误时,应该像这样打印。

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

这是用2个第三方库函数实现的。

// 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 = "Ошибка при работе с объектом";
   }

问题是这样的。如果按照我上面给出的方法使用上述字符串 fErrorToString (int fi_Error) 函数,一切都能正确打印。但如果按以下方式使用。

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

而不是没有错误,而是输出0。(像错误--没有错误)。像这样。

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

为什么?

 
Zhunko:
图书馆。一切都是为了这个目的。第4.3和4.6节。
非常感谢您!
 
可以用什么函数来查出月初的账户状况?