专家: DDE - Server - 页 5

 
您好
我有一个问题

如何在 Excel 中添加特定货币对的购买价格?

这只显示 EMA 21

我需要买入和卖出货币

 
检查和 添加项目 DDE
如果(!CheckItem("A", "B"))
{
if(!AddItem("A", "B")) 返回;
}

if(!CheckItem("COMPANY", "Value"))AddItem("COMPANY", "Value");
如果(!CheckItem("TIME", "Value"))AddItem("TIME", "Value");
if(!CheckItem("BID", "EURUSD")AddItem("BID", "EURUSD");


// 设置项目值 DDE

SetItem("COMPANY", "Value",(string)AccountInfoString(ACCOUNT_COMPANY));
SetItem("TIME", "Value",(string)TimeCurrent());

>>>>>> SetItem("BID", "EURUSD",(string) ?????());<<<<<<

如果要显示欧元兑美元的买入价或卖出价,如何修改?

谢谢

 
snowking87:

请编辑您的帖子,并在粘贴代码时使用代码按钮 (Alt+S)。

编辑您的原帖,不要直接在新帖中正确粘贴代码。

发帖时请不要过度使用大写字母。这被视为大声喧哗,非常不礼貌。

 
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");

// 设置项目值 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));

}

其余操作与上述相同。


希望对大家有所帮助。

以下是我对代码所做的修改。

void OnTimer()
  {
//--- 用 iMA 的当前值填充数组 MA[]
//--- 复制 100 个元素

// 检查和添加项目 DDE
   if(!CheckItem(_Symbol,"B")) 
     {
      if(!AddItem(_Symbol,"B")) return; 
     }

   if(!CheckItem("COMPANY","Value")) AddItem("COMPANY","Value");
   if(!CheckItem("TIME","Value")) AddItem("TIME","Value");

// 设置项目值 DDE 
   SetItem("COMPANY","Value",(string)AccountInfoString(ACCOUNT_COMPANY));
   SetItem("TIME","Value",(string)TimeCurrent());

   SetItem(_Symbol,"B",SymbolInfoDouble(_Symbol,SYMBOL_LAST));

  }
 
snowking87:
检查和 添加项目 DDE
如果(!CheckItem("A", "B"))
{
if(!AddItem("A", "B")) 返回;
}

if(!CheckItem("COMPANY", "Value"))AddItem("COMPANY", "Value");
如果(!CheckItem("TIME", "Value"))AddItem("TIME", "Value");
if(!CheckItem("BID", "EURUSD")AddItem("BID", "EURUSD");


// 设置项目值 DDE

SetItem("COMPANY", "Value",(string)AccountInfoString(ACCOUNT_COMPANY));
SetItem("TIME", "Value",(string)TimeCurrent());

>>>>>> SetItem("BID", "EURUSD",(string) ?????());<<<<<<

你们好,如果要显示欧元兑美元的买入价或卖出价,如何修改?

谢谢

if(!CheckItem("BID", "EURUSD"))AddItem("BID", "EURUSD");
if(!CheckItem("ASK", "EURUSD"))AddItem("ASK", "EURUSD");
SetItem("BID", "EURUSD",(double)SymbolInfoDouble(Symbol(),SYMBOL_BID));
SetItem("ASK", "EURUSD",(double)SymbolInfoDouble(Symbol(),SYMBOL_ASK));
 
Younes Deldar:
您好
我有一个问题

如何在 Excel 中添加特定货币对的购买价格?

仅显示 EMA 21

我需要买入和卖出货币

if(!CheckItem("BID", "EURUSD"))AddItem("BID", "EURUSD");
if(!CheckItem("ASK", "EURUSD"))AddItem("ASK", "EURUSD");
SetItem("BID", "EURUSD",(double)SymbolInfoDouble(Symbol(),SYMBOL_BID));
SetItem("ASK", "EURUSD",(double)SymbolInfoDouble(Symbol(),SYMBOL_ASK));
 
IlyshikBTC:
if(!CheckItem("BID", "EURUSD"))AddItem("BID", "EURUSD");
如果(!CheckItem("ASK", "EURUSD"))AddItem("ASK", "EURUSD");
SetItem("BID", "EURUSD",(double)SymbolInfoDouble(Symbol(),SYMBOL_BID));
SetItem("ASK", "EURUSD",(double)SymbolInfoDouble(Symbol(),SYMBOL_ASK));

我尝试使用您的代码,但无论我在代码中添加什么货币符号,都只能得到 MT5 符号列表中第一个货币对的卖出价/买入价。

例如,我将 USDCAD 作为 MT5 符号列表中的第一个符号。我用 EURUSD 写了您提供的代码,但得到的卖出价是 USDCAD 而不是 EURUSD。如何解决这个问题?

另外,对于如何将所有货币对/符号的卖出价连接到 Excel,您有什么建议吗?

谢谢!

IlyshikBTC
IlyshikBTC
  • 2021.03.04
  • www.mql5.com
Trader's profile
 

我对其进行了修改,以获取以下数据:前一根蜡烛到当前一根蜡烛的最高价、收盘价、最低价 (HCL);前一根蜡烛到当前一根蜡烛的 布林带上下限值 (20,2);前一根蜡烛 到当前一根蜡烛的随机 指标和 %D (10,3,3)。


代码如下:

double      BB_T[];      //指标 BB 的数组
double      BB_B[];
int         BB_handle;  //指标 BB 的句柄

double      STOCH[];    //指标 STOCH 的数组
double      PERCD[];
int         ST_handle; //指标 STOCH 的句柄

//-----------------------------------------------------------------------------

void OnInit()
  {
    EventSetTimer(1);
    
//--- 创建 BB 和 STOCH 指示器
   BB_handle=iBands(_Symbol,PERIOD_CURRENT,20,0,2,PRICE_CLOSE);
   ST_handle=iStochastic(_Symbol,PERIOD_CURRENT,10,3,3,MODE_SMA,STO_LOWHIGH);
   return;
  }

void OnTimer()

  {
//--- 用 iMA 的当前值填充数组 MA[]
//--- 复制 100 个元素
   //BB
   CopyBuffer(BB_handle,1,0,100,BB_T); //Upper
   ArraySetAsSeries(BB_T,true);

   CopyBuffer(BB_handle,2,0,100,BB_B); //Lower
   ArraySetAsSeries(BB_B,true);
   //Stochastic
   CopyBuffer(ST_handle,0,0,100,STOCH); //Stoch
   ArraySetAsSeries(STOCH,true);
   CopyBuffer(ST_handle,1,0,100,PERCD); //%D
   ArraySetAsSeries(PERCD,true);
// 检查和添加项目 DDE
   if(!CheckItem(_Symbol,"最大")) 
     {
      if(!AddItem(_Symbol,"最大")) return; 
     } 
   if(!CheckItem(_Symbol,"最低")) AddItem(_Symbol,"最低");
   if(!CheckItem(_Symbol,"Fechamento")) AddItem(_Symbol,"Fechamento");
   //
   if(!CheckItem(_Symbol,"BB_Top")) AddItem(_Symbol,"BB_Top");
   if(!CheckItem(_Symbol,"BB_Lower")) AddItem(_Symbol,"BB_Lower");
   //
   if(!CheckItem(_Symbol,"STOCH")) AddItem(_Symbol,"STOCH");
   if(!CheckItem(_Symbol,"%D")) AddItem(_Symbol,"%D");


// 设置项目值 DDE 
   //HCL蜡烛
   SetItem(_Symbol,"最大",iHigh(_Symbol,5,1));
   SetItem(_Symbol,"最低",iLow(_Symbol,5,1));
   SetItem(_Symbol,"Fechamento",iClose(_Symbol,5,1));
   //BB 顶部和底部
   SetItem(_Symbol,"BB_Top",DoubleToString(BB_T[1],2));
   SetItem(_Symbol,"BB_Lower",DoubleToString(BB_B[1],2));
   /随机和%D
   SetItem(_Symbol,"STOCH",DoubleToString(STOCH[1],2));
   SetItem(_Symbol,"%D",DoubleToString(PERCD[1],2));
  }


其余部分相同

 
mzee_zaki:

我试着使用您的代码,但无论我在代码中添加了哪种货币符号,都只能得到 MT5 符号列表中第一种货币对的卖出价/买入价。

例如,我将 USDCAD 作为 MT5 符号列表中的第一个符号。我用 EURUSD 写了您提供的代码,但得到的卖出价是 USDCAD 而不是 EURUSD。如何解决这个问题?

另外,对于如何将所有货币对/符号的卖出价连接到 Excel,您有什么建议吗?

谢谢!

尝试将Symbol() 改为_Symbol


请访问巴西的评论


https://www.mql5.com/pt/forum/33344

Especialistas: Servidor DDE
Especialistas: Servidor DDE
  • 2014.01.15
  • www.mql5.com
Artigos, comentários da Biblioteca: Especialistas: Servidor DDE
 
你好,兄弟,你这个有MT4版本的吗。MT4的DDE用不了。但我用的福汇的没有MT5服务器。有的话就谢谢你提供一份代码给我。我想获取我的净值和持仓货币盈亏情况、。