PR DMM FX 新規口座開設 + 取引で 最大30万円キャッシュバック 詳細 ▶

🤖 全自動AI実証ノート

自分の手で試した記録 — 成功も失敗も、全部書いてます。

👋 WELCOME
はじめまして。このサイトを開いてくれてありがとうございます。

私は数年前、「AIで自動売買を作りたい」と思い立ち、Pythonの “P” もまともに書けない状態から始めました。今は Claude Code に投資ロジックを書かせ、VPSで24時間動かし、ドローダウン15%で全停止する仕組み まで自分で組んでいます。

このサイトは、その全工程の現場ログです。机上の理論ではなく、実際に手を動かしてつまずいて直したメモを、隠さず全部公開しています。

📌 こんな悩みに、少しでもヒントになれば
  • 「AIで自動売買を作りたいけど、どこから始めればいい?
  • 「Claude Code って 実際どこまで書けるの?
  • 「机上の理論ではなく、本当に動かして詰まった話を読みたい」
  • 「FX/暗号資産ボットの リスク管理をどう設計してる?」
  • 「副業として続けられる規模感を知りたい」
📚 中身、数字で見せます
  • 175本 の検証ノート (公開・予約・下書き含む)
  • 9ジャンル (AIコーディング/FX自動売買/暗号資産/VPS/バックテスト/リスク管理/機械学習/ブログ運営/基礎用語)
  • 全部、自分の手で動かして書いた一次情報
  • 投資勧誘ではなく 「失敗例も含めた検証メモ」 として公開

好きなジャンルから読み始めてください。理論ではなく現場の生ログです。

  • Pythonで MT5 の発注APIを実装する — Windows VPS で動かすまでの手順

    [ 広告 / PR ]
    🔰 この記事のポイント (初心者向け)

    はじめての方も読めるよう、専門用語はカンタンな言葉に言い換えながら解説します。「なんとなく聞いたことある」レベルの知識で大丈夫です。

    📖 この記事で出てくる用語
    • EA = Expert Advisor。MT4/MT5上で動く自動売買プログラム
    • MT5 = MetaTrader 5。世界標準のFXトレードソフト
    • VPS = Virtual Private Server。レンタルできる仮想サーバー(24時間稼働用)
    Pythonで MT5 の発注APIを実装する — Windows VPS で動かすまでの手順
    イメージ画像
    🐍

    Python × MT5 実装

    📢 広告 (PR) を含む場合があります

    Pythonで MT5 の発注APIを実装する — Windows VPS で動かすまでの手順

    最終更新: 2026-05-05

    著者
    Naoki Hashimoto
    クラウドアーキテクト
    AWS/GCP の SAA/PCA 取得済。複数のFXブローカーで Python EA を運用中。

    MT5のPythonライブラリ MetaTrader5 を使うと、Pythonから直接ポジション操作ができます。Windows VPS上で安定稼働させるまでのつまずきポイントを実コードと共に共有します。

    動作環境

    • OS: Windows Server 2022 (ConoHa for Windows VPS の 2GB プラン)
    • Python: 3.12.x (公式インストーラから .msi)
    • MT5: ブローカー指定の最新ビルド
    • ライブラリ: MetaTrader5==5.0.45

    セットアップ手順

    # PowerShell で実行
    py -3.12 -m venv venv
    .\venv\Scripts\activate
    pip install MetaTrader5 pandas numpy
    
    # MT5 GUI で「ツール → オプション → エキスパートアドバイザー」
    # 「アルゴリズム取引を許可する」「DLLの使用を許可する」 ✓
    

    最小の発注コード

    import MetaTrader5 as mt5
    
    if not mt5.initialize():
        raise SystemExit(f"init失敗: {mt5.last_error()}")
    
    symbol = "EURUSD"
    info = mt5.symbol_info(symbol)
    price = mt5.symbol_info_tick(symbol).ask
    
    req = {
        "action": mt5.TRADE_ACTION_DEAL,
        "symbol": symbol,
        "volume": 0.01,
        "type": mt5.ORDER_TYPE_BUY,
        "price": price,
        "sl": price - 0.0030,   # 30 pips SL
        "tp": price + 0.0050,   # 50 pips TP
        "deviation": 10,
        "magic": 20260505,
        "comment": "py-test",
        "type_time": mt5.ORDER_TIME_GTC,
        "type_filling": mt5.ORDER_FILLING_IOC,
    }
    
    result = mt5.order_send(req)
    print(result)
    mt5.shutdown()
    

    つまずきポイント 5つ

    1. type_filling の選択

    ブローカーごとに対応する filling mode が違います。FOK のみ対応の業者で IOC を送ると retcode=10030 で弾かれます。
    info.filling_mode をビット演算で確認し、対応する値を選んでください。

    2. ポジションのモード (Hedging vs Netting)

    口座が Hedging なら 1 銘柄に複数ポジション可、Netting なら自動で相殺。Pythonからは mt5.account_info().margin_mode で判定できます。

    3. SL/TPの最小距離

    ブローカーは「現在価格から最低N pips離さないとSL/TPを置けない」というルールを持ちます (SYMBOL_TRADE_STOPS_LEVEL)。
    スキャル系で短SLを使う場合は、ここで弾かれて発注失敗になりがち。事前に info.trade_stops_level をチェックします。

    4. VPSの再起動でMT5が落ちる

    Windows Update の自動再起動でMT5が止まると、Pythonスクリプトも気付かず空回ります。
    タスクスケジューラの「ログオン時」トリガーで MT5 と Python の両方を自動起動。さらに Python 側でも 60秒に 1回 mt5.terminal_info() で接続生存確認を実装。

    5. 多重発注の防止

    初心者が引っかかりやすいのが、ループ毎にエントリーしてしまうバグ。Magic Number 単位で既存ポジションをチェックし、既にあればスキップする実装が必須です。

    def has_open(symbol, magic):
        pos = mt5.positions_get(symbol=symbol) or []
        return any(p.magic == magic for p in pos)
    

    本番投入前のチェックリスト

    • ☐ デモ口座で1週間連続稼働 (週末を含む) で異常なし
    • ☐ Windows Update 設定でアクティブ時間が EA 動作時間と被らない
    • ☐ Magic Number で識別、複数 EA を共存できる
    • ☐ ロガー (file + stdout) を実装、24時間分のログを保持
    • ☐ 実弾は最初は 0.01 lot で 1〜2 週間

    まとめ

    Python + MT5 は MQL5 を書かずに高速プロトタイピングできるのが最大の強みです。バックテストは MT5 標準のストラテジーテスターほど厳密でない部分もあるため、検証は MQL5 で、本番運用は Python で、と使い分けると効率が良いと感じています。

    参考にした情報源

    免責: 本記事は情報提供のみを目的としており、投資勧誘・投資助言ではありません。当サイト管理人は金融商品取引業の登録を行っておらず、個別具体的な投資判断についての助言は行えません。FX/暗号資産は元本毀損のリスクがあります。最終判断はご自身の責任でお願いします。
    PR · DMM FX 公式

    国内口座数 No.1 — DMM FX

    業界最狭水準スプレッド + スマホアプリ高評価 + 最短当日取引開始
    新規口座開設で 最大 300,000円 キャッシュバック中

    ▶ DMM FX 公式サイトで詳細

    ※本サイトはアフィリエイトプログラムにより収益を得ています。投資はご自身の判断・責任で。