こんな本はどうですか?


リンク

相互リンク募集中!!
ソフトウェア関連

概要

DDE通信をサポートしているソフトウェアより、データを取得します。

楽天リアルタイムスプレッドシート(RSS)や、Futures Analyst、MetaTrader等のソフトウェアから DDE通信によりデータを取得するためのモジュールです。

Python等のプログラミング言語でシュミレーションをしたいという用途に向いています。

動作環境

Windows XPにて動作することを確認しています。

インストール/アンインストール

ダウンロードしたファイルを解凍して、適当なフォルダに保存してください。

レジストリ等は一切使用していませんので、 フォルダごと削除すれば、アンインストールできます。

注意事項

DDEのホットリンク機能にて、データを取得しますが、
DDEの送信側で、データの変化がないとデータが送られてきません。

たとえば、楽天リアルタイムスプレッドシートなどと通信して、日経平均を取得したいとします。

この場合、日経平均の値が変化しなければデータを取得することができません。

免責

このプログラムを使用したことによる、直接あるいは間接的損害に関しての、 一切の責任を負いかねますのでご了承下さい。

著作権・配布・転載

このソフトはフリーソフトウェアです。 配布、転載は原則自由です。 ただし、中身の一部もしくは全部を改変して配布、掲載をする事は禁止します。

ダウンロード

サンプルプログラム(python)

Futures Analystからデータを取得しています。

使用している言語はPythonです。

Pythonの解説はこちらにもあります。あわせてご参照ください。

import time import ctypes dde = ctypes.cdll.LoadLibrary("DDERecv.dll") ddeStart = dde.DRStart ddeWaitUpdate = dde.DRWaitUpdate ddeGetDataLength = dde.DRGetDataLength ddeStop = dde.DRStop results = ctypes.c_buffer(0x100); handles = ddeStart( "ASTRO", "QUO", "1;5,0,00000000;1006,0,0,6", results, ctypes.c_ulong(0xC1DA)) for i in range(10): ret = ddeWaitUpdate(handles, 0) length = ddeGetDataLength(handles) time.sleep(2) print ret, length if ret != 0: print repr(results[13:length]) ddeStop(handles)

サンプルプログラム(C++)

楽天リアルタイムスプレッドシート(RSS)からデータを取得しています。

使用している言語はC++です。

#include "stdafx.h" #include "..\DDERecv\DDERecv.h" #include <stdio.h> void testDDER() { char pBuffer[0x100]; DRHANDLE handle; BOOL bRet; handle = DRStart("RSS","N225M.FUT01.OS","現在値",pBuffer, 0x01); int i; DWORD len; for(i = 0; i < 20; i++){ bRet = DRWaitUpdate(handle, 3); len = DRGetDataLength(handle); if(bRet == TRUE){ int j; for(j = 0; j < (signed)len ; j++){ printf("%c", pBuffer[j]); } printf("\nnum = %d\n", len); } else{ puts("timeout"); } } DRStop(handle); } int main(int argc, char* argv[]) { testDDER(); return 0; }
inserted by FC2 system