ライブラリ: マルチテスター - ページ 56

 

価格履歴の一部を表形式で表示する必要がある場合があります。これはCTRL+Uでバー/ティック・タブを選択する。そこに必要な間隔を手で入力する。これは面倒だ。


そこで、以下のエキスパート・アドバイザーのような機能を追加しました。

#include <fxsaber\MultiTester\MTTester.mqh> //https://www.mql5.com/ja/code/26132
#include <fxsaber\Keyboard\Keyboard.mqh> //https://www.mql5.com/ja/code/48393

input bool inTicks = true; // true:ティック、false:バー
input int inBefore = -60; // 秒前
input int inAfter = 60;   // 秒後
input ENUM_TIMEFRAMES inPeriod = PERIOD_CURRENT; // 期間(バー・モード)

datetime GetTime( const int X )
{
  int Window;
  datetime Res;
  double Price;
    
  return(ChartXYToTimePrice(0, X, 0, Window, Res, Price) ? Res : 0);
}

void OnChartEvent( const int32_t id, const long &lparam, const double&, const string& )
{
  if ((id == CHARTEVENT_CLICK) && KEYBOARD::IsControl())
  {
    const datetime Time = GetTime((int)lparam);

    if (Time)
    {
      if (inTicks)
        MTTESTER::CopyTicks(_Symbol, Time + inBefore, Time + inAfter);
      else
        MTTESTER::CopyRates(_Symbol, inPeriod, Time + inBefore, Time + inAfter);      
    }    
  }
}


チャートの必要な場所をクリック(CTRLを押したまま)すると、自動的に対応する表データが一度に得られる。

選択した関数は、特定のデータ・フィールドに入力し、照会するだけです。そして、GUI を通して、興味のあったものを見ることができる。一般的には自動化である。

 
おそらく、さまざまな便利な機能を組み合わせたEAツールを書くというアイデアは良いものだろう。
 

5430 タスクの準備中にウィンドウが点滅します。

どうすれば直りますか?

 
Aleksei Skrypnev #:

5430 課題準備中にWindowsがまだ点滅する

どうすれば直りますか?

このようにします。
Попробуйте загрузить все файлы в архиве.
Попробуйте загрузить все файлы в архиве.
  • 2025.12.22
  • www.mql5.com
если бы время файлов в архиве совпадало со временем модификации в кодобазе. Не соответствует времени изменения конкретного файла. Я вижу корректную структуру после разархивирования а ведь сам редактор позволяет загрузить все эти файлы именно так
 

素晴らしいテーマだ。しかし、私はまだ別にすべてが点滅する前にダウンロードしました。

私はファイルMultiTester_Example.mq5で それを見た

MultiTester_Example.mq5ファイルに行を追加しました。

#define  FAKE // Remove - KBにコードを配置するバイパス。

#ifdef  FAKE
  void OnStart() {}
#else // #ifdef FAKE
#endif // #ifdef FAKE #else

このようにコメントしたのですが、それとも違うようにすべきでしょうか?それとも、この4行をすべて削除してもいいですか?

//#define FAKE // KBにコードを配置するためのバイパス。

#ifdef FAKE// void OnStart() {}.

#else // #ifdef FAKE

#endif // #ifdef FAKE #else


追伸:これらの行がない古いタスクのリストを取ってみると、ちらつきがありました。新しい行では点滅しません。

しかし、1行だけコメントアウトしたのは正しかったのでしょうか?

 
Aleksei Skrypnev #:

素晴らしいテーマだ。でも、その前にダウンロードしたものは、すべて別にまだ点滅している。

ファイルMultiTester_Example.mq5で それを見ました。

追加された行

このようにコメントしました。それとも、この4行をすべて削除してもいいのでしょうか?


P.S.これらの行がない古いタスクリストを取ってみると、点滅していました。新しい行では点滅しません。

しかし、私は1行だけ正しくコメントしたのでしょうか?

あなたの理解は正しいです:コメントを削除するか、この4行を完全に削除してください。