This item is not currently on sale.
Product outline
Community(0)
MT4 bot -Python連携- Indicators/E-books
MT4 bot -Python連携-
MT4のデータ(4本値、MAなどの各種インジ)をPythonに渡し、またPythonで解析した結果をMT4チャート画面に表示させます
Sales Result:
0本
Reviews:
Category:
How to provide:
Indicator
Sales from:
11/25/2023
Last Updated:
11/29/2023
Version:
1.11
Available company:

Japan

フォロー 0 フォロワー 8
Sellerえいめ
Seller's last login time:11/17/2025 07:50:44
Read more seller information
Free

この商品は「無料で試用」できる 試用版となっています。 試用版ということで インジケータの機能利用に制限はありませんが、以下の動作を行います。

1)利用期間に期限があります。期限は MT4の ”ターミナル” の ”エキスパート”タブ内に記載されます。

2)チャートにインジケータを設定後 10分間利用できます。(10分後にインジケータは動作を停止しますが、再度起動いただくと再び10分間利用できます。) 

3)インジケータの動作中は チャート画面の左側に「試用中」であることを示す文字が表示されます。



機能について

このツールでは 高度な知識を必要とせず MT4とPython間での連携を実現させます。利用者はPython側のスクリプトをご用意いただくだけで、MT4側の以下の表の機能を利用することができます。

このツールは、以下のような使い方をされることを想定しています。

  • インターネット上の各種情報をPythonで収集し、トレード中のMT4 チャート画面へリアルタイムに情報を表示させる。
  • MT4が保持している4本値や移動平均線の値を このツールにて出力し Pythonに渡すことで、Python側でAI処理させるなどし その結果を再度 MT4側の画面に渡し表示させる。 (表示例 エントリー指示など)
  • 手動で備忘録などを記載し、チャート画面に常時表示させる。

などなど


〔 機能一覧 〕



”Pythonと連携する”と うたっていますが、Pythonに限らず 一般的な外部アプリの利用が可能です。MT4の外部にあるアプリやスクリプトから、MT4を操作するためのツール(=bot)となります。 



 図1 このツールが動作する環境を示します。図中「MT4 bot」が本ツールをあらわします。

まずは 登場人物、関係者の紹介として 全体像の説明です。

上の図1にあるように メタトレーダ(=MT4)上のインジケータとして動作する本ツール(=MT4 bot)は、MT4の外で動作するPythonなどのスクリプトやアプリと連携して動作させるためのものです。

連携にあたっては、中間に2つのCSVファイルを介して やりとりをおこないます。なお、CSVファイルとは データとデータの間をカンマ( , )あるいは改行で区切ったテキストファイルとお考え下さい。文字コードは Shift JIS になります。


図2 このツールの動作(シーケンス)を示します。①から⑤までの流れが1つのサイクルとなり、以降、これを繰り返します。

連携するための CSVファイルの1つは、いま どちらが 何の処理をしているのかという状況を示したり、本ツールに指示するコマンドを渡すための「コントロールファイル」。もう1つは コマンドの詳細(表示させる文字列)や本ツールが処理した結果(各種インジケータの値)を渡すための 「データファイル」になります。

両者間の ”やりとり” の開始は、PythonなどのMT4からみた外部アプリ/スクリプト側よりの指示から開始されます。本ツールは(現時点のバージョンでは)常に受け身で動作します。
図2のように Python等からの指示を受け、その結果を画面やデータファイルに対し処理を行います。このツールが処理を完了させた後は、その旨を コントロールファイルに記載することで Python等に処理のイニシアティブを渡します。


2つのテキストファイル(=csvファイル)

次のように利用します。

  • コントロールファイル(ファイル名: eimCsvExec_ctrl.csv)に現在の状況や 指示コマンドを記述します。
    指示の内容は 次の2つの項目をセットで記述し 相手に渡します。
    1つは Python側とMT4ツール側のどちらが 相手に指示や情報を伝えようとしているのかを示すもので、これをステータスコードと呼びます。「まだ(Python側で)指示書き込み中」、「MT4側での処理頼む」などの状況を互いに伝えるためのコードになります。いわゆる セマフォとしての役割を果たすと理解ください。
    2つめは 指示の内容そのもので、「文字列を描画せよ」などの コマンドになります。

  • 具体的な指示の内容、ここでは文字列の描画方法は、データファイル(ファイル名: eimCsvExec_data.csv)に記述して相手(この場合はMT4側のツール)に渡します。具体的な内容は、描画位置(x,y座標)、文字サイズ、文字カラー、描画する文字列の5つを記載します。ファイル内の各行が1つの文字列の描画指示となり、現時点ではいくつでも、何行でも文字列の描画指示をだすことができます。

具体的な指示の例

  • コントロールファイル:
    同梱のファイルには、あらかじめ「110,100」をセットしています。
    最初の「110」がステータスを表し、この状態ではpython側が準備中であることをあらわします(詳細は後述)。2つめの「100」は、文字列の描画を指示するコマンドをあらわします。
    そのため、このままMT4でこのツールを起動しますと、「110,100」を読み取りに行きますが なにも起こりません。ツールの起動後に コントロールファイルをテキストエディタで開き(手動で大丈夫です!)、1つめの「110」を「190」に変えて、そのままファイルを上書き保存してください。「190」は MT4のツールが指示を受け取り解釈をおこない 与えられた処理をおこないます。そのためMT4のチャート画面には データファイルにて細かく設定して位置、文字サイズおよび色で文字列を描画されます。
    現在は プロトタイプ版のため MT4側のツールから コントロールファイルへのステータス書き換えは行っていませんので、あなたが データファイルの内容を書き換えるたびに チャート画面にその内容が反映されます。いろいろお試しください。

  • データファイル:
    指示内容によって記載するデータは異なります。

    (1)文字列描画の機能
    データの最初の値はX座標(ピクセル)、以降順に、Y座標(ピクセル)、文字列の色指定、文字サイズ(pt)、文字列となります。これら5つのデータをひとかたまりとして扱い 1つの行に記載します。



    1行に1つの文字列描画指示を記述できます。上の記載例ですと 5行ありますから 5つの文字列を描画する指示になります。


    文字列の削除
    描画の指示をおこなった「行」を空行にして再度指示を出してください。何も記述せず改行にした状態にして、コントロールファイルに「190,100」を記述しておくと 描画した文字列が削除されます。この方法ですと MT4における”オブジェクト”として削除されます。同様にチャート画面の文字列を消す方法としては、データの文字列の部分だけを空欄(=座標や文字サイズ、色などを残した状態)にしてもチャート画面では文字列が消えますが ”オブジェクト”としては残っています。ただし、ツール終了時には 削除されます。


    (2)MT4のデータをファイル出力する機能
    MT4が保持しているデータや、インジケータが計算した値をファイル出力する機能を実装しています。使用可能なコマンドは以下のリストとなります(文字列描画も再掲しています)。

    • 100 : 文字列の表示

    • 201 : 4本値(現在の値のみ)

    • 202 : 4本値

    • 203 : 移動平均線

    • 204 : ボリンジャーバンド

    • 205 : 一目均衡表

    • 206 : MACD

    • 207 : RSI

    • 208 : ストキャスティクスコマンド

    それぞれのインジケータによって必要なパラメータ数が異なります。
    以下に、コマンドごとの指示方法を記載します。

    1行目 : (通貨ペア),(時間軸) [ex]GBPJPY-cd,H1
    2行目 : (現在価格から出力する数) [ex]100
    3行目以降 : (コマンドによって変化;以下を参照)

    • 201 現在足の4本値(上記の1行目のみを記述。2行目以降は不要)

    • 202 4本値:(上記の1,2行目を記述。)

    • 203 4本値+移動平均線:(メインラインを計算をする平均期間),(移動平均シフト),(移動平均メソッド(0-3)=ENUM_MA_METHOD列挙の値を指定) [ex] 25,0,0 *移動平均線は3本まで描画可能/適用価格はPRICE_CLOSE=終値に固定

    • 204 4本値+ボリンジャーバンド:(メインラインを計算をする平均期間),(バンドシフト),(標準偏差1){,(標準偏差2)}{,(標準偏差3)} [20,0,5,1,2,3] *標準偏差は3組まで描画可能

    • 205 一目均衡表:(転換線期間),(基準線期間),(先行スパン期間) [ex]9,26,52

    • 206 MACD:(ファーストEMA期間),(スローEMA期間),(シグナルライン期間),(適用価格=ENUM_APPLIED_PRICE列挙の値を指定) [ex]12,26,9,0

    • 207 RSI:(平均期間),(適用価格=ENUM_APPLIED_PRICE列挙の値) [ex]14,0

    • 208 ストキャスティクス:(%K期間),(%D期間),(スローイング),(平均化メソッド),(価格フィールド(0:Low/High または 1:Close/Close)) [ex]5,3,3,0,0

    コマンド「202」以降は、過去の履歴をファイル出力しています。データの最大数は MT4保持している分までとなりますが、実際に出力する数は 指定し絞り込むことができます。


    データの出力例

    コマンド 203の 移動平均線を出力した際の例です。
    1行目には出力した情報が何であるのかを示すタイトル行です。(アプリ名は旧名称)3行目がカラム(項目)名となっています。データ数(=No)とサーバー時間に続いて、4本値(=OHLC)と、移動平均線を出力しています。4本値は いつも一緒に出力されます。


    具体的な設定例

    まずは手動で指示を与えてみましょう。
    以下の通りにファイル内容を書き換えるだけで 所定のデータを出力してきます。

    このツールをMT4で起動した後、所定のフォルダ(MT4フォルダの\MQL4\Filesフォルダ)に以下の順に2つのファイルを配置してください。
    ここでは上で示した移動平均線を3本出力することを指示してみます。出力する移動平均線は、それぞれ短期移動平均線25日、中期75日、長期120日にしました。

    さきにコントロールファイルを置いてしまいますと、処理を開始してしまいますので、最初にセットするのはデータファイルの方になります。
    (正しい手順では コントロールファイルを 所定のデータを置くことで データファイルの準備中には 動作しないようにします)

    画像
    データファイル。移動平均線3本の出力を指示する内容

    1行目には 通貨ペア名、時間軸を記述。なお通貨ペア名は お使いのMT4(FX会社)によって異なる場合があります。ご確認のうえセットしてください。この例の場合は ポンド円の1時間足を指定します。
    2行目には出力する データ個数。ここでは100個出力します。0を記述するとMT4が保持している時間のすべてを出力します。
    3行目以降は 出力させたい移動平均線のプロパティになります。それぞれ左から、期間、シフト数、および 移動平均メソッド(SMAとかEMAのこと)になり、ここではSMA(=単純移動平均)とします。
    ファイル名は、「eimMT4Bot_data.csv」としてください。拡張子は.csvです。

    画像
    コントロールファイル。実行を指示する内容。

    データファイルを保存できたら、続いてコントロールファイルをセットします。こちらは1行のみ、2項目だけです。
    最初の「190」はステータス情報です。意味は、百の位が”Python側が書き込みをしている”状態であることをあらわし、十の位は”Python側の処理は完了”、一の位は ここでは意味なしです。
    2つめの項目は、コマンドです。ここでは、移動平均線の出力を指示する”コマンド203番”を記述します。最後に、ファイルを「eimMT4Bot_ctrl.csv」として保存します。


    コントロールファイルのステータス詳細

    • まずPythonなどのMT4以外の外部スクリプトをリーダー役、MT4で動作する本ツールをフォロワーと呼ぶこととします。基本的にフォロワーはリーダーからの指示によって動作します。現時点ではフォロワーが自発的に動作する仕様とはしません。

    • ステータスは、コントロールファイルの1行目の1つ目の数字であらわします。3ケタの数字で表現し、それぞれのケタ位置に意味をもたせています。

    画像
    ステータスコードは セマフォとしての役割
    • 3ケタの数字のうち 1番左側の数字(百の位のケタ)は、コントロールファイルを最後に触ったのがどちらであるかをあらわします。リーダーは「1」、フォロワーは「2」をセットします。

    • 左側から2番目の数字(十の位のケタ)は、”データを用意している最中”などの作業中かどうか示します。この値が「1」の場合は 作業中であることをあらわすこととします。この値を読み取って 相手が作業中であった場合には コントロールファイルの読み込み以外の動作をおこなわないようにします。相手側が、コントロールファイルとデータファイルを占有している占有モードとなります。

    • 左側から3番目の数字(一の位のケタ)は、(主にフォロワーからの)エラーコードになります。正常に処理が行われた場合は 「0」となります。リーダー側は特に使用する必要はありませんので 通常は「0」をセットしてください。

    • 例1)ステータス:110の場合
      この場合、百の位が1なので Python側が書き込んでいます。十の位も1ですので データファイルの準備などの作業中であることを示します。したがって、この数字「110」の意味は、Python側がMT4側に指示する準備をしているので、MT4側は待っててね、というものになります。

    • 例2)ステータス:190の場合
      さきほどと比べますと、十の位が9になりました。この9はPython側での作業終了をしめします。ですので意味は、Python側がMT4側に指示する準備が完了したので、MT4側での作業実施よろしくね、となります。


      プロパティ設定




      • このツールがコントロールファイルを確認する間隔を指定できます。
      • 文字列の表示機能で 文字を表示する位置を指定できます。 デフォルトは 左上になります。



      配布ファイルについて


      • 動作はMT4のみ対応しています。
      • 配布ファイル内に csvファイル(コントロールファイルとデータファイル)をサンプルで納めています。所定のフォルダに配置し、本ツールを起動することで 動作させることができます。







      Product outline
      Community(0)
      Best Seller Ranking
      Recommended Products (Campaigns)

      For those using GogoJungle for the first timeEasy 3 steps to use the product!

      At GogoJungle, we provide services to enrich your investment life for our members. In addition, product purchases are normally limited to members. Why not register as a member now and make use of GogoJungle!

      01
      Enter user information and register as a member
      02
      Follow the instructions to make a purchase
      03
      Download from My Page
      GogoJungle Corporation
      Registration Number for Financial Instruments Business: No. 1960 - Kanto Finance Bureau (Gold Trading)
      A member of General Incorporated Association and Japan Investment Advisers Association
      GogoJungle Corporation
      Registration Number for Financial Instruments Business:
      No. 1960 - Kanto Finance Bureau (Gold Trading)
      A member of General Incorporated Association
      Japan Investment Advisers Association
      Financial Services AgencyJapan Investment Advisers AssociationFinancial Instruments Mediation Assistance CenterSecurities and Exchange Surveillance Commission

      Copyright © 2025 GogoJungle Inc. All Rights Reserved.