首先
MT4就运用DDE让自己成为服务端,程序可利用DDE获取MT4的外汇报价数据实现实时更新。
先下载MT4运行,设置工具-选项-勾选启用为DDE服务器
然后用C# 实现获取行情数据
static void Main(string[] args)
{
try
{
//申明并实例化一个DdeClient对象
BIDClient = new DdeClient("MT4", "BID");
BIDClient.Advise += client_BIDAdvise;
ASKClient = new DdeClient("MT4", "ASK");
ASKClient.Advise += client_ASKAdvise;
//连接到DDE服务器
BIDClient.Connect();
ASKClient.Connect();
//循环获取数据
BIDClient.StartAdvise("PTA001", 1, true, 60000);
BIDClient.StartAdvise("PTA002", 1, true, 60000);
ASKClient.StartAdvise("PTA001", 1, true, 60000);
ASKClient.StartAdvise("PTA002", 1, true, 60000);
//连接到DDE服务器
//循环获取数据
Console.ReadKey();
}
catch (Exception ex)
{
}
}
private static void client_BIDAdvise(object sender, DdeAdviseEventArgs args)
{
//显示更新数据
Console.WriteLine(args.Item +" Bid:" + args.Text);
}
private static void client_ASKAdvise(object sender, DdeAdviseEventArgs args)
{
//显示更新数据
Console.WriteLine(args.Item + " Ask:" + args.Text);
}