Excel用にデータを出力してみる2
50種類以上の通貨ペア、各種CFD(金、株など)対応
前回に引き続き、エクセルを使っていろいろやってみたいと思います。
今回は、DDEというアプリケーション間通信の機能を利用します。
DDEというのは、かなり古い規格で今はほとんど利用されません。
最近の.NETではサポートされていないほどの企画です。
ですが、なぜかMT4ではDDEのサーバー機能を持っていて、ExcelはDDEのクライアント機能を実装しています。
ということで、通信できてしまいます。
やり方も簡単です。
まず、メタトレーダーの設定です。
メニューの「ツール」-「オプション」でオプションを開きます。
「DDEサーバーを有効にする」にチェックを入れて、「OK」を押します。
これだけです。
Excel側は、サンプルがあるのでそれを使ってみましょう。
インストールフォルダ\MetaTrader
に
DDE-Sample.xls
があるので、開いて見ましょう。
開くと
こんな感じのメッセージが表示されるので、「更新する」を押します。
こんな感じで、最新の状況がリアルタイムに表示されます。
売値は、MT4|BID!USDCHF
買値は、MT4|ASK!USDCHF
高値は、MT4|HIGH!USDCHF
安値は、MT4|LOW!USDCHF
時間は、MT4|TIME!USDCHF
時間・売値・買値は、MT4|QUOTE!USDCHF
を表示したいセルに「=MT4|QUOTE!USDCHF」と書けば、利用できます。
通貨ペアを変更したいときは、USDCHFの部分を変更するだけです。
これで、いろいろできると思います。
タグ
2009年07月09日 コメント&トラックバック(3) | トラックバックURL |
カテゴリ: メタトレーダープログラミング メタトレーダー入門
50種類以上の通貨ペア、各種CFD(金、株など)対応
トラックバック&コメント
コメント
コメントを投稿する




![[image]投資で失敗しない7つの法則:無料CDプレゼント](http://www.affiliatecenter.jp/invest/img/FX_freeCD/banner165x100seven_rule5e.gif)
![[image]無料レポートプレゼント:ドルが紙くずになった時に資産を守る方法](http://www.affiliatecenter.jp/invest/img/dollar/MNL4_165x100.jpg)



MyBlog

エクセルにDDEで価格をリンクする方法を探していて、こちらを訪れました。もしわかれば教えていただきたいのですが、4Hチャートのopen priceを自動リンクするにはどのような数式をセルに入れればいいのでしょうか。
また、特定の日の特定の時間のopen priceも読み込みたいのですが、これも教えていただけると幸いでございます。
例えば、9/1の10時のopen priceといったものです。
よろしくお願いします。
DDEで取得できるデータは、現在値です。
そのため、?Hとかのデータをとるようなことはできません。
過去のデータを取得するには、ヒストリーセンター(F2キーで呼び出せます)で必要な通貨の時間軸を選択して、エクスポートすることでCSVファイルとして取り出せますので利用してみてください。
もし、最新のデータがない場合は、ダウンロードすることで更新できます。
はじめまして。
DDEというアプリケーション間通信の方法があることを知りました。
・ddeは古い規格だそうですが、MT4ではアプリケーション通信としては、DDEが唯一ですか。
・ddeならば、mt4からの価格情報をエクセルなどに送ることができるとのことはわかりましたが、逆にエクセルなどから、MT4に小さなデータを送り、eaで受信することはできますか。(ddeは双方向定義されているでしょうか)・。
・mt4の日本語翻訳マニュアルを見てみたのですが、ddeの機能についての記述は見つけられませんでした。どこなddeの仕様について情報はないでしょうか。
目的は、mt4から価格情報をddeで外部プログラム(C++)でリアルタイムで受信し、売買サインを計算後、結果をmt4に送りEAを通じてチャートに重ねて表示させることです。C++ではサインに応じて、クリック証券に発注画面を自動操作するUWSCを操作しようかともくろんでいます。
サインをEAでなくC++で行うのは、かなり大量の計算をリアルタイムで行うからです。たぶんEAでは能力不足かと予想しています。C++からDDEを使えそうなことはわかりました。