错误、漏洞、问题 - 页 1011

 
//Test.mqh
class A {
public:
        virtual int f() { return ( 1 ); }
};
//TestLib.mq5
#property library
#include "Test.mqh"
int g( A* pA ) export { return ( 5 ); }

//Test.mq5
#include "Test.mqh"
#import "TestLib.ex5"
        int g( A* pA );
#import
void OnStart()
{
        A* pA = new A();
        Print( g( pA ));
        delete( pA );
}
到目前为止,一切都很好,但只要我把它插入Test.mq5中,比如说
class B : public A {
};
并立即产生执行错误- 在TestLib.ex5中没有找到g
 
Silent:

日期时间已经存在了

ArraySize - 条数,ArraySize-1 - 最后一个条数,ArraySetAsSeries设置索引方向,单元格编号=条数,左边或右边。

这里 有一个测试脚本。

谢谢你!我会试一试的。
 

下午好!

对于TimeCurrent,它被指定为返回来自MarketWatch的最后一个刻度的时间。试图使用它,它返回20:30,尽管最后一次勾选是22:59:57。

为什么会这样呢?

谢谢你!

 
ns_k:

下午好!

对于TimeCurrent,它被指定为返回来自MarketWatch的最后一个刻度的时间。试图使用它,它返回20:30,尽管最后一次勾选是22:59:57。

为什么会这样呢?

谢谢你!

来自帮助。

OnTick()处理程序中 该函数将返回正在处理的传入tick的时间 在其他情况下(例如,在 OnInit()、OnDeinit()、OnTimer() 处理程序 等),这是 "市场观察 "窗口中任何符号最后一次报价的到达时间 ,与本窗口的标题显示的时间相同

 
Lizar:

从参考资料来看。

谢谢你!

那么我如何在onCalculate中获得 最后一次报价的到达时间

 
ns_k:

谢谢你!

那么如何在onCalculate中获得最后一次报价的到达时间?

听了《平克-弗洛伊德的时间》,想明白了:)

if(SymbolInfoTick(Symbol(),last_tick))

     {

      Print(last_tick.time,": Bid = ",last_tick.bid,

            " Ask = ",last_tick.ask,"  Volume = ",last_tick.volume);

     }

   else Print("SymbolInfoTick() failed, error = ",GetLastError());

   lEnd=last_tick.time; 
 

下午好!

ArrayResize在全局初始化阶段似乎对静态 类/结构成员 不起作用。

结构测试{
静态字符串 arr[]。
Test() {
ArrayResize(arr,5);
如果(ArraySize(arr)!=5) Alert("We have a bug")。
}
};
测试测试。

 

是否有人遇到以下问题。

终端版本和位

Windows 8, MetaTrader 5 - Alpari UK, Build 821, 64 bit.

问题描述

H1上的指标呼叫M1上的指标。CopyBuffer命令复制了错误的数据。这个问题只出现在策略测试器中。在终端,所有的数据都被复制,没有任何错误。M1指标将数据复制到第一个缓冲区。

行动的顺序

在策略测试器中,我选择测试 H1上的SampleCopyBuffer指标。我设置了从2013-05-01到2013-07-07的期限。单击 "开始",并阅读日志中的错误信息。

我得到了结果。

我还读了日志中的错误信息。来自M1的指示器缓冲值与CopyHigh值不一致。

预期的结果

CopyBuffer和CopyHigh值应该相等。

更多信息

终端在启动时没有错误。只有在策略测试器中。请看我在附录中的指标。SampleHighs在M1上工作,并从SampleCopyBuffer指标调用,该指标在H1上工作。
附加的文件:
 
denmax:

下午好!

ArrayResize在全局初始化阶段似乎对静态 类/结构成员 不起作用。

结构测试{
静态字符串 arr[]。
Test() {
ArrayResize(arr,5);
如果(ArraySize(arr)!=5) Alert("We have a bug")。
}
};
测试测试。

谢谢你的留言,我们将纠正这个错误。你的代码将产生一个关于缺少静态字符串arr[]的错误;为了使你的代码正确工作,你需要将静态变量 "放在 "Test类的测试实例之前。

struct Test{
   static string arr[];
   Test() {
       ArrayResize(arr,5) ;
       if (ArraySize(arr)!=5) Alert("We have a bug"); 
    } 
};

string Test::arr[];

Test test; 
 

下午好!

我正在写一个脚本,它应该分析我自己生产的自定义指标 的一些特征 :)

在帮助中指定使用IndicatorCreate

用于接收指示器手柄。我几乎都明白了,但看起来非常奇怪,当指标在脚本使用的图表中时,它需要再次创建指标。也许有一种方法可以在脚本中获得已经计算好的指标值?

谢谢你!