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

 

请告诉我为什么这样一个简单的脚本不能工作。

#include <Indicators\Indicators.mqh>。

空白的OnStart()

{

CiOpen m_open。

bool z=m_open.Create(Symbol(),Period())。

Print(m_open.GetData(1))。

}

 
IlshatG:

请告诉我为什么这样一个简单的脚本不能工作。

#include <Indicators\Indicators.mqh>。

空白的OnStart()

{

CiOpen m_open。

bool z=m_open.Create(Symbol(),Period())。

Print(m_open.GetData(1))。

}

需要像这样。

#include <Indicators\Indicators.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   CiOpen m_open;        
//---
   bool z=m_open.Create(Symbol(),Period());
   m_open.Refresh();
   Print(m_open.GetData(1)); 
  }
 
uncleVic:

我需要这样的东西。

谢谢你。所以你应该在访问数据之前总是使用刷新?

在专家顾问的情况下,我应该怎么做?如果我创建一个新的交易信号类并设置变量m_used_series=USE_SERIES_OPEN+USE_SERIES_CLOSE。

我可以在类方法 中直接访问价格Open(Ind)和Close(Ind)吗?

Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - Документация по MQL5
 
IlshatG:

谢谢你。所以你应该在访问数据之前总是使用刷新?

在专家顾问的情况下,我应该怎么做?如果我创建一个新的交易信号类并设置变量m_used_series=USE_SERIES_OPEN+USE_SERIES_CLOSE。

我可以在类方法 中直接访问价格Open(Ind)和Close(Ind)吗?

是的。

在标准库基础上创建的专家顾问中使用的所有指标和时间序列都会自动添加到专家顾问的指标集合中(因此,它们会自动保持在 "新鲜 "状态)。

 
uncleVic:

是的。

专家顾问中使用的所有指标和时间序列,在标准库 的基础上创建的,会自动添加到专家顾问的指标集合中(因此,会自动保持 "新鲜")。

谢谢你。现在我明白它是如何工作的了。
 
IlshatG:
请告知如何连接MQL云计算网络进行计算?我正在测试一个专家顾问。但是,云代理是不活跃的,没有被突出显示。我已经检查了使用->MQL5云网络。我的账户里有2美元的奖励资金。也许我应该多勾选一些选项,或者在我的账户里多放些钱?

您是否在 "工具-设置-MQL5.community "的终端设置中指定了正确的MQL5登录和密码?

这应导致在代理窗口中显示可用余额。


 
Renat:

您是否在 "工具-设置-MQL5.community "的终端设置中指定了正确的MQL5登录和密码?

因此,可用余额应出现在代理人窗口。


是的,我指定了正确的登录方式,窗口中显示了余额。我已经安装了平台,是我从经纪人的网站上下载的。1月12日的Build 574。我现在尝试从https://www.metatrader5.com/,安装最新的版本平台,我可以看到其中的可用代理。似乎问题在于经纪人提供的metatrader不是最新版本,没有自动更新?是否有可能手动将终端更新到当前版本?
MetaTrader 5 Trading Platform for Forex Trading
  • www.metatrader5.com
The MetaTrader 5 Trading Platform is designed to provide brokerage services to traders in Forex, CFD, Futures, as well as stock markets. Become a broker and start rendering services to traders on the financial markets.
 
IlshatG:
是的,我输入了正确的登录名,窗口中显示了余额。我已经安装了平台,是我从经纪人的网站上下载的。1月12日的Build 574。我现在尝试从https://www.metatrader5.com/,安装最新的版本平台,我可以看到其中的可用代理。似乎问题在于经纪人提供的metatrader不是最新版本,没有自动更新?是否有可能手动将终端更新到当前版本?

是的,你有一个非常老的终端版本。

要升级到最新版本,只需在服务器选择窗口输入 "MetaQuotes",等待新的服务器,并突出显示MetaQuotes-Demo服务器上的演示账户。

在我们的服务器上,总是有新版本的程序。一旦连接起来,升级肯定会发生。

 
Renat:

是的,你有一个非常老的终端版本。

要升级到最新版本,只需在服务器选择窗口输入 "MetaQuotes",等待新的服务器,并在MetaQuotes-Demo服务器上分配一个模拟账户。

我们的服务器上总是有新版本的程序。一旦连接起来,肯定会发生升级。

它正在发挥作用。谢谢你!
 
papaklass:

有什么好处呢?我有什么不明白的?

所以没有编译错误。但像这样。

它给出了一个错误

1.

MqlRates mrate[];
mrate[] = {0};

错误--只有在声明:MqlRates mrate[] = {4}时才能进行初始化。

2.ArraySetAsSeries()只适用于动态数组。一个被初始化的数组变成静态的。一个动态数组的例子:MqlRates mrate[]。

Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
  • www.mql5.com
Основы языка / Типы данных / Объект динамического массива - Документация по MQL5