错误、漏洞、问题 - 页 3006

 
Aliaksandr Hryshyn:
那里的指针复制了
你如何复制数据?那么,除了一个一个的元素之外?
 
Vasiliy Pushkaryov:
那你怎么能复制数据呢?那么,除了逐个元素外?

我不知道这是否正确,但额外的构造函数解决了这个问题。它可能对某人有用。

#include <Arrays\ArrayObj.mqh>

CArrayObj ArrCur;       // массив с объектами, каждый объект содержит структуру с полями ордеров и его id
CArrayObj ArrPrev;  // массив с объектами, каждый объект содержит структуру с полями ордеров и его id

class CID : public CObject
{
  public:  int id;
           CID() {}
           CID(CID* pt) {this = pt;}
           
};


void OnStart()
{
  // -----------------------------------------------------------------
    CID* pCur = new CID;          // создаем объект для текущих параметров
    pCur.id = 25;                 // вносим текущие данные
    ArrCur.Add(pCur);             // помещаем в массив объектов
    
    CID* pTemp = ArrCur.At(0);    // вытягиваем объект по указателю
    CID* pPrev = new CID(pTemp);  // в дин.объект копируем в конструкторе данные с предыд.указателя
    ArrPrev.Add(pPrev);           // помещаем в массив объектов
    
    ArrCur.Clear();               // чистим текущий массив
  // -----------------------------------------------------------------
  
   // --- для вывода в журнал
  int sizeCur = ArrCur.Total();       // размер = 0
  int sizePrev = ArrPrev.Total();     // размер = 1
  
  ENUM_POINTER_TYPE pTypeCur = CheckPointer(ArrCur.At(0));    // POINTER_INVALID
  ENUM_POINTER_TYPE pTypePrev = CheckPointer(ArrPrev.At(0));  // POINTER_DINAMYC
  
  Print(__FUNCTION__, " sizeCur=", sizeCur, " pTypeCur=", EnumToString(pTypeCur));
  Print(__FUNCTION__, " sizePrev=", sizePrev, " pTypePrev=", EnumToString(pTypePrev));

  ArrPrev.Clear();             // чистим массив
}
 
fxsaber:

ChartScreenShot 在可视化测试器模式下不能正确工作。

void OnTick()
{
  Print(ChartScreenShot(0, "Test.png", 100, 100)); // true, но файл нулевой длины
  
  ExpertRemove();
}

你好,亲爱的开发者。请问ChartScreenShot()何时能在测试器中工作?

 

你能告诉我在这种EA中如何改变输入参数(F7)或改变全局变量(F3)的值

input int i = 0;

const bool Init = EventSetTimer(1);

void OnTimer()
{
  Alert("");
}

即使把它从图表中拿出来也是有问题的。

 
晚上好,我有这样一个问题?安装了出售的代理管理器,但云计算一栏写着禁用,在六个处理器上一整天都没有任何动静。在账户中显示的是处理器。这是否正常?
 

以前,Debug不能完全使用,但用F5运行脚本有时很方便(尽管不清楚为什么它在新 图表 运行而不是在当前图表上)。

而我无意中在日志中发现了这样的记录。

同时,脚本本身也在运行。我试图在代码中插入以下一行。

{ DebugBreak(); Print( "DebugBreak" ); }

打印了 "DebugBreak "行,但没有停止。

 
A100:

(虽然不清楚为什么它在新 图表 运行而不是在当前图表上 运行)。

在编辑器 "服务"->"设置"->"调试/归档 "
,你可以设置哪个符号将被用于调试,但它仍将在一个单独的图表上运行
如果没有指定符号,它将在市场观察的第一个(顶部)符号上运行。

我一般都有断点,每隔一段时间就会被触发。我把点设置在构建2875
,点击开始在真实数据上进行调试,它不间断地闪过,已经完成调试。
我用编辑器重新启动终端,然后它开始看到断点,直到其他一些启动/停止调试,然后又开始跳过。
在历史数据上运行调试,它完全调用测试器窗口,并在完成调试的同时跳过断点
它从来没有在历史数据的断点上停过,它在完成调试 时一直跳过。
但是,
为什么测试器是根据历史数据 调用的,而保存的参数是从历史数据 中提取的,我不知道这是什么原因,是设计成这样还是歪打正着。

 
Roman:

在编辑器 "服务"->"设置"->"调试/归档 "
,你可以设置哪个符号将被用于调试,但它仍将在一个单独的图表上运行
如果这里没有指定符号,它将在市场观察的第一个(顶部)符号上运行。

在我看来,这是极不方便的。当前的图表有指标、程序应该与之互动的图形对象、设置等。一个新的 "空 "图表被启动。此外,正常模式下的程序(非调试)是从当前图表的导航器中 启动的,而不是在新的图表上--这是一个明显的不一致。

 
可视化也有点令人困惑
https://www.mql5.com/ru/forum/368597
Ошибка моделирования визуализация\без
Ошибка моделирования визуализация\без
  • 2021.05.04
  • www.mql5.com
Кто нибудь может объяснить как это происходит , или протестировать у себя...
 
执行错误(替换顺序不正确)。
#define  MACRO( X )
void OnStart()
{
        MACRO( __COUNTER__ )
        MACRO( __COUNTER__ )
        Print( __COUNTER__ );
}

结果:2

预期的结果:0