MT4のsymbols.sel、symbols.raw、symgroups.raw、ticks.rawの内容を参照するツールです。
一部の項目については編集することもできます。
また、ヒストリカルデータ(*.hst)の通貨ペア名(シンボル名)を変更することもできます。
MT4の画面で確認できる情報はFX業者によって多少異なるようです。
例えば、「通貨ペアリスト」画面の「設定」ボタンをクリックして表示される「取引条件」画面の中に買いや売りのスワップが表示されるFX業者と表示されないFX業者があります。
(作成者の環境ではYJFXとOANDAは表示されず、FXTFと外為ファイネストは表示されていました)
当ツールを使用するとFX業者に関係なくすべての情報を参照できますし、FX業者ごとの違いも比較して見れます。
MarketInfo関数やSymbolInfoInteger関数などを使用してもこれらの情報を取得できますが、スクリプトを作成するのが面倒であればこのツールを使用するのも良いでしょう。
symbols.sel、symbols.raw、symgroups.rawに対しては一部の項目を編集できます。
なので、スワップを好きな値に変更してからEAのテストを行うこともできます。
ちなみに、シンボルの色も変更できます。「だから何?」と言われればそれまでですが…(笑)
(下の画像は通貨ペアAUDUSD-cdの色を緑色に変更したときの表示例)
ヒストリカルデータ(*.hst)の通貨ペア名(シンボル名)を変更することもできます。
GMOのヒストリカルデータをMT4用に変換するツール「GMOtoMT4」で作成したヒストリカルデータをFXTFの1000通貨コースのMT4で使用する場合、シンボル名が異なるのでそのままでは使用できません。
シンボル名を「USDJPY」から「USDJPY-cd」のように「-cd」を付与する必要があります。(ファイル名の変更も必要です)
このような場合、当ツールで通貨ペア名(シンボル名)を変更すればFXTFの1000通貨コースでも使用できるようになります。
ファイルはMT4用のトップページからダウンロードできます。
補足:編集機能はスワップを変更することが主な目的です。(EAのテストのために)
それ以外の項目も変更できるのはオマケです。「ついでなんでとりあえず作ってみた」ってやつです。(^_^;)
注意:編集したファイルはオフライン状態のMT4でのみ使用してください。
オンライン状態、特に取引を行っているMT4で使用するとどのような不具合が発生するかわかりません。
ダウンロードしたZIPファイルを適当なフォルダに展開(解凍)してください。
補足:ZIPファイルはMT4用のトップページからダウンロードできます。
注意:「C:\Program Files\」や「C:\Program Files (x86)\」フォルダ配下には展開しないでください。正しく動作しない可能性があります。
当ソフトを終了し、上記インストール時に作成したフォルダごと削除してください。
当ソフトはレジストリを使用していません。
英数字32桁くらいの長いフォルダ名をダブルクリックします。
補足:複数のMT4をインストールしている場合は長いフォルダ名が複数できていると思います。
参照したいファイルがどのフォルダ内にあるか知りたい場合はMT4のメニュー「ファイル」から「データフォルダを開く」をクリックして表示されるエクスプローラーのパス名を確認してください。
参照したいファイルが存在するフォルダをダブルクリックします。
補足:作成者の環境では業者名(YJFXとかFXTFとか)が含まれているフォルダ内に参照したいファイルが存在していました。
symbols.sel、symbols.raw、symgroups.raw、ticks.rawのいずれかを開いてください。
どれを開いても結果は同じです。
補足:2回目以降からは前回開いたフォルダが表示されるので、上記2.~4.の操作は省略できます。
編集可能な状態になったら値を変更します。(変更後はEnterキーで確定)
補足:symbols.rawの「シンボルの色」とsymgroups.rawの「グループの色」の場合は「色の設定」画面が表示されますので、色を選択後、「OK」ボタンをクリックしてください。
編集したい項目の値をすべて変更したら、メニューの「ファイルに保存する」をクリックしてください。
複数の通貨ペアに対して編集を行いたい場合は通貨ペアごとに3.~6.の操作を繰り返してください。
注意:保存する前に画面左側の一覧をクリックしたり別の通貨ペアに変えたりすると、変更した値は変更前に戻ります。その場合は再度編集し直す必要がありますので注意してください。(複数通貨ペアに対する同時編集は不可)
また、画面上部のタブを切り替えて別のファイルの情報を表示、編集することができますが、保存されるのは画面に表示されている情報の分だけです。複数のファイルを同時に編集した場合は各ファイルごとに保存を行ってください。
メニューの「ヒストリカルデータの通貨ペア名変更」をクリックし、変更したいヒストリカルデータを開いてください。
補足:2回目以降からは前回開いたフォルダが表示されます。
「ヒストリカルデータの通貨ペア名変更」画面の「変更後の通貨ペア名」を入力し「変更する」ボタンをクリックします。
(下の画像は通貨ペア名をAUDJPY-cdに変更する場合の例)
補足:変更されたファイルは変更前のファイルと同じフォルダに保存されます。
ファイル名は変更後の通貨ペア名になっています。
参照または編集したいsymbols.sel等を読み込みます。
補足:ファイルを読み込むとタイトル名にフォルダ名が付与されるので、当ツールを複数起動して異なるFX業者のファイルを同時に参照する場合はタイトル名を見ると判断しやすくなります。
注意:4つのファイル(symbols.sel、symbols.raw、symgroups.raw、ticks.raw)が揃っていない場合はエラーになります。エラー発生時の動作は保証できません。
ファイルを編集したい場合、クリックしてチェックを入れます。
再度クリックするとチェックが外れます。
注意:ファイルの編集にはリスクが伴います。このメニューは容易に編集できないようにするための処置です。
また、編集したファイルはオフライン状態のMT4でのみ使用してください。
オンライン状態、特に取引を行っているMT4で使用するとどのような不具合が発生するかわかりません。
編集した内容を元のファイルに対して上書き保存します。
別ファイル名での保存は行われませんので、元のファイルを残しておきたい場合は予めバックアップしておいてください。
補足:ファイルに保存されるのは後述の「各ファイルについて」で編集可能になっている項目だけです。
画面上の操作では編集可能ではない項目の変更もできますが保存はされません。
ヒストリカルデータの通貨ペア名(シンボル名)の変更を行います。
変更されたファイルは変更前のファイルと同じフォルダに保存されます。
ファイル名は変更後の通貨ペア名になります。
補足:これは単独の処理なので予めsymbols.sel等を読み込む必要はありません。
各ファイル内の一部の項目(日時など)に対して加算する年数等を指定します。
MT4の日時はunix時間(1970-01-01 00:00:00)からの経過秒数だと思っていますが、それだと時間にずれが発生するので仕方なく調整用の設定項目を追加しました。
原因が作成者の環境なのか、勘違いなのか、プログラムが悪いのか、わかりません。
申し訳ございませんが、何らかの不具合があれば利用者側で調整してください。
その際、調整値やMT4の業者名などの情報を掲示板(MT4専用)に投稿していただけると助かります。
オフラインヘルプ(このHTML文書)を表示します。
当ツールを終了します。
それぞれのファイルに格納されている情報の開始位置や長さ、各項目の説明および編集可能な項目は以下のとおりです。
また、説明には参考にしたファイル(C++のヘッダファイル)のコメント(英文)を原文として記述しています。
なお、以下の情報は実際のデータやネット情報などを調べながら記述していますが、誤った記述が含まれているかもしれません。
その点はご了承ください。
位置 | 長さ | 説明 | 編集 |
---|---|---|---|
0 | 12 |
原文:Symbol 通貨ペアのシンボル名です。 Symbol関数で返される値です。 なので、例えばFXTFの1000通貨コースの場合は「USDJPY-cd」など「-cd」が含まれたシンボル名になります。 |
○ |
12 | 4 |
原文:Digits 通貨ペアの価格精度(小数点以下の桁数)です。 Digits関数で返される値です。 |
○ |
16 | 4 |
原文:symbol id as in "symbols.raw" symbols.raw内の該当する通貨ペアの番号です。 番号はsymbols.raw内の最初の通貨ペアが「0」番、次が「1」番(以降1ずつ増加)になるようです。 symbols.selとsymbols.rawを紐付けるための番号だと思われます。 |
× |
20 | 4 |
原文:always 0x0001 不明。常に「1」らしいです。 |
× |
24 | 4 |
原文:symbol group id as in "symgroups.raw" symgroups.raw内の該当するグループの番号です。 番号はsymgroups.raw内の最初のグループが「0」番、次が「1」番(以降1ずつ増加)になるようです。 symbols.selとsymgroups.rawを紐付けるための番号だと思われます。 |
× |
28 | 4 |
原文:-(説明無し) 不明。 |
× |
32 | 8 |
原文:point size 通貨ペアの価格の小数点数値です。 Point関数で返される値です。 |
○ |
40 | 4 |
原文:0=current spread (variable), otherwise fixed spread in points スプレッドです。 「0」は可変スプレッドを意味するようです。 固定スプレッドの場合は「1」以上の値が設定されているようです。 |
○ |
44 | 4 |
原文:-(説明無し) 不明。 |
× |
48 | 4 |
原文:last tick type: 0=uptick, 1=downtick, 2=n/a 不明。 |
○ |
52 | 2 |
原文:always 0x0100 不明。常に「0x0100(10進数で256)」とありますが、「0」の場合もあるようです。 |
× |
54 | 2 |
原文:variable (many times NULL) 不明。 |
× |
56 | 4 |
原文:time 最後に受信したtickの受信時間(サーバー時間)です。 |
× |
60 | 4 |
原文:-(説明無し) 不明。 |
× |
64 | 8 |
原文:bid 最後に受信した売値です。 |
○ |
72 | 8 |
原文:ask 最後に受信した買値です。 |
○ |
80 | 8 |
原文:session high 当日の高値です。 |
○ |
88 | 8 |
原文:session low 当日の安値です。 |
○ |
96 | 16 |
原文:variable (many times NULL) 不明。 |
× |
112 | 8 |
原文:bid (repeated) 最後に受信した売値と同じ値になっていますが、詳細は不明です。 |
○ |
120 | 8 |
原文:ask (repeated) 最後に受信した買値と同じ値になっていますが、詳細は不明です。 |
○ |
位置 | 長さ | 説明 | 編集 |
---|---|---|---|
0 | 12 |
原文:symbol 通貨ペアのシンボル名です。 例えばFXTFの1000通貨コースの場合は「USDJPY-cd」など「-cd」が含まれたシンボル名になります。 |
○ |
12 | 64 |
原文:description シンボルの説明です。 通貨ペアリストの通貨ペア名(シンボル名)の右側に表示されてます。 |
○ |
76 | 12 |
原文:alt name 通貨ペアの代替名です。 通貨ペアのシンボル名(symbol)と異なる場合に設定されているようです。 例えばFXTFの1000通貨コースの場合、シンボル名が「USDJPY-cd」だと「USDJPY」が設定されています。 |
○ |
88 | 12 |
原文:base currency 基準通貨です。 通貨ペアの左側の通貨名が設定されていると思ったのですが、仮想通貨の場合は右側が設定されていました。 例えば「AUDUSD」や「USDJPY」だと左側の「AUD」や「USD」が設定されていますが、「BCCJPY」や「BTCJPY」や「MONAJPY」だと右側の「JPY」でした。 |
○ |
100 | 4 |
原文:index of group in "symgroups.raw" symgroups.raw内の該当するグループの番号です。 番号はsymgroups.raw内の最初のグループが「0」番、次が「1」番(以降1ずつ増加)になるようです。 symbols.rawとsymgroups.rawを紐付けるための番号だと思われます。 |
× |
104 | 4 |
原文:digits 通貨ペアの価格精度(小数点以下の桁数)です。 |
○ |
108 | 4 |
原文:0=No|1=CloseOnly|2=Full トレードモードです。 「0」がトレード禁止、「1」が決済のみ許可、「2」が制限無しです。 ちなみに、YJFXは「0」、OANDAは「2」でした。 |
○ |
112 | 4 |
原文:color in "Market Watch" window 「気配値表示」画面に表示されているシンボル(通貨ペア)の色です。 下の画像は通貨ペアAUDUSD-cdの色を緑色に変更したときの例です。 |
○ |
116 | 4 |
原文:unique symbol id symbols.raw内の通貨ペアの順番(番号)です。 順番(番号)はsymbols.raw内の最初の通貨ペアが「0」番、次が「1」番(以降1ずつ増加)になるようです。 |
× |
120 | 1508 |
原文:-(説明無し) 不明。 |
× |
1628 | 4 |
原文:-(説明無し) 不明。 |
× |
1632 | 8 |
原文:-(説明無し) 不明。 |
× |
1640 | 8 |
原文:-(説明無し) 不明。 |
× |
1648 | 12 |
原文:-(説明無し) 不明。 |
× |
1660 | 4 |
原文:spread in points: 0=current online spread (variable) スプレッドです。 「0」は可変スプレッドを意味するようです。 固定スプレッドの場合は「1」以上の値が設定されているようです。 |
○ |
1664 | 16 |
原文:-(説明無し) 不明。 |
× |
1680 | 8 |
原文:swap long 買いポジション(ロング)時のスワップです。 EAのテストでスワップを好きな値に変更したい場合はこの項目を変更したら良いと思いますが、スワップの計算方法はFX業者によって異なるようです。 また、スワップの表示形式には「ポイント形式」と「パーセント形式」があるようです。 とりあえず、 ・ポイント形式の場合の計算方法 契約サイズ×取引数量×最小価格変動値×スワップの数値 ・パーセント形式の場合の計算方法 通貨ペアのレート×スワップの数値÷100×取引数量÷365 という情報をネット検索で入手したのですが、例えば「スワップを50円にしたい」といった場合、実際どのような値を入れたら良いのかわかりません。 なので、「スワップを『0』に設定してスワップを含めない差金決済だけの損益でEAを評価したい」という使い方しか思いつきません。 |
○ |
1688 | 8 |
原文:swap short 売りポジション(ショート)時のスワップです。 スワップ変更については「買いポジション(ロング)時のスワップ」を参照。 |
○ |
1696 | 4 |
原文:Day of week to charge 3 days swap rollover. スワップが3日分付与される曜日です。 日曜日が「0」で月曜日が「1」と続き土曜日が「6」になるようです。 |
○ |
1700 | 4 |
原文:-(説明無し) 不明。 |
× |
1704 | 8 |
原文:lot size in units 1ロットあたりの通貨枚数です。 |
○ |
1712 | 16 |
原文:-(説明無し) 不明。 |
× |
1728 | 4 |
原文:stop distance level リミットストップレベルです。 値はpoints単位のようです。 |
○ |
1732 | 12 |
原文:-(説明無し) 不明。 |
× |
1744 | 8 |
原文:margin init (0 = ContractSize) 1ロットの初期証拠金らしいです。詳しくは知りません。 |
○ |
1752 | 8 |
原文:margin maintenance (0 = ContractSize) 1ロットの初期証拠金(計算モード)らしいです。詳しくは知りません。 |
○ |
1760 | 8 |
原文:margin hedged 1ロットの必要証拠金らしいです。詳しくは知りません。 |
○ |
1768 | 8 |
原文:leverage calculation: 0...5 = relative to account leverage (ie. 0.83333 = AccountLeverage/MarginDivider) > 10 = absolute custom leverage (ie. 100 = 1:100) レバレッジ(の計算方法?)らしいです。詳しくは知りません。 |
○ |
1776 | 8 |
原文:point size 通貨ペアの価格の小数点数値です。 |
○ |
1784 | 8 |
原文:points per unit 1通貨あたりのポイント数です。 point(s)はMetatrader独自の単位らしく、各通貨ペアで扱える最小変動幅を指すそうです。 例えば、USDJPYの1pointが0.001円の場合、1通貨つまり1円は1000pointsに、 EURUSDの1pointが0.00001ドルの場合、1通貨つまり1ドルは100000pointsに、 なるらしいです。 |
○ |
1792 | 24 |
原文:-(説明無し) 不明。 |
× |
1816 | 12 |
原文:margin currency 証拠金の通貨です。 |
○ |
1828 | 104 |
原文:-(説明無し) 不明。 |
× |
1932 | 4 |
原文:-(説明無し) 不明。 |
× |
位置 | 長さ | 説明 | 編集 |
---|---|---|---|
0 | 16 |
原文:group name 「通貨ペアリスト」画面に表示されているグループ名です。 |
○ |
16 | 60 |
原文:group description グループの説明です。 どこに表示されているのかわかりません。 先頭に「?」が表示される場合がありますが、それは実際のデータの先頭1文字がNull値で表示不可だったので当ツールで「?」に変換して表示させているものです。なぜNull値になっているのかは不明です。 |
○ |
76 | 4 |
原文:group color in "Market Watch" window, may be overwritten by SYMBOL.color グループの色らしいですが、どこに表示されているのかわかりません。 |
○ |
位置 | 長さ | 説明 | 編集 |
---|---|---|---|
0 | 12 |
原文:symbol 通貨ペアのシンボル名です。 例えばFXTFの1000通貨コースの場合は「USDJPY-cd」など「-cd」が含まれたシンボル名になります。 |
× |
12 | 4 |
原文:timestamp Tickを受信したときの時間(サーバー時間)みたいです。 |
× |
16 | 8 |
原文:bid Tickを受信した売値みたいです。 |
× |
24 | 8 |
原文:ask Tickを受信した買値みたいです。 |
× |
32 | 4 |
原文:consecutive tick counter 連続ティックカウンターです。 通貨ペアのシンボル名に関係なくTickを受信するごとに1つカウントアップしているみたいです。 |
× |
36 | 4 |
原文:-(説明無し) 不明。 |
× |
最低限必要なソースのみ添付されています。リソースファイル(.res)などは添付されていません。
リリース日 | バージョン | 内容 |
---|---|---|
2019/01/23 | 1.0.0.0 | 初リリース |