SELF_YenPulse システム仕様書 v3.12
1. 概要
1.1 システム名
SELF_YenPulse – USD/JPY AI Trading Signal System
1.2 目的
複数のAIモデルによるコンセンサスベースのトレーディングシグナル発信システム。USD/JPY通貨ペアの1時間足スイングトレード(数時間~数日保有)を対象とした、高精度なエントリーシグナルとTP/SL(利確・損切り)の提供。
1.3 システム構成
- テクニカル分析エンジン: MetaTrader 5 (MQL5) –
main.mq5 - AI分析・シグナル生成: Python 3.x –
main.py - 債券データ収集: Python 3.x –
bond_scraper_auto.py - 通知システム: Pushover API
2. アーキテクチャ
2.1 システムフロー
┌─────────────────────────────────────────────────────┐
│ MetaTrader 5 (MQL5) │
│ ┌───────────────────────────────────────────┐ │
│ │ main.mq5 - テクニカル分析エンジン │ │
│ │ - 30秒ごとのリアルタイムデータ収集 │ │
│ │ - 60種以上のテクニカル指標計算 │ │
│ │ - tech_context.txtへ出力(CP932エンコード)│ │
│ │ - tech_context_logsへアーカイブ │ │
│ └───────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
↓ (ファイル共有)
┌─────────────────────────────────────────────────────┐
│ Python - AIコンセンサスエンジン │
│ ┌───────────────────────────────────────────┐ │
│ │ main.py - メインコントローラー │ │
│ │ ・5分ごとのポーリング(取引時間内のみ) │ │
│ │ ・複数AIモデルの並列呼び出し │ │
│ │ ・コンセンサス判定ロジック │ │
│ │ ・TP/SL計算 │ │
│ │ ・Pushover通知 │ │
│ └───────────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────────┐ │
│ │ bond_scraper_auto.py - 金利データ収集 │ │
│ │ ・CNBCから米日2年債利回り取得 │ │
│ │ ・FXSSIからポジション偏り取得 │ │
│ │ ・Selenium/BeautifulSoup使用 │ │
│ │ ・cnbc_bonds/bond.txtへ出力 │ │
│ └───────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
↓ (API呼び出し)
┌─────────────────────────────────────────────────────┐
│ 複数AIモデル(コンセンサス) │
│ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │
│ │ Grok │ │ Gemini │ │ GPT │ │Claude │ │
│ │(技術) │ │(検証) │ │(計算) │ │(独立) │ │
│ └────────┘ └────────┘ └────────┘ └────────┘ │
│ ┌────────┐ ┌────────┐ │
│ │ Grok │ │Perplexity│ │
│ │(心理) │ │(最終検証)│ │
│ └────────┘ └────────┘ │
│ ↓ │
│ ┌────────────────────────────────────────┐ │
│ │ コンセンサス2集計 (5モデル) │ │
│ │ ・BUY/SELL/NONEの多数決 │ │
│ │ ・確信度の平均計算 │ │
│ │ ・4票以上で強いコンセンサス │ │
│ └────────────────────────────────────────┘ │
│ ↓ │
│ ┌────────────────────────────────────────┐ │
│ │ Perplexityによる最終検証(拒否権) │ │
│ │ ・コンセンサスと同方向 → 承認 │ │
│ │ ・NONE → 黙認(コンセンサスに従う) │ │
│ │ ・逆方向 → 拒否(シグナルなし) │ │
│ └────────────────────────────────────────┘ │
│ ↓ │
│ ┌────────────────────────────────────────┐ │
│ │ Grok Final - 最終判断 │ │
│ │ ・全分析結果の総合評価 │ │
│ │ ・確信度65%以上でシグナル発信 │ │
│ │ ・詳細な判断理由の生成 │ │
│ └────────────────────────────────────────┘ │
│ ↓ │
│ ┌────────────────────────────────────────┐ │
│ │ GPT-5 TP/SL計算エンジン │ │
│ │ ・動的ATR倍率計算 │ │
│ │ ・リスク・リワード比率最適化 │ │
│ │ ・サポート/レジスタンス考慮 │ │
│ └────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────┐
│ ユーザー通知(Pushover) │
│ ・シグナル方向(BUY/SELL) │
│ ・エントリー価格 │
│ ・TP/SL価格 │
│ ・確信度・リスクリワード比率 │
│ ・判断理由 │
└─────────────────────────────────────────────────────┘
3. MQL5テクニカル分析エンジン (main.mq5)
3.1 基本情報
- バージョン: 3.12
- 更新間隔: 30秒(入力パラメータで変更可能)
- 出力ファイル:
tech_context.txt(CP932エンコード) - ログフォルダ:
tech_context_logs/
3.2 入力パラメータ
input int UpdateInterval = 30; // 更新間隔 (秒)
input string InpSymbol = "USDJPY"; // 取引通貨ペア
input string OutputFile = "_Self_YenPulse\\tech_context.txt";
input string LogFolder = "_Self_YenPulse\\tech_context_logs";
input string FREDAPIKey = "*********";
input string JP225Symbol = "JP225"; // 日経225シンボル
input string US500Symbol = "US500"; // S&P500指数シンボル
3.3 主要機能
3.3.1 データ収集
- リアルタイム価格: Bid/Ask/Spread
- ティックボリューム分析: 時間帯別の売買圧力
- 外部シンボル: 日経225、S&P500の取得
3.3.2 テクニカル指標(60種以上)
基本的な移動平均・トレンド指標
- 移動平均: MA(20, 50, 100, 200) – M1/M5/M15/H1/H4/D1
- MACD: (12, 26, 9) – H1/H4
- RSI: (14) – M15/H1/H4
- ストキャスティクス: (%K, %D) – H1
- ADX/DMI: (14) – H1
- パラボリックSAR: – H1
ボラティリティ指標
- ATR: (14) – M15/H1
- ボリンジャーバンド: (20, 2σ) – H1
- 標準偏差: (20) – H1
- ドンチャンチャネル: (20) – H1
ボリューム・勢い指標
- OBV: (On-Balance Volume)
- MFI: (14) Money Flow Index
- CVD: (Cumulative Volume Delta)
- VWMA: (Volume Weighted Moving Average)
- 出来高MA: (20)
オシレーター系
- CCI: (20) Commodity Channel Index
- Williams %R: (14)
- ROC: (Rate of Change)
- QQE: (Qualitative Quantitative Estimation)
- Aroon: (25) アルーン指標
サポート・レジスタンス
- ピボットポイント: 標準/Camarilla/Woodie
- フィボナッチリトレースメント: 23.6%, 38.2%, 50%, 61.8%
- 一目均衡表: 転換線、基準線、先行スパン、遅行スパン
セッション分析
- アジア・欧州・米国セッション: 各セッションの高値・安値・VWAP
- 日次変動率: 前日比・当日変動幅
- 時間別統計: 時間帯別の平均変動率
高度な分析
- ボリュームプロファイル: POC (Point of Control)
- Zスコア: 価格の統計的偏差
- 相関分析: 主要通貨ペアとの相関係数
- キャンドルパターン分析: ハンマー、逆ハンマー、包み足、はらみ足等
3.3.3 FRED経済データ取得
- 米国2年債利回り: DGS2
- 米国10年債利回り: DGS10
- 日本2年債利回り: (FRED経由)
- VIX指数: VIXCLS
- DXY指数: DTWEXBGS
重要な注意事項:
- ブローカーが提供していないシンボル(米国債・日本国債・VIX・DXY等)は直接MT5で取得できない
- これらはFRED APIまたは外部データソースから取得する
- MT5で取得可能なのは、ブローカーが提供している通貨ペア・指数のみ
3.3.4 ファイル出力
- エンコード: CP932 (Windows日本語環境対応)
- 出力間隔: 30秒ごと
- アーカイブ: 毎回の更新時に
tech_context_logs/へタイムスタンプ付きでバックアップ - フォーマット: 構造化テキスト形式(セクション区切り:
====)
4. Python AIコンセンサスエンジン (main.py)
4.1 基本情報
- エンコード: UTF-8
- 監視間隔: 5分 (300秒)
- 最小シグナル間隔: 1時間 (3600秒)
4.2 必要パッケージ
aiohttp>=3.9.0 # 非同期HTTP通信
python-dotenv>=1.0.0 # 環境変数管理
jpholiday>=0.1.8 # 日本祝日判定
4.3 環境変数 (.env)
# AI APIキー
GROK_API_KEY=xai-...
GEMINI_API_KEY=AIzaSy...
GPT_API_KEY=sk-proj-...
CLAUDE_API_KEY=sk-ant-api03-...
PERPLEXITY_API_KEY=pplx-...
# 経済データAPI
FRED_API_KEY=...
# 通知サービス
PUSHOVER_USER_KEY=...
PUSHOVER_API_TOKEN=...
4.4 設定ファイル (config.json)
{
"monitoring_interval_seconds": 300, // 監視間隔(秒)
"check_interval": 300, // チェック間隔(秒)
"min_signal_interval": 3600, // 最小シグナル間隔(秒)
"api_timeout_seconds": 60, // APIタイムアウト(秒)
"trading_hours": {
"start": "8:00", // 取引開始時刻
"end": "22:30", // 取引終了時刻
"timezone": "Asia/Tokyo", // タイムゾーン
"weekdays_only": true, // 平日のみ稼働
"exclude_holidays": false // 祝日除外(現在無効)
},
"signal_thresholds": {
"grok_min_confidence": 0.70, // Grokの最小確信度
"consensus2_min_ais": 2, // コンセンサス最小AI数
"consensus2_require_unanimity": true, // 全員一致要求
"final_min_confidence": 0.65, // 最終確信度閾値
"perplexity_required": false // Perplexity必須(現在無効)
},
"risk_management": {
"atr_multiplier_sl": 1.5, // SLのATR倍率
"atr_multiplier_tp": 3.0, // TPのATR倍率
"confidence_adjustment_factor": 0.4 // 確信度調整係数
}
}
4.5 AIモデル構成 (prompt.json)
4.5.1 コンセンサス2(5モデル)
1. Grok (テクニカル分析専門)
- モデル:
grok-4-fast-reasoning-latest - 役割: USD/JPY専門のテクニカル分析
- 判断基準:
- トレンド方向の判定
- テクニカル指標の整合性確認
- ボラティリティ・リスク評価
- 米日金利差・ポジション偏りの考慮
- 最小確信度: 70%
2. Grok Sentiment (市場心理分析専門)
- モデル:
grok-4-fast-reasoning-latest - 役割: 市場センチメント・群衆心理分析
- 判断基準:
- 市場参加者の心理状態推定(恐怖/貪欲)
- VIXからのリスク選好度判断
- ティックボリューム分析
- トレンド強度・ADX評価
- ポジション偏りからの逆張り機会評価
- 出力追加項目:
sentiment: BULLISH/BEARISH/NEUTRALfear_greed_index: EXTREME_FEAR~EXTREME_GREED
- 最小確信度: 70%
3. Gemini (多角的検証)
- モデル:
gemini-2.5-pro - 役割: Grokの判断を多角的に検証
- 判断基準:
- 複数テクニカル指標の組み合わせ分析
- チャートパターン検出
- 金利差とテクニカル指標の照合
- 中長期トレンドとの整合性チェック
- 最小確信度: 70%
4. GPT (効率的検証)
- モデル:
gpt-4o-mini - 役割: 数値データの効率的検証
- 判断基準:
- 数値データ(Bid/Ask、ATR、RSI等)の検証
- テクニカル指標の計算確認
- リスク・リターン比率評価
- グループ内のバランス役
- 最小確信度: 70%
5. Claude (独立判断)
- モデル:
claude-sonnet-4-20250514 - 役割: 完全に独立した分析者
- 判断基準:
- テクニカル指標の総合分析
- トレンド強度・継続性評価
- サポート・レジスタンス位置確認
- リスク要因の特定
- 注意: トレンドが強い場合、一時的な調整シグナルは無視
- 注意: ADXはトレンドの「方向」ではなく「強さ」を示す
- 最小確信度: 70%
4.5.2 Perplexity (最終検証・拒否権)
- モデル:
sonar-reasoning - 役割: 最新の外部情報による最終チェック
- 判断基準:
- 最新経済ニュース(日銀政策、米雇用統計、FRB発言等)
- 米国債・日本国債利回りの最新動向
- ポジション偏り(FXSSI Sentiment)の最新情報
- これまでの全AI分析結果との整合性検証
- 重要経済イベント直前は「NONE」推奨
- 拒否権ルール:
- コンセンサスと同方向 → ✅ 承認
- NONE → ✅ 黙認(コンセンサスに従う)
- 逆方向 → ❌ 拒否(シグナルなし)
4.5.3 Grok Final (最終判断)
- モデル:
grok-4-fast-reasoning-latest - 役割: 全分析結果の総合評価・最終シグナル決定
- maxOutputTokens: 4096
- 判断フロー:
1. コンセンサス2の集計
├─ NONE が 3票以上 → 即座に「NONE」
├─ BUY/SELL が 4票以上 → 強いコンセンサス
├─ BUY/SELL が 3票 → 「NONE」(弱い)
└─ 2:2:1 分散 → 「NONE」
2. 確信度の平均計算
├─ 平均 < 0.70 → 「NONE」
└─ 平均 >= 0.70 → 次へ
3. Perplexityチェック(拒否権)
├─ 同方向 → ✅ シグナル確定
├─ NONE → ✅ コンセンサスに従う
├─ 逆方向 → ❌ 「NONE」
└─ 失敗 & 全員一致 & 確信度>=0.75 → ✅ シグナル発信可
4. 最終確信度計算
├─ コンセンサスとPerplexity一致 → 全AIの平均
└─ Perplexity失敗(全員一致) → 平均 × 0.9
5. 金利差・ポジション偏りの最終確認
出力形式:
{
"final_direction": "BUY/SELL/NONE",
"final_confidence": 0.0~1.0,
"final_reason": "最終判断理由(100文字以内)",
"consensus_strength": "STRONG/WEAK/NONE_MAJORITY/DIVIDED",
"consensus_match": "YES/NO/PERPLEXITY_FAILED/PERPLEXITY_NONE",
"sources_transparency": "Perplexityの参照ソース要約"
}
4.5.4 GPT-5 TP/SL計算エンジン
- モデル:
gpt-5 - 役割: 最適なTP(Take Profit)とSL(Stop Loss)の決定
- 入力情報:
- 最終シグナル(方向・確信度・理由)
- 現在価格・ATR(14)
- 全AIの分析結果サマリー
- 市場データ・金利差データ
- 判断要素:
- 市場状況評価: ボラティリティ、トレンド強度、サポート/レジスタンス
- リスク・リワード比率最適化: 基本1:2以上、確信度により調整
- テクニカル要因考慮: 直近サポレジ、トレンド強度、パラボリックSAR等
- ATR倍率決定:
- SL: ATRの0.8~1.5倍
- TP: ATRの2.0~3.5倍
- 金利差・ポジション偏り影響: 金利差拡大トレンドならTP広め、縮小ならTP近め
出力形式:
{
"take_profit": TP価格(小数点3桁),
"stop_loss": SL価格(小数点3桁),
"tp_pips": TP距離(pips),
"sl_pips": SL距離(pips),
"risk_reward_ratio": リスク・リワード比率,
"atr_multiplier_tp": TPのATR倍率,
"atr_multiplier_sl": SLのATR倍率,
"reasoning": "設定理由(150文字以内)"
}
4.6 シグナル発信条件
NONEを返す条件(迷ったらNONE)
- コンセンサス2でNONEが3票以上
- BUY/SELLが3票以下(弱いコンセンサス)
- 意見が2:2:1のように分散
- 平均確信度が0.70未満
- Perplexityがコンセンサスと逆方向
- Perplexity失敗 & 全員一致でない or 確信度<0.75
シグナル発信条件
- コンセンサス2でBUY/SELLが4票以上(強いコンセンサス)
- 平均確信度が0.70以上
- Perplexityが同方向またはNONE(黙認)
- Grok Finalの最終確信度が0.65以上
- 取引時間内(平日7:00~翌2:00)
- 前回シグナルから1時間以上経過
4.7 取引時間制御
# 稼働時間: 平日 7:00~翌2:00(JST)
# 停止時間: 2:00~6:59
# 土日: 完全停止
# 年末年始: 12/25, 1/1は停止
# 日本祝日: 警告を出すが稼働継続
5. 債券データ収集 (bond_scraper_auto.py)
5.1 基本情報
- エンコード: UTF-8
- 出力ファイル:
cnbc_bonds/bond.txt - ログフォルダ:
bonds_logs/ - 最大ログ保持数: 20件
5.2 データソース
5.2.1 CNBC (債券利回り)
- 米国2年債: https://www.cnbc.com/quotes/US2Y
- 日本2年債: https://www.cnbc.com/quotes/JP2Y
- 取得方法: BeautifulSoup (HTML解析)
5.2.2 FXSSI (ポジション偏り)
- USDJPY Sentiment: https://fxssi.com/usdjpy-sentiment
- 取得方法: Selenium (JavaScript動的ページ)
- 必要パッケージ:
seleniumwebdriver-manager(オプション)- ChromeDriver
5.3 出力フォーマット
=== Bond Yields & USDJPY Sentiment ===
Updated: 2025-11-04 15:30:45 JST
[US 2-Year Treasury]
Yield: 4.523%
Change: +0.012 (+0.27%)
Last Updated: Nov 4, 2025 at 3:25 PM EST
[Japan 2-Year Bond]
Yield: 0.654%
Change: -0.003 (-0.46%)
Last Updated: Nov 4, 2025 at 3:25 PM JST
[US-Japan Yield Spread]
Spread: 3.869%
Direction: WIDENING (favorable for USD/JPY uptrend)
[FXSSI USDJPY Sentiment]
Long Positions: 45.2%
Short Positions: 54.8%
Sentiment: BEARISH (Retail shorts dominate)
Contrarian Signal: Consider BUY if technical supports
Last Updated: Nov 4, 2025 at 3:30 PM JST
5.4 エラーハンドリング
- タイムアウト: 10秒
- リトライ: 最大3回
- Seleniumが利用不可の場合はFXSSI取得をスキップ
- エラー時も処理を継続(空データで出力)
6. 通知システム (Pushover)
6.1 通知トリガー
- AIコンセンサスによるBUY/SELLシグナル発生時
- APIエラーが連続5回発生時(エラーログ通知)
6.2 通知内容
🔔 SELF_YenPulse Signal
📊 Signal: BUY
💰 Entry: 151.234
🎯 Take Profit: 151.789 (+55.5 pips)
🛡️ Stop Loss: 150.901 (-33.3 pips)
📈 Risk/Reward: 1:2.4
✅ Confidence: 78%
📝 Reason:
強いドル買いトレンド。MA全線上昇、MACD/RSI強気、
金利差3.8%拡大中。ロングポジション42%で逆張り余地。
⏰ 2025-11-04 15:35:22 JST
7. ファイル構成
project_root/
│
├── main.mq5 # MQL5テクニカル分析エンジン
├── main.py # Python AIコンセンサスエンジン
├── bond_scraper_auto.py # 債券データ収集スクリプト
├── main.bat # Windows起動スクリプト
│
├── config.json # システム設定ファイル
├── prompt.json # AI プロンプト定義
├── requirements.txt # Python依存パッケージ
├── .env # 環境変数(APIキー等)
├── .gitignore # Git除外設定
│
├── tech_context.txt # MQL5出力データ(CP932)
├── tech_context_logs/ # tech_context.txtのアーカイブ
│ └── tech_context_YYYYMMDD_HHMMSS.txt
│
├── cnbc_bonds/ # 債券データフォルダ
│ └── bond.txt # 債券利回り・ポジション偏りデータ
│
├── bonds_logs/ # 債券データのログ
│ └── bond_YYYY-MM-DD_HH-MM-SS.txt
│
└── signallogs/ # シグナルログフォルダ
├── yenpulse.log # システムログ(ローテーション10MB×5)
└── signal_YYYYMMDD_HHMMSS.json # 各シグナルの詳細ログ
8. 実行フロー
8.1 起動手順
1. MT5でMQL5エンジンを起動
1. MetaTrader 5を起動
2. USDJPYチャートを開く
3. ナビゲーターから「main.mq5」をドラッグ&ドロップ
4. 30秒ごとにtech_context.txtが更新される
2. Pythonシステムを起動
# Windows
main.bat
# または直接実行
python main.py
8.2 実行フロー
[起動]
↓
[環境チェック]
- Python バージョン確認
- 必要パッケージ確認
- APIキー読み込み
↓
[取引時間チェック]
- 平日 7:00~翌2:00?
- 土日・年末年始でない?
↓
[データ読み込み]
- tech_context.txt 読み込み(リトライ3回)
- bond.txt 読み込み(リトライ3回)
- 失敗時はアーカイブから取得
↓
[AI分析(並列実行)]
┌─────────────────────┐
│ 1. Grok (技術) │
│ 2. Grok (心理) │ → 非同期並列実行
│ 3. Gemini (検証) │ (asyncio/aiohttp)
│ 4. GPT (計算) │
│ 5. Claude (独立) │
└─────────────────────┘
↓
[コンセンサス2集計]
- BUY/SELL/NONEの票数カウント
- 確信度の平均計算
- 強いコンセンサス判定(4票以上)
↓
[Perplexity最終検証]
- 最新ニュース・経済指標確認
- コンセンサスと方向一致チェック
- 拒否権行使判定
↓
[Grok Final 最終判断]
- 全分析結果の総合評価
- 最終確信度計算(閾値0.65)
- シグナル発信可否決定
↓
[TP/SL計算 (GPT-5)]
- ATR倍率の動的決定
- リスク・リワード比率最適化
- サポート/レジスタンス考慮
↓
[シグナル発信 (Pushover)]
- 通知送信
- ログ保存
- 前回シグナル時刻更新
↓
[待機]
- 5分待機
- 取引時間外は長時間待機
- 停止指示まで繰り返し
9. 文字コード対応
9.1 Windows環境の注意点
- MT5出力: CP932 (Shift-JIS)
- Python出力: UTF-8
- 標準出力: UTF-8 (codecs.getwriter使用)
9.2 ファイルエンコード
# tech_context.txt読み込み
with open('tech_context.txt', 'r', encoding='cp932', errors='ignore') as f:
content = f.read()
# bond.txt読み込み
with open('bond.txt', 'r', encoding='utf-8', errors='ignore') as f:
content = f.read()
# Windows標準出力
if sys.platform.startswith('win'):
import codecs
sys.stdout = codecs.getwriter('utf-8')(sys.stdout.buffer, 'strict')
sys.stderr = codecs.getwriter('utf-8')(sys.stderr.buffer, 'strict')
10. エラーハンドリング
10.1 ファイル読み込みエラー
- リトライ: 最大3回、500ms間隔
- PermissionError: アーカイブから最新ファイルを取得
- FileNotFoundError: エラーログ出力、処理継続(空データ)
10.2 API通信エラー
- タイムアウト: 60秒
- リトライ: 各AI個別にエラーカウント
- 連続5回エラー: Pushover通知
- Perplexity失敗: コンセンサスが全員一致かつ確信度0.75以上なら許可
10.3 ログローテーション
- システムログ: 10MB × 5ファイル
- テクニカルログ: 最新10件保持
- 債券ログ: 最新20件保持
11. セキュリティ
11.1 APIキー管理
.envファイルに保存.gitignoreで除外(Git管理外)- 環境変数からのみ読み込み
11.2 外部公開禁止
- APIキー
- 個人の通知トークン
- システムログ(個人情報を含む可能性)
12. パフォーマンス
12.1 リソース使用量
- MQL5: 常時稼働、CPU使用率 < 5%
- Python: 5分ごとのポーリング、AI呼び出し時CPU使用率 50~80%
- メモリ: 約200~500MB(Selenium使用時は+100MB)
12.2 API呼び出し頻度
- 取引時間中: 5分ごとに1回のチェック
- AI呼び出し: シグナル条件を満たした時のみ
- 推定: 1日あたり最大10~20回のシグナル検証
13. 運用上の注意事項
13.1 システム要件
- OS: Windows 10/11 (推奨)
- Python: 3.8以上
- MT5: Build 3770以上
- ネットワーク: 常時接続必須
13.2 禁止事項
- Finnhubシンボル(VIX, DXY, 米国債, 日本国債等)の直接取得 → ブローカーが提供していないため無駄
- MT5で取得可能なのはブローカー提供シンボルのみ
- 文字コード変換を手動で行わない(自動処理に任せる)
13.3 推奨設定
- MT5の「自動売買を許可」をON
- VPSまたは24時間稼働PCでの運用
- Pushoverアプリのインストール(スマホ通知用)
13.4 メンテナンス
- 週1回: ログフォルダの手動確認
- 月1回: APIキーの有効性確認
- 四半期1回: システム全体の動作確認
14. トラブルシューティング
14.1 よくある問題
Q1: tech_context.txtが空または古い
原因: MT5のmain.mq5が停止している 解決策:
- MT5でチャートを確認
- エキスパートアドバイザーが有効か確認
- エラーログ(Experts タブ)を確認
Q2: Pythonが「APIキーが見つかりません」エラー
原因: .envファイルが読み込まれていない 解決策:
.envファイルが存在するか確認- ファイル名が正確に
.envか確認(_envではない) - パスが正しいか確認
Q3: 通知が来ない
原因: Pushoverの設定ミス 解決策:
- PUSHOVER_USER_KEYとAPI_TOKENを確認
- Pushoverアプリがインストールされているか確認
- テスト通知を送信して確認
Q4: Seleniumエラー(FXSSI取得失敗)
原因: ChromeDriverが不足または古い 解決策:
pip install selenium webdriver-manager- Chromeブラウザを最新版に更新
- それでもダメなら
SELENIUM_AVAILABLE = Falseに設定(FXSSI取得をスキップ)
14.2 ログ確認方法
# システムログ
cat signallogs/yenpulse.log
# 最新シグナルログ
ls -lt signallogs/signal_*.json | head -1
# テクニカルログ
ls -lt tech_context_logs/ | head -1
15. 今後の改善案
15.1 短期的改善
- [ ] Webダッシュボードの追加(Flask/FastAPI)
- [ ] Discord通知オプションの追加
- [ ] 過去シグナルの勝率統計機能
15.2 中期的改善
- [ ] バックテスト機能の実装
- [ ] 複数通貨ペアへの対応(EURJPY, GBPJPY等)
- [ ] AIモデルの動的重み付け(パフォーマンスに応じて)
15.3 長期的改善
- [ ] 自動売買機能(MT5との連携)
- [ ] 機械学習による確信度予測モデル
- [ ] クラウド化(AWS/GCP)
16. 更新履歴
v3.12 (2025-11-04)
- Grok FinalのmaxOutputTokensを4096に設定
- Grok Sentimentモデルの追加(市場心理分析専門)
- コンセンサス2を4モデルから5モデルに拡張
- Perplexityの拒否権ロジックを明確化
- GPT-5によるTP/SL計算エンジンの追加
- 文字コード対応の強化(CP932 ⇔ UTF-8)
v3.11 (以前)
- 基本的なAIコンセンサスシステムの実装
- 4モデル(Grok, Gemini, GPT, Claude)によるコンセンサス
- Perplexityによる最終検証機能
- Pushover通知機能
- 債券データ収集機能
17. ライセンス・著作権
SELF_YenPulse - USD/JPY AI Trading Signal System
Copyright 2025, YenPulse
このソフトウェアは個人使用を目的としています。
商用利用・再配布を禁止します。
18. 免責事項
【重要な免責事項】
本システム「SELF_YenPulse」は、USD/JPY取引の参考情報を提供する
ものであり、投資助言や売買推奨を目的としたものではありません。
1. 本システムの使用によって生じたいかなる損失についても、
開発者は一切の責任を負いません。
2. AIによる分析結果は確実性を保証するものではなく、
市場の急変や予期せぬイベントにより損失が発生する可能性があります。
3. 実際の取引においては、必ずご自身の判断と責任において
行ってください。
4. 過去のパフォーマンスは将来の結果を保証するものではありません。
5. 金融商品取引にはリスクが伴います。十分にご理解の上、
余裕資金の範囲内でお取引ください。
本システムを使用することで、上記の内容に同意したものとみなします。
作成日: 2025年11月4日
バージョン: 3.12
最終更新: 2025年11月4日