来自一个 "傻瓜 "的问题 - 页 101

 
Desead:
请告知如何获得当前没有交易的货币对的买入和卖出价格。 在mt4中,有一个marketinfo命令,但在mt5中没有这样的命令。

有帮助的文章 -从MQL4迁移到MQL5

正是为了你的问题。

SymbolInfoDouble()和SYMBOL_BID/SYMBOL_ASK 参数

//Аналог маркетинфо
double  EurAsk = SymbolInfoDouble("EURUSD",SYMBOL_ASK);
double  EurBid = SymbolInfoDouble("EURUSD",SYMBOL_BID);

double  GbpAsk = SymbolInfoDouble("GBPUSD",SYMBOL_ASK);
double  GbpBid = SymbolInfoDouble("GBPUSD",SYMBOL_BID);
 
你能告诉我mt5的工具中是否有新闻日历,EA能否以任何方式分析它们?至少要得到发布的时间和新闻将影响的货币。
 
Lazarev:
Mfg,在mt5的工具中,有一个新闻日历,EA能否以任何方式分析它们?至少要得到会受到新闻影响的发布时间和货币。

如果新闻被标记在图表上(可选择控制),那么按照我的理解,EA可以检测到它。至于其他的,我们必须自己找到解决办法。

第二年,我一直要求开发人员在MQL中实现新闻,并提供一个档案(而不是像现在这样每周一次)。

 
Interesting:

如果新闻被标记在图表上(可选择控制),那么按照我的理解,EA可以检测到它。剩下的就是要靠我自己去寻找解决方案了。

而在第二年,我一直要求开发者将新闻链接到MQL,并提供一个存档(而不是像现在这样的一周)。

如果你已经在另一个主题中提到可以通过图形对象检测新闻,你能告诉我怎么做吗? 我想写一个 根据新闻进行交易的EA,即使它在测试器中没有被优化,我也可能在模拟账户上自己纠正它。
 
Lazarev:
我想开发一个 根据新闻进行交易的专家顾问,即使它在策略测试器中没有被优化,我也会用模拟账户自己纠正它。

图表上显示的新闻是OBJ_EVENT类型的图形对象,你可以得到这种类型的信息,但很不理想,你只能得到新闻名称和发布时间,无论是意义还是其他信息都不会从日历表中得到。

这里有一个为新闻事件添加垂直线的脚本,我想作为你的主题的一个起点就可以了。

附加的文件:
 
我搞不清楚指标里画的是什么。也就是哪个函数在下达绘图命令。谁能给我一个OnCalculate函数 体的例子,它画了一条数值为17的直线。
Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
Desead:
我无法理解指标中到底画了什么。即哪个函数命令绘图。谁能给我一个例子,在OnCalculate函数 体中画出一条数值为17的直线。

指示器缓冲区或图形对象?

HH指标缓冲区是在指标中绘制的,数组没有被声明,绘制样式是在预处理器属性中定义的#property indicator_...

也就是说,指标缓冲区中的所有东西都会被自动绘制。

附加的文件:
Test.mq5  3 kb
 
Urain:

指示器缓冲区 或图形对象?

HH指标缓冲区是在指标中绘制的,那些数组没有被声明,绘制样式是在预处理器属性中设置的#property indicator_...

那就是所有在指标缓冲区中的东西都会被自动画出来。

谢谢你,我现在就去看一看。

任务非常简单,在一个单独的窗口中绘制欧元和英镑之间的价格差异。我已经得到了目前的报价价格。差异,也分别。这意味着,对于每一个刻度,我都有一些数值,根据这些数值,我需要画一个点,在这些坐标上形成一条线或画一条线。

我发现我应该使用具有不同方向指示的缓冲器和数组,我真的不明白为什么,因为我不需要按周期平滑。我将寻找有关通过图形对象绘图的信息,也许有我需要的东西。

 
Desead:

谢谢你,我现在就去看一看。

一般来说,任务是非常简单的,在一个单独的窗口中绘制欧元和英镑之间的价格差异。我已经得到了目前的报价价格。差异,也分别。这意味着,对于每一个刻度,我都有一些数值,根据这些数值,我需要画一个点,在这些坐标上形成一条线或画一条线。

我发现我应该用不同方向的指示来使用缓冲器和数组,我真的不明白为什么,因为我不需要按周期平滑。我将寻找图形对象的画法,可能会有我需要的东西。

注意,在同步方面会有问题。首先你需要创建一个同步的数据库,然后做减法。

string Symbolbuf[6]={"EURUSD","GBPUSD","AUDUSD","USDJPY","USDCHF","USDCAD"};
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
datetime fmin(datetime value1,datetime value2)
  {
   return(value1<value2?value1:value2);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
datetime fmax(datetime value1,datetime value2)
  {
   return(value1>value2?value1:value2);
  }  
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   datetime timestart;
   timestart=(datetime)SeriesInfoInteger(Symbolbuf[0],PERIOD_M1,SERIES_FIRSTDATE);
   for(int i=1;i<6;i++)
     {
      timestart=fmax(timestart,(datetime)SeriesInfoInteger(Symbolbuf[i],PERIOD_M1,SERIES_FIRSTDATE));
      Print(Symbolbuf[i]," = ",(datetime)SeriesInfoInteger(Symbolbuf[i],PERIOD_M1,SERIES_FIRSTDATE));      
     }
   Print("-----------------   ",timestart);  
   for(int i=0;i<6;i++)
     {
      Print(Symbolbuf[i]," = ",Bars(Symbolbuf[i],PERIOD_M1,timestart,TimeCurrent()));
     }
  }
 

你好。我想在澳元/美元上运行我的专家顾问。我怎么做,我只让它在欧元/美元上工作。我已经改变了服务/设置/调试菜单中的配对。但我得到的消息是" 没有找到所选的符号"。

谢谢你。

Документация по MQL5: Получение рыночной информации / SymbolSelect
Документация по MQL5: Получение рыночной информации / SymbolSelect
  • www.mql5.com
Получение рыночной информации / SymbolSelect - Документация по MQL5