FX予測ツールドル円3

FX予測ツールドル円3 ブログ
FX予測ツールドル円3

2026/07/29
FX ドル円予測 最終バージョン
[FX予測ツールドル円3] 作成の経緯

FX予測ツールドル円3
FX予測ツールドル円3

機械学習による予測ツールとして mam 様の
FANN(Fast Artificial Neural Network Library)
(Delphiでお手軽プログラミング)
https://mam-mam.net/delphi/fann.html

をそのまま使用して
2024/11月、向こう1年間の最高気温予測アプリを
アップロードさせていただきました。(感謝)
もしかしたら、売上なども予測できるのではないかと思い、
2024/11月、売上予測アプリも作ってみました。(感謝)

私は2023/05月からFXというのをやっていますが、
2026/07月現在少しづつ向上している感じはありますが
結果はうまくいっていません。

FX予測の参考資料として
2024/11月に経済指標記録アプリをアップロードし、
2025/02月にFX予測ツール(ドル円特化)をアップロードし、
更に2025/06月にFX予測ツール(ドル円)30分足用 を
作成しました。(多謝)

このFX予測ツールの改訂版として、
mam 様のFANN(Fast Artificial Neural Network Library)
を使用させていただき、
機械学習によるFXドル円予測ツールを作成するに当たって、

2026年1月以降 Google Gemini 様に沢山教えていただき(多謝)
漸く05分足、30分足、4時間足の各10期後までの
予測プログラムの目途が立ったところで、
Gemini 様から、10期予測では大きな変化率を抑制して
しまうので、売買サインが出にくいことから
1-3期予測とする提案がありました。

Gemini 様の提案をもっともだと思いましたが、
10期予測プログラムも約半年の時間を費やして
作ったものであり、私としては棄て難い
と言う未練もあったため、
いったん、10期予測プログラムを完成させて
2026/05/30、 [FX予測ツールドル円2] として
本ブログにまとめました。

今回はFXドル円予測最終バージョンとして
[FX予測ツールドル円3] を作成しました。
予測期間は
05分足 4期
30分足 3期
4時間足 2期
としました。

FXは価格の上下を当てるだけの単純なルールですが、
その中に国内外の経済情勢、政治情勢やトレーダの思惑を
含んで非常に複雑で奥深く感じています。

10期予測の場合、 4時間足だと、予測期間が
かなり長く(40時間)なり、その間に情勢の変化により
価格変動が起こって、結果として予測が外れることに
なります。

そこで、今回は予測期間を短くすることで
実際の金額変動に近い予測ができればいいなと
思っています。

FXドル円の予測は今回を最終バージョンとし、
次回以降はFXの自動売買に移ろうと思っています。

このツールがわずかでも役に立てれば非常に嬉しく思います。

かなりマニアックなツールなのでほとんど役にたたない
かも知れませんが、何かの参考になれば幸いです。

なお、このアプリは Windows で動作します。
スマホ、マック、Linuxなどでは動作しませんのでご了承願います。

使用方法

1 ファイル等のダウンロード
ファイル等は次からダウンロードできます。

ショートコード

FX予測ツールドル円3 (3 ダウンロード )

ダウンロードの際、画面右上のダウンロードマークをクリックすると
ファイルが未確認と表示され、マルウエアの危険が表示されたら、
その下のマルウエア検査ボタンをクリックし、マルウエア検査通過後に
ファイル名がFx予測.zipとなると思います。

WindowsもGoogleも日々変化しているようなので、
ダウンロードの際、上記と違うかもしれません。悪しからず。

Fx予測ドル円3.zipファイルを適当な場所に移動して解凍します。
(ファイルを右クリックしてすべて展開を選択します。)

ファイルを解凍すると、[Fx予測ドル円3] フォルダの下に
次のファイル、フォルダが表示されます。

Data フォルダ
フォルダ内に次のフォルダが含まれます。
CSV フォルダ
データベースのデータをCSVファイルに保存するフォルダです。
MTData フォルダ
MT4以外のツールで作成した場合はこのフォルダに
保存してください。

一般のファイル
fannfloat.dll 機械学習用のファイルです。
FxYUsJp3.exe アプリの実行ファイルです。
UWCSV_script.txt
MetaQuotes社のFXトレードソフトMT4から
為替レートデータをCSVファイルに書出すMT4用の
プログラムコードです。
テキスト内容をコピーして使用してください。
UWCSV_Multi.txt 同上

SQDB.DB
SQLite データベースファイルです。(無料のデータベース)
プログラムと同じディレクトリに置いてください。
SQLiteのサイトを見ると、世界で一番使われていると
書いてあります。

2 FXデータの取得(ダウンロード)

データの取得は MetaQuotes 社の MetaTrader4: [MT4] という
FX取引ツールを使っていることを前提として説明します。
[MT4] でなくてもデータ取得できると思いますが、
その場合は独自に取得していただくことになります。

MetaTrader4 [MT4] は
https://www.metatrader4.com/ja/download
からダウンロードできます。
ただし、私は XMTrading というところの
PC用ツールからダウンロードしており、
少し環境が違うかも知れません。
https://www.xmtrading.com/jp/mt4

なお、XMTrading はデモ口座で使用できます。
デモ口座使用は無料です。(登録は必要です)

[MT4] はプログラムを作成することが出来ます。
今回は自作のFXデータの取得(書出)プログラムを使用します。

MT4データ書出 プログラム作成の手順

この作業は前回 FX予測ドル円2 で登録されている方は
作業不要です。

1 新規プログラムの登録

[MT4]をインストールすると、 MetaEditor4 というプログラム作成ツールも
同時にインストールされますので、 MetaEditor4 を起動します。
画像 G01_メタエディタ起動 参照

上欄のファイルメニューから新規作成を選ぶとプログラムタイプ選択画面が
現れますので、スクリプトを選択してください。
スクリプトは、 1回だけ実行するタイプのプログラムです。
画像 G02_スクリプト選択 参照

スクリプトを選択するとファイル名登録画面が出ますのでファイル名を
登録してください。

今回登録していただくのは2種類のスクリプトプログラムです。
UWCSV_Multi.mq4 及び UWCSV_script.mq4 です。

当初 UWCSV.script.mp4 プログラムを作って
05分足、30分足、4時間足の各足で実行していたのですが、
Gemini様から一つのプログラムで各足のデータを出力する
プログラムの提案があり、早速取り入れさせていただきました。(感謝)

ファイル名は UWCSV_Multi.mq4 です。
このプログラムは一度の実行で複数時間足のFX情報を出力できる
プログラムですが、05分足だけは最後の05分だけが出力できません。
理由はわかりませんが、05分足だけは UWCSV_script.mq4
で出力する必要があるので、2種類のプログラムを入力していただく
ようお願いします。

実行する際は30分足で UWCSV_Multi.mq4 を実行し、
05分足の画面で UWCSV_script.mq4 を実行してください。
3回の実行が2回になったので、改善と言えます。
お手数をおかけします。

プログラム名はこれらの名前でなくても解り易い名前にして
いただければ結構です。

画像 G03_ファイル名登録 参照

登録が終わるとプログラム編集開始画面になりますので、
プログラムを記述します。
画像 G04_プログラム開始 画面参照

プログラムの内容は添付文書
UWCSV_Multi.txt 及び
UWCSV_script.txt の通りです。
(プログラムと同じディレクトリにあるファイルです。)
ファイルの内容閲覧はファイルをダブルクリックすることで
閲覧・編集できます。
通常はWindows標準のメモ帳が起動すると思います。

編集メニューから [全選択]
で選択し、[コピー]メニューで内容をコピーできますので
コピー内容を貼り付けすることで利用出来ます。

プログラムの編集が終わりましたら、上欄メニューの [コンパイル] を
クリックしてください。
画像 G05_コンパイル 参照

入力文字に間違いがあるとエラーが表示されますので、
エラーが表示されたら入力した文字を確認してください。
私の環境ではこのプログラムで動作しています。

書出項目は次の通りです。

(サーバー時間)
日付, 時間, 始値, 高値, 安値, 終値, 現在足05SMA,
現在足20SMA, 1H足20SMA, 4H足20SMA, 日足20SMA,
現在足20BB Lower, 現在足20BB Uper,
1H足20BB Lower, 1H足20BB Uper,
4H足20BB Lower, 4H足20BB Uper,
(ローカル時間)
日付, 時間

です。
BBとあるのはボリンジャーバンドのことです。
前回の出力データより大幅に項目が増えています。
項目の説明はしませんので、興味のある方は独学
願います。

実際のデータは次のようなものです
2025/10/29,23:40,152.643,152.631,152.643,152.619,
152.685,152.255,152.467,151.659,
0.063,49.680,152.534,152.835,151.744,
152.767,151.655,153.278,2025/10/30,06:40

プログラムはドル円に特化しており、
価格は小数点前3桁、小数点以後3桁の6桁で
出力しています。(実際には小数点は無視しています)

ドル円以外の通貨またはMetaTrader 4 以外の
トレーディングソフトを使用しておられる場合は
上記のデータの並びになるようにしてください。
桁数もできれば揃えていただくのが望ましいです。

サーバ時間とローカル時間

プログラムの初めの方で
dft = 3600 * 6; //6時間の時間差(秒で表現)
としてありますが、XMTradingの場合サーバが
アフリカの東、セーセル国にあるので
日本との時間差が 6時間になります。
サーバの設置国によって時間差が異なりますので、
時間数を適宜修正願います。

また、米国夏時間の場合、時間差は 6時間ですが、
冬時間の場合、時間差は 7時間になります。
春と秋に時間の変更がありますので、直して
いただきますようお願いします。

Gemini様から自動で夏冬時間を変更するプログラム
の案内があり、取り入れてみましたが、うまく動作
しないようです。
業者によって米国時間の適用時期が異なることに
原因があり、 XMTradingもこれが原因のようなので、
夏冬時間の変更は手動でお願いします。
お手数をおかけします。

既に書出ファイルが存在する場合は、最終行の日時を調べて
次の日時から追加で書き出しています。
(その方が処理時間が短いと思います)

データは過去200日分を使用しますので、
ファイルが大きくなりすぎる場合は、
適宜前データを削除していただいても良いかと思います。

2 書出操作方法

[MT4] の操作方法はしばらく使って慣れるのが一番と思います。
[MT4] を起動して、ドル円の通貨ペアを表示させ、
30分の時間足を選択してください。

画像 G06_MT4起動画面 参照

画像 G07_スクリプト選択画面 参照

左端の [ナビゲータ] ボックスの中の スクリプトを開いていただくと
コンパイルした ファイル名(UWCSV_script.mq4, UWCSV_Multi.mq4)
が表示されますので、30分足の画面で UWCSV_Multi.mq4
を右クリックして[チャートで実行] メニューをクリックして、データ出力。
05分足の画面で UWCSV_script.mq4 を右クリックして
[チャートで実効]メニューをクリックしてデータ出力。
[End of OutputData] と表示されると書出終了です。
書出はごく短時間で終了するはずです。

3 書き出したファイルの確認

書き出したファイルをファイルエクスプローラで検索してみてください。
Windows(C:) を開くと、末尾の方に [ユーザ]ディレクトリがあり、
[ユーザ]ディレクトリを開きます。

画像 G08_ユーザ 参照


画像 G09_出力したファイル 参照

ユーザディレクトリから ユーザ名、AppData、Roaming
とたどっていくと、 [MetaQuotes] ディレクトリにたどり着きます。

MetaQuotes ディレクトリの中の [Terminal] ディレクトリを
開きますと、 数字が並んだディレクトリがあると思いますので、

その中の [MQL4] ディレクトリの中の
[Files] ディレクトリの中に出力したファイルがあると思います。

ファイル名はUSDJPY30M.CSV などとなっており、
取引通貨ペア名、末尾の数字は時間足を示します。
ファイル名は変更しないでください。

なおファイルは CSV ファイルと呼ばれる形式のファイルで、
ファイルをダブルクリックすると メモ帳 や 表計算ソフト(エクセル)
などで閲覧編集することができます。

なお、表計算ソフトで編集した場合は、 編集結果を
CSV ファイルとして保存する必要があります。

表計算ソフトで保存したファイルが CSV ファイルにならない場合は
ファイルメニューの エクスポート を選択する事で
CSV 形式のファイルに出力できると思います。

画像 G10_メモ帳画面 参照

データを書き出していない場合は次のデータを
USDJPY???.CSV ファイルにコピーして スクリプトを
実行してみてください。

2025/10/29,23:40,152.643,152.631,152.643,152.619,152.685,152.255,152.467,151.659,0.063,49.680,152.534,152.835,151.744,152.767,151.655,153.278,2025/10/30,06:40
2025/10/29,23:45,152.649,152.643,152.647,152.633,152.675,152.255,152.467,151.659,0.060,50.016,152.538,152.812,151.744,152.767,151.655,153.278,2025/10/30,06:45

私の環境では以上のようなディレクトリに保管されています。
ファイルが確認できたら前段処理は一段落です。
初めてFXに触れる方にとっては大変ハードルが高い
かと思われますが、頑張ってください。
お疲れ様です。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

FxYUsJp3 アプリの使用方法

上記の方法で最新のFXデータをダウンロードした上で、
FxYUsJp3.exe ファイルをダブルクリックしてアプリを起動すると
初回、プログラムは config.txt というファイルを探し、
なければCSVファイルの検索を行います。

上記 「書き出したファイルの確認」 項目で調べた場所を
辿っていき、30分足のファイル USDJPY30.CSVを選択すると、
プログラムは config.txt ファイルに位置を記録して、
以後は自動で
05分足、30分足、4時間足のCSVファイルを読込ます。
読込には10数秒程度の時間がかかります。

画像 G00_初期検索 参照

なお、読込がうまくいかない場合は、
一旦プログラムを終了して再起動してみるとか、
プログラムファイルのあるディレクトリから Config.txt ファイルを
削除して見るなどしてみてください。

ファイルを選択すると
05分、30分、4時間各足とも順次読込ます。
私の機械での読込時間は
05分足の場合約20秒
30分足の場合約20秒
4時間足の場合約5秒
かかりましたので、
その程度は読込時間を見ておいてください。
読込日数を増やすと、読込時間も増えます。

[1:05分]、[2:30分]、[3:4時間]タブ(ページ)共通

各タブ(ページ)上欄 [予測] ボタン
をクリックすると、CSVファイル出力時点の最終値の後
x期の 高値、安値、終値を予測します。

x期というのは05分足ですと4期後(20分後)
までの05分ごとの 高値、安値、終値
のことであり、
4時間足ですと2期後(8時間後)までの
4時間毎の高値、安値、終値のことです。

学習期間: 5分足では初期値40日
30分足及び4時間足では初期値200日
学習回数: 5分足、30分足 1000回
4時間足 600回

学習期間、学習回数は任意に変更可能です。
初期値程度が適当と思われます。

学習期間や学習回数を増やすと学習時間は
長くなります。
例えば200万回の学習回数にすると
私の機械では学習に1日半程度かかりましたが、
予測精度の向上はあまりないようでした。

初期値の場合、
学習時間は私の機械では約30秒を要しました。

予測が終了すると 予測結果のグラフを表示します。
グラフのX軸は時刻、グラフのY軸は金額です。

18:05 と表示してあれば 18時05分を表します。
時刻はローカル時刻のはずです。
時刻がおかしいときはサーバーとの時差を
疑って、スクリプトプログラムを調べてください。
あるいはプログラムを終了させて、CSVファイル出力を
行い、再度プログラムを立ち上げてみてください。

グラフの緑色のラインは予測終値のラインで、
上下の細い赤ラインは高値、安値を表します。

G13_グラフ表示 参照

グラフの下欄
1行目に 実データの最終日時、終値、予測検証ボタンが、
2行目に読込日数、学習回数、MSE誤差、学習時間
3行目に予測分
4行目に予測値
5行目に実終値
6行目に予測値と実終値の差額
7行目に合否を○×で表示します。

合否は売(買)サインが出ている場合、
予測時点の最終終値から見て実終値が安値(高値)
となった場合は当りとして表示しています。

なお、数値は小数点を除いてありますので、見る時は
小数点を補ってください。

予測から適当な時間が経過後に MT4画面で
CSVファイル書出をした上で、
本プログラムを起動し、
下欄右側の [予測検証] ボタンをクリックすると、
予測データと実際のデータの比較をします。
検証は全ての予測を1回で検証します。

また、予測日の欄で ↑↓ キーを押すと、
過去に予測した予測・検証データとともに
グラフも表示します。

[4:学図] タブ(ページ)

今回、このページは機能しません。
学習図は理由のわからないエラーが表示されるので
図の表示は中止しました。

この図は mam 様の
FANN(Fast Artificial Neural Network Library)
(Delphiでお手軽プログラミング)
に掲載されているので表示させましたが、
この図がどのような意味を持つのかはわかりません。

[51:検証] タブ(ページ)

G15_検証表参照

予測及び検証データを記録しています。
この表のままではわかりにくいので、
表の現在行が 1-3ページの下欄に表示されます。

[1:予測] 画面の [予測] ボタンをクリックするたびに
この表の最終行に予測が追加されます。

ページの左側
5.1: 05分足予測検証表
5.2: 30分足予測検証表
5.3: 4時間足予測検証表
各表とも
1:05分足、2:30分足、3:4時間足ページに
予測終値、実終値のグラフと共に、下欄には
日付、時刻、最終終値、読込日数、学習回数、MSE誤差、学習分
が表示されます。
各行と右表の明細行を消したいときは消したい行を
クリックして [F12]キー を押下することで消去できます。

ページの右側
各行の10回の予測、検証データが右表に表示されます。
左表をクリックしていただくと、その予測の10回分の予測額を
表示します。
予測期番号、予測終値、実終値、当否、高値、安値、…
他を表示します。

この予測検証行を削除したいときは、
その行にカーソルがあるときに

[F12] キーを押下することで
左欄1行と右欄明細行を消去できます。

[52.検証2]タブ(ページ)

G16_検証2 参照

このページを開くだけで、51.検証ページの内容を集計し、
時間足別、各期毎に
当り数、外れ数、当り率を表示します。

[6:FX表] タブ(ページ)

画像 G17_FX表 参照

FANN(Fast Artificial Neural Network)
mam様の Delphiでお手軽プログラミング に掲載されている
機械学習用のライブラリを活用して
機械学習し、予測するための入力データです。
SMAなど専門用語を使用していますが、必要ならネットで
検索願います。
MQL4 SMA などと検索すると解説が見られると思います。

機械学習への入力項目
時間他ほとんどの変化率項目は Gemini様の提案です。 (多謝)
時刻は循環であることを示すために
Sin変換 Cos変換しています。
終値: n期先の変化率。終値は先の変化率(予測項目)
高値、安値: 終値からの乖離率
SLP: 1-3期前からの変化率(スロープ)
M05: 現在足5期のSMA(単純移動平均)の変化率
M20 :現在足20期のSMA(単純移動平均)の変化率
M1H: 1時間足20期のSMAの変化率
M4H: 4時間足20期のSMAの変化率
M45: 4時間足5期のSMAの変化率
ATR: Average True Range 20期平均的な値動き
RSI: Relative Strength Index 14期相対力指数
B0L: ボリンジャーバンド現在足 20期の変化率
B1L: ボリンジャーバンド1時間足 20期の変化率
B4L: ボリンジャーバンド4時間足 20期の変化率

読込データ及び予測データをこのFX表に表示します。
この表は MT4 から出力したFX価格データ(CSVファイル)
から再現できるデータなので、メモリ上の表と
しています。
プログラムを終了すると表データもなくなります。

このデータを保存したい場合は
[7:CSV]タブ(ページ)を参照願います。

[7:CSV]タブ(ページ)

G18_CSV保存表 参照

CSVファイルは表計算ソフト(エクセル等)などで閲覧可能なファイルです。
保存先はプログラムのあるディレクトリ以下
Data\CSV ディレクトリに保存されます。

F02R05M、F02R20M、F02R4H表はメモリデータベース上のテーブルです。
これらのテーブルは MT4 から出力したFXの価格データ(CSVファイル)
から再現できる、学習のためのデータなので
メモリデータベース上のテーブルとしました。
プログラムを終了すればデータは消えてしまいますので、
必要なら当該項目行にフォーカスがある状態で [書出] ボタンを
クリックすることでテーブル内容をCSVファイルとして保存できます。

F03V05H、F03V30H、F03V4HH、F03VDT
テーブルは保存されていますが必要ならCSVファイルとして
出力できます。

[8:FX表]タブ(ページ)

MT4 からCSVファイルに出力したデータを
一時的にメモリテーブルに読み込んだものです。
プログラムを終了すればデータは消えますが、
CSVファイルを読み込めばファイルは再現されますので
無視してください。

以上
この説明を見ていただくだけでも嬉しいですが、
使っていただければもっと嬉しいです。
また役に立てればこれ以上の幸せはありません。
最後までご覧いただきありがとうございます。
KUROKUWA 拜

コメント

Verified by MonsterInsights
タイトルとURLをコピーしました