どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 194

 

こんにちは、プログラムでチャートを希望する日付に「スクロール」させる方法を教えてください。もしかしたら、希望する日付を設定すると、その日付までチャートが瞬時に「スクロール」されるようなスクリプトがあるのでは?

 
AndEv:

こんにちは、プログラムでチャートを希望する日付に「スクロール」させる方法を教えてください。もしかしたら、希望する日付を設定すると、その日付までチャートが瞬時に「スクロール」されるようなスクリプトがあるかもしれませんね。


スペースバーを押して、希望の日付を入力する。

何も解決しない場合は、ドキュメントを読んでください。

 
tara:


- ドキュメントを読んでください。

質問をよく読んでください。プログラム上で 時刻表を正しい日付に「スクロール」するにはどうすればよいのでしょうか?
 
sergeev:

いいえ、そのようなGは使っていません。

ああ、偉大なる司会者、禁止を脅し、それに値しないすべての人に投げつけ、すべてはgが知らないということです。初心者に慈悲を与え、*で紹介している貴重なニオイを分けてください。*.mq4内の注文を修正 する場合は、独自の特別な方法で行う必要があります。

 
digits:

ああ、偉大なる司会者、禁止を脅し、それに値しないすべての人に投げつけ、すべてはgが知らないということです。初心者に慈悲を与え、*で紹介している貴重なニオイを分けてください。m q4で注文を変更 する。


Z氏(digit 氏で失礼します)を出禁にしたいとの強い希望があり、長い間
 
AndEv:
質問をよく読んでください:プログラムで チャートを希望の日付に「スクロール」させるには?

プログラム 上でチャートのEnterボタンを押す

で、プログラム的に 表示されるウィンドウに、日付(通貨も)付きのテキストを送る

と入力し、同様にそっと Enterキーを押します

-----

まずチャートで全部自分でやってみて、それからプログラム的に 動きを繰り返す

 
AndEv:
質問をよく読んでください。プログラム上で どのようにタイムテーブルを正しい日付に「スクロール」させるのでしょうか?
図書館 このためにあるんです。4.3項および4.6項。
 

ライブラリhoz_Base@Library.ex4 のヘッダーファイルhoz_Base@Include.mqh があります。変数 bi_Err はヘッダーファイルhoz_Base@Include.mqh 宣言されて います。

ライブラリhoz_Base@Library.ex4 に INIT 関数があります。

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を出力する。(Like error - no error)です。こんな感じ。

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

なぜ?

 
Zhunko:
図書館の ことです。すべては、このためにあるのです。4.3項および4.6項。
ありがとうございました。
 
月初めの口座の状況を調べるには、どのような関数を使えばよいでしょうか。