ヒストリーセンター

テクニカル分析では、市場の動向を調査して、将来の価格変動を予測します。通常、市場分析にはチャートを利用します。これは、使用されているあらゆる通貨ペア及び周期について、過去の価格データを保有しておくことが、非常に重要であるという理由からです。ヒストリーデータは継続的に作成され、サーバに保存されます。ターミナルは、サーバへの接続時に必要なデータを全てダウンロードします。その後、それらのデータを使ってチャートを描画し、テストを行いエキスパートを最適化します。ターミナルには、ヒストリーデータを取り扱うための「ヒストリーセンター」という名前の特別に設計されたウィンドウがあります。このウィンドウは「ツール⇒ヒストリーセンター」のメニューコマンドを使用するか、F2キーを押すことで、開くことができます。

ターミナルがシャットダウンされると、ヒストリーファイルのサイズが設定で事前定義されている値を超えない限り、全てのヒストリーデータが「ヒストリーセンター」に保管されます。もしも保管されるヒストリーデータの量が「ヒストリー内のバーの最大数」フィールドで設定された値を超える場合は、保存時に最も古いバーから削除されます。SSSSSSPP.hstという名前(ここで、SSSSSSは通貨ペア名を、PPは分単位での期間を表します)の、個別のヒストリーファイルが周期ごとに作成され、/HISTORYディレクトリーに保存されます。保管されたデータは、将来、チャートの描画や取引のテストに使用されます。

利用可能なデータは、「ヒストリーセンター」のウィンドウ内で変更できます。そのためには、ウィンドウの左側で、必要な通貨ペアと周期を選択します。すると、対応するデータがダウンロードされ、表形式で表示されます。新しいバーについてのレコードを追加する場合は、同じ名前のボタンを押します。表示された新しいウィンドウで、必要なフィールドに入力して「OK」を押すとヒストリーに新しいバーが追加されます。また、対応するレコードを選んで「編集」ボタンを押すことで、バーを変更することもできます。ヒストリーからバーを削除するには、そのデータを選択して、対応するボタンを押します。

ヒストリーデータのエクスポート/インポート

ヒストリーデータはCSV、PRN、HTM形式のファイルにエクスポートすることができます。それには、「ヒストリーデータ」ウィンドウの左側から、希望する通貨ペアを選択し、「エクスポート」ボタンを押します。次に、利用可能な3種類のファイル形式のうちから1つを選択し、ハードディスク上の保存場所のパスを指定します。また、さらなる活用のために、ヒストリーデータをターミナルにインポートすることもできます。インポートできるファイル形式は、CSV、PRN、HTM、HSTに限られます。さらに、「ヒストリーセンター」ウィンドウの左側から、インポートするデータの通貨ペアと周期を選択した後、「インポート」ボタンをクリックし、以下のインポートパラメータを設定します。

  • Separator : インポートするファイル内のデータ区切り文字です。カンマ、セミコロン、空白、またはタブ文字を区切り文字として使用できます。

  • Skip columns : インポート時に特定の数のカラムをスキップします。インポートするファイルに必要以上のデータ・タイプが含まれている場合に有効です。

  • Skip rows : インポート時に特定の数の行をスキップします。

  • Shift hours : データを特定の時間数だけシフトします。

  • Use selected only : 選択したデータのみをインポートします。データは、CtrlキーとShiftキーを使って行単位で選択します。

  • Volume : 出来高のインポートを有効または無効にします。

インポートが完了したヒストリーデータは、チャートの描画及びエキスパートのテストに使用されます。

ヒストリーファイルのフォーマット(HSTファイル)

ベースヘッダーが最初に来ます。

  struct HistoryHeader  {    int               version;            // version of the base    char              copyright[64];      // copyright information    char              symbol[12];         // security    int               period;             // security period    int               digits;             // the amount of digits after point shown for the symbol    time_t            timesign;           // timesign of the base creation    time_t            last_sync;          // last synchronization time    int               unused[13];         // for future use  };  

次に、バーの配列(1バイトの行端揃え)が続きます。

  #pragma pack(push,1)  //---- Standard representation of a quote in the base  struct RateInfo  {    time_t            ctm;                // current time in seconds    double            open;    double            low;    double            high;    double            close;    double            vol;  };  #pragma pack(pop)  

ヒストリーセンター