专家: DDE - Server - 页 4 12345678 新评论 bucket 2019.01.11 03:43 #31 能否获得 DLL 和 EXE 的源代码?我正在为 MT5 编写第一个 DLL(32 位和 64 位),这将是一个完美的项目。 Mikhail Shikin 2019.02.26 09:26 #32 我无法工作,我收到错误信息 "2019.02.26 11:23:40.882 dde_example (ES,H1) Alert: Cannot find MT4.DDE.2 window!" rakeshp37 2019.10.06 22:25 #33 程序运行正常。但我不明白在哪里需要创建 excelsheet,还是自动生成?如果是自动生成,在哪里可以找到? 请帮助 谢谢、 MARFE 2019.12.13 02:25 #34 Tom Sasson:这篇文章已经很旧了,但仍有现实意义。该工具非常出色,甚至可以用来整合 MT4 多个实例或多个 EA 的数据。如果之前的任何问题仍然相关,请重新发布,我会回答。MQL4 问题也是如此,因为我也可以帮助解决 MQL4 问题。 你好,汤姆、 我想将实时买入和卖出的 tick 数据导出 到 excell,可以用这个工具吗? 谢谢 Jozeph Brasil 2020.04.13 20:24 #35 谢谢。 我试图获取 LAST,但总是出现空白。 有人知道问题出在哪里吗? CopyBuffer(MA_handle,0,0,100,MA); ArraySetAsSeries(MA,true); double LAST = SymbolInfoDouble("USDBRL", SYMBOL_LAST); // 检查和添加项目 DDE if(!CheckItem("A", "B")) { if(!AddItem("A", "B")) 返回; } if(!CheckItem("C", "D")) { if(!AddItem("C", "D")) 返回; } if(!CheckItem("COMPANY", "Value"))AddItem("COMPANY", "Value"); 如果(!CheckItem("TIME", "Value"))AddItem("TIME", "Value"); if(!CheckItem("LAST", "EURUSD")AddItem("LAST", "USDBRL"); // 设置项目值 DDE SetItem("COMPANY", "Value",(string)AccountInfoString(ACCOUNT_COMPANY)); SetItem("TIME", "Value",(string)TimeCurrent()); SetItem("A", "B", "EMA(21): "+DoubleToString(MA[0],6)); SetItem("C", "D", "LAST: "+DoubleToString(LAST,5)); } Expert Advisors: MT5 DDE 问吧! trouble me for very maurorechi 2020.05.04 06:20 #36 晚上好。 经过一番折腾,我终于解决了这个问题。我就是为此在网站上注册的。 更改整个OnTimer() 函数: void OnTimer() { //--- 用 iMA 的当前值填充数组 MA[] //--- 复制 100 个元素 // CopyBuffer(MA_handle,0,0,100,MA); // ArraySetAsSeries(MA,true); double EURUSD_ASK = SymbolInfoDouble("EURUSD",SYMBOL_ASK); // 适用于 eurusd(示例) double EURUSD_BID = SymbolInfoDouble("EURUSD",SYMBOL_BID); double USDCHF_ASK = SymbolInfoDouble("USDCHF",SYMBOL_ASK); double USDCHF_BID = SymbolInfoDouble("USDCHF",SYMBOL_BID); // 检查和添加项目 DDE // if(!CheckItem("EMA", "B")) // { // if(!AddItem("EMA", "B")) return; // } if(!CheckItem("COMPANY", "Value"))AddItem("COMPANY", "Value"); if(!CheckItem("TIME", "Value"))AddItem("TIME", "Value"); 如果(!CheckItem("EURUSD", "ASK"))AddItem("EURUSD", "ASK"); if(!CheckItem("EURUSD", "BID"))AddItem("EURUSD", "BID"); if(!CheckItem("USDCHF", "ASK"))AddItem("USDCHF", "ASK"); if(!CheckItem("USDCHF", "BID"))AddItem("USDCHF", "BID"); // 设置项目值 DDE SetItem("COMPANY", "Value",(string)AccountInfoString(ACCOUNT_COMPANY)); SetItem("TIME", "Value",(string)TimeCurrent()); // SetItem("EMA", "B", "EMA(21): "+DoubleToString(MA[0],6)); SetItem("EURUSD", "ASK",DoubleToString(EURUSD_ASK,5)); SetItem("EURUSD", "BID",DoubleToString(EURUSD_BID,5)); SetItem("USDCHF", "ASK",DoubleToString(USDCHF_ASK,5)); SetItem("USDCHF", "BID",DoubleToString(USDCHF_BID,5)); } 其余操作与上述相同。 希望对大家有所帮助。 Expert Advisors: MT5 DDE 各位大佬,有人能帮我把这个转成MT5的吗,超级简单的 EA加载到图表运行没问题,但是测试时却不断加载自定义指标。 SURANIKI 2020.05.10 19:17 #37 Mikhail Shikin: 我无法工作,我收到错误信息 "2019.02.26 11:23:40.882 dde_example (ES,H1) Alert: Cannot find MT4.DDE.2 window!" 您忘了运行 DDE Server.exe Tom Sasson 2020.06.28 09:52 #38 MARFE:嗨,汤姆 、我想将买入和卖出刻度线数据实时导出到 excell 中,可以用这个工具实现吗?谢谢 抱歉这么晚才回复,这当然是可能的。 我之所以说 "是",是因为我已经 3 年没有使用过这个工具了,也没有在 Windows 10 上尝试过,所以您可以尝试一下并向我汇报。 douglas14 2020.07.23 19:20 #39 maurorechi:晚上好。经过一番折腾,我终于解决了这个问题。我就是为此在网站上注册的。更改整个 OnTimer() 函数:void OnTimer(){//--- 用 iMA 的当前值填充数组 MA[]//--- 复制 100 个元素// CopyBuffer(MA_handle,0,0,100,MA);// ArraySetAsSeries(MA,true);double EURUSD_ASK = SymbolInfoDouble("EURUSD",SYMBOL_ASK); // 适用于 eurusd(示例)double EURUSD_BID = SymbolInfoDouble("EURUSD",SYMBOL_BID);double USDCHF_ASK = SymbolInfoDouble("USDCHF",SYMBOL_ASK);double USDCHF_BID = SymbolInfoDouble("USDCHF",SYMBOL_BID);// 检查和添加项目 DDE// if(!CheckItem("EMA", "B"))// {// if(!AddItem("EMA", "B")) return;// }if(!CheckItem("COMPANY", "Value"))AddItem("COMPANY", "Value");如果(!CheckItem("TIME", "Value"))AddItem("TIME", "Value");如果(!CheckItem("EURUSD", "ASK"))AddItem("EURUSD", "ASK");if(!CheckItem("EURUSD", "BID"))AddItem("EURUSD", "BID");if(!CheckItem("USDCHF", "ASK"))AddItem("USDCHF", "ASK");if(!CheckItem("USDCHF", "BID"))AddItem("USDCHF", "BID");// 设置项目值 DDESetItem("COMPANY", "Value",(string)AccountInfoString(ACCOUNT_COMPANY));SetItem("TIME", "Value",(string)TimeCurrent());// SetItem("EMA", "B", "EMA(21): "+DoubleToString(MA[0],6));SetItem("EURUSD", "ASK",DoubleToString(EURUSD_ASK,5));SetItem("EURUSD", "BID",DoubleToString(EURUSD_BID,5));SetItem("USDCHF", "ASK",DoubleToString(USDCHF_ASK,5));SetItem("USDCHF", "BID",DoubleToString(USDCHF_BID,5));}其余操作与上述相同。希望对大家有所帮助。 谢谢 Maurorechi、 但您是否必须对每种资产都执行您对EURUSD 所做的这些操作? 还有一个问题,是否必须打开资产窗口才能从资产中提取信息? Lourenco Jakobson 2020.07.25 00:06 #40 我希望它能自动生成市场观察中所有符号 的买入价/卖出价。有人能帮忙吗? 12345678 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
能否获得 DLL 和 EXE 的源代码?我正在为 MT5 编写第一个 DLL(32 位和 64 位),这将是一个完美的项目。
请帮助
谢谢、
这篇文章已经很旧了,但仍有现实意义。
该工具非常出色,甚至可以用来整合 MT4 多个实例或多个 EA 的数据。
如果之前的任何问题仍然相关,请重新发布,我会回答。
MQL4 问题也是如此,因为我也可以帮助解决 MQL4 问题。
你好,汤姆、
我想将实时买入和卖出的 tick 数据导出 到 excell,可以用这个工具吗?
谢谢
谢谢。
我试图获取 LAST,但总是出现空白。
有人知道问题出在哪里吗?
CopyBuffer(MA_handle,0,0,100,MA);
ArraySetAsSeries(MA,true);
double LAST = SymbolInfoDouble("USDBRL", SYMBOL_LAST);
// 检查和添加项目 DDE
if(!CheckItem("A", "B"))
{
if(!AddItem("A", "B")) 返回;
}
if(!CheckItem("C", "D"))
{
if(!AddItem("C", "D")) 返回;
}
if(!CheckItem("COMPANY", "Value"))AddItem("COMPANY", "Value");
如果(!CheckItem("TIME", "Value"))AddItem("TIME", "Value");
if(!CheckItem("LAST", "EURUSD")AddItem("LAST", "USDBRL");
// 设置项目值 DDE
SetItem("COMPANY", "Value",(string)AccountInfoString(ACCOUNT_COMPANY));
SetItem("TIME", "Value",(string)TimeCurrent());
SetItem("A", "B", "EMA(21): "+DoubleToString(MA[0],6));
SetItem("C", "D", "LAST: "+DoubleToString(LAST,5));
}
晚上好。
经过一番折腾,我终于解决了这个问题。我就是为此在网站上注册的。
更改整个OnTimer() 函数:
void OnTimer()
{
//--- 用 iMA 的当前值填充数组 MA[]
//--- 复制 100 个元素
// CopyBuffer(MA_handle,0,0,100,MA);
// ArraySetAsSeries(MA,true);
double EURUSD_ASK = SymbolInfoDouble("EURUSD",SYMBOL_ASK); // 适用于 eurusd(示例)
double EURUSD_BID = SymbolInfoDouble("EURUSD",SYMBOL_BID);
double USDCHF_ASK = SymbolInfoDouble("USDCHF",SYMBOL_ASK);
double USDCHF_BID = SymbolInfoDouble("USDCHF",SYMBOL_BID);
// 检查和添加项目 DDE
// if(!CheckItem("EMA", "B"))
// {
// if(!AddItem("EMA", "B")) return;
// }
if(!CheckItem("COMPANY", "Value"))AddItem("COMPANY", "Value");
if(!CheckItem("TIME", "Value"))AddItem("TIME", "Value");
如果(!CheckItem("EURUSD", "ASK"))AddItem("EURUSD", "ASK");
if(!CheckItem("EURUSD", "BID"))AddItem("EURUSD", "BID");
if(!CheckItem("USDCHF", "ASK"))AddItem("USDCHF", "ASK");
if(!CheckItem("USDCHF", "BID"))AddItem("USDCHF", "BID");
// 设置项目值 DDE
SetItem("COMPANY", "Value",(string)AccountInfoString(ACCOUNT_COMPANY));
SetItem("TIME", "Value",(string)TimeCurrent());
// SetItem("EMA", "B", "EMA(21): "+DoubleToString(MA[0],6));
SetItem("EURUSD", "ASK",DoubleToString(EURUSD_ASK,5));
SetItem("EURUSD", "BID",DoubleToString(EURUSD_BID,5));
SetItem("USDCHF", "ASK",DoubleToString(USDCHF_ASK,5));
SetItem("USDCHF", "BID",DoubleToString(USDCHF_BID,5));
}
其余操作与上述相同。
希望对大家有所帮助。
我无法工作,我收到错误信息 "2019.02.26 11:23:40.882 dde_example (ES,H1) Alert: Cannot find MT4.DDE.2 window!"
您忘了运行 DDE Server.exe
嗨,汤姆 、
我想将买入和卖出刻度线数据实时导出到 excell 中,可以用这个工具实现吗?
谢谢
抱歉这么晚才回复,这当然是可能的。
我之所以说 "是",是因为我已经 3 年没有使用过这个工具了,也没有在 Windows 10 上尝试过,所以您可以尝试一下并向我汇报。
晚上好。
经过一番折腾,我终于解决了这个问题。我就是为此在网站上注册的。
更改整个 OnTimer() 函数:
void OnTimer()
{
//--- 用 iMA 的当前值填充数组 MA[]
//--- 复制 100 个元素
// CopyBuffer(MA_handle,0,0,100,MA);
// ArraySetAsSeries(MA,true);
double EURUSD_ASK = SymbolInfoDouble("EURUSD",SYMBOL_ASK); // 适用于 eurusd(示例)
double EURUSD_BID = SymbolInfoDouble("EURUSD",SYMBOL_BID);
double USDCHF_ASK = SymbolInfoDouble("USDCHF",SYMBOL_ASK);
double USDCHF_BID = SymbolInfoDouble("USDCHF",SYMBOL_BID);
// 检查和添加项目 DDE
// if(!CheckItem("EMA", "B"))
// {
// if(!AddItem("EMA", "B")) return;
// }
if(!CheckItem("COMPANY", "Value"))AddItem("COMPANY", "Value");
如果(!CheckItem("TIME", "Value"))AddItem("TIME", "Value");
如果(!CheckItem("EURUSD", "ASK"))AddItem("EURUSD", "ASK");
if(!CheckItem("EURUSD", "BID"))AddItem("EURUSD", "BID");
if(!CheckItem("USDCHF", "ASK"))AddItem("USDCHF", "ASK");
if(!CheckItem("USDCHF", "BID"))AddItem("USDCHF", "BID");
// 设置项目值 DDE
SetItem("COMPANY", "Value",(string)AccountInfoString(ACCOUNT_COMPANY));
SetItem("TIME", "Value",(string)TimeCurrent());
// SetItem("EMA", "B", "EMA(21): "+DoubleToString(MA[0],6));
SetItem("EURUSD", "ASK",DoubleToString(EURUSD_ASK,5));
SetItem("EURUSD", "BID",DoubleToString(EURUSD_BID,5));
SetItem("USDCHF", "ASK",DoubleToString(USDCHF_ASK,5));
SetItem("USDCHF", "BID",DoubleToString(USDCHF_BID,5));
}
其余操作与上述相同。
希望对大家有所帮助。
谢谢 Maurorechi、
但您是否必须对每种资产都执行您对EURUSD 所做的这些操作?
还有一个问题,是否必须打开资产窗口才能从资产中提取信息?