错误、漏洞、问题 - 页 136

 
Renat:
从专家顾问创建的指标将不会被卸载,直到您明确删除它或专家顾问结束。

谢谢你抽出时间来回答。

这改变了很多,它意味着我们可以不把测试者的代码和真实的代码分开。

 
Renat:

如果每小时需要一次指标,建议如何最好地节省资源。

留下一打的标准指标,在每一个刻度线上 挂出,或

每次使用后通过IndicatorRelease(indicator_handle)卸载它们,然后在一小时后再次加载它们。

但第二种变体增加了测试的时间。

同时回答加载一个掩码平均需要多少延迟?

 
Urain:

如果每小时需要一次指标,建议采用最佳方式来节省资源。

留下一打的标准指标,挂在每个刻度线或

最好的办法不是把它们卸下来(指标几乎不需要真的 "一小时一次"),而是。

  1. 随着过渡到64位,增加内存大小,或
  2. 减少历史图表的深度
装载的确切时间是不可能说的 - 它取决于几个因素。最好不要通过卸载指标来 制造问题--这可能会因为指标的创建和重新计算的异步过程而引起问题。
 
Urain:

如果每小时需要一次指标,建议如何最好地节省资源。

留下一打的标准指标,在每一个刻度线上挂出,或

每次使用后通过IndicatorRelease(indicator_handle)卸载它们,然后在一小时后再次加载它们。

但第二种变体增加了测试的时间。

同时回答加载一个掩码平均需要多少延迟?

如果你不把定时器用于其他目的,试着在规定的时间间隔内向定时器发送数据。
 

问题

我根本不使用偏移设置,但偶然看到鳄鱼网的描述,开始思考... :)

描述其中一个鳄鱼的设置。

牙齿_移位

[in] 红线相对于价格图的移动。应该记住,线条的移动纯粹是为了显示的视觉效果,而指标缓冲区 中的数值是在没有任何移动的情况下存储的。当使用CopyBuffer() 函数获得缓冲区的值时,偏移值将没有影响。

虽然MA的描述中没有提到,但我认为这是一个错误,一切都很相似。

硕士班

[in] 指标相对于价格图表的移动。

在黄色小鸟所在的图片中,价格已经越过了MA,没有发生转变。这里很清楚,例如,前一个条形图收盘时的价格高于MA,而当前条形图开盘时的价格被打开。

但是,绿鸟在哪里,我们怎么会知道同样的事情?也就是说,当价格在视觉上穿过MA时,就会出现转变

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Линии индикаторов - Документация по MQL5
 
你好,我写了一个脚本来获取欧元兑美元 的卖价
#include <Trade\SymbolInfo.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
  CSymbolInfo SymInfo;
  Alert(SymInfo.Ask());
  }
它返回0 - 我想我需要绑定
CSymbolInfo SymInfo;
到图表的符号,但我不知道如何指定类的符号
[删除]  
kirill190982:
你好,我写了一个脚本--获取欧元兑美元的问价,结果是0--我想我需要绑定
到图表的符号,但我不知道如何指定类的符号
首先,让我们了解一下这个班 的情况。为了解决这个问题,你应该使用该类的方法 Name和RefreshRates
 
Interesting:
首先要做的是让自己熟悉这个班级 的内容。当链接到符号时,你应该首先使用类的"名称"方法。
//+------------------------------------------------------------------+
//|                                                   SymbolInfo.mqh |
//|                      Copyright © 2010, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//|                                              Revision 2010.02.22 |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Class CSymbolInfo.                                               |
//| Appointment: Class for access to symbol info.                    |
//+------------------------------------------------------------------+
class CSymbolInfo
  {
protected:
   string                      m_name;               // symbol name
   MqlTick                     m_tick;               // structure of tick;
.....
//--- ask parameters
   double            Ask() const                      { return(m_tick.ask); 
我理解,Ask在类中是由MqlTick结构决定的。
#include <Trade\SymbolInfo.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
  string Megasymbol=Symbol();
  CSymbolInfo SymInfo;
  SymInfo.Name(Megasymbol);
  Alert(SymInfo.Ask());
  }
仍然得到零的结果。
[删除]  
kirill190982:
我知道类中的Ask是由MqlTick结构 定义的;我试了两种方式,仍然得到0

你应该做到以下几点

SymInfo.Name("EURUSD");
SymInfo.RefreshRates();
Print(SymInfo.Ask());
 
Interesting:

这样试一试如何?

谢谢你