错误、漏洞、问题 - 页 3137

 
你好!
当对所有选定的工具进行历史测试 时,测试器只给出货币对的结果,但对于加密货币,它给出了 "oninit返回非零代码1"。我可以做些什么呢?谁经历过这种情况?
 
lapundra1 #:
你好!
当对所有选定的工具进行历史测试 时,测试器只给出货币对的结果,但对于加密货币,它给出 "oninit返回非零代码1"。我可以做些什么呢?谁拥有它?

注释掉第123行,错误就会消失。我是以心灵感应者的身份告诉你 :)- 因为没有代码,所以只有心灵感应,没有其他方法 :)

 

问候。

当在终端运行MT5时,出现了一个错误。

2022.01.03 15:33:30.108 虚拟主机 获取虚拟主机列表失败 [1001] (tls - 创建证书链引擎失败)

2022.01.03 15:34:30.945 信号 '56334871': 获取信号列表失败


而接下来,当试图连接到MetaEditor中的一个存储库时。

2022.01.03 15:34:39.668 存储 项目列表请求失败,错误1001

2022.01.03 15:34:46.561 存储 激活MQL5存储 失败 [1001]


同时,与另一台电脑的连接工作正常,所有的变化都被发送到了 "存储器"。

在电脑上没有检测到网络问题,一切工作正常。过去几个月也没有在电脑上进行任何 "危险 "的活动,一切运行正常。建筑是3140。

我应该往哪个方向挖?


 

我甚至没有去研究 "马德里的秘密",上帝禁止我去想为什么指标手柄从10开始索引,而不是从0或1开始。 我不关心这个,我可以忍受。

我为什么要问,如果同一个指标有两个独立的手柄,我删除了第二个,不仅第二个MA,而且第一个也会消失?也就是说,移除其中一个手柄也会杀死另一个。下面是帮助中高度简化和加倍的iMA 代码。

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots   2

#property indicator_label1  "iMA1"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#property indicator_label2  "iMA2"
#property indicator_type2   DRAW_LINE
#property indicator_color2  clrBlue
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1

double iMABuffer1[], iMABuffer2[];
int    handle1, handle2;
int    bars_calculated=0;

int OnInit()
  {
   SetIndexBuffer(0,iMABuffer1,INDICATOR_DATA);
   SetIndexBuffer(1,iMABuffer2,INDICATOR_DATA);

   PlotIndexSetInteger(0,PLOT_SHIFT,0);
   PlotIndexSetInteger(1,PLOT_SHIFT,0);

   handle1=iMA(_Symbol,PERIOD_CURRENT,10,0,MODE_SMA,PRICE_CLOSE);
   handle2=iMA(_Symbol,PERIOD_CURRENT,20,0,MODE_SMA,PRICE_CLOSE);

   return(INIT_SUCCEEDED);
  }

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   int values_to_copy;

   int calculated=BarsCalculated(handle1);
   if(calculated<=0) return(0);

   if(prev_calculated==0 || calculated!=bars_calculated || rates_total>prev_calculated+1)
      if(calculated>rates_total) values_to_copy=rates_total;
      else                       values_to_copy=calculated;
   else
      values_to_copy=(rates_total-prev_calculated)+1;

   if(!FillArrayFromBuffer(iMABuffer1,0,handle1,values_to_copy)) return(0);
   if(!FillArrayFromBuffer(iMABuffer2,0,handle2,values_to_copy)) return(0);

   //if(handle2!=INVALID_HANDLE)
   //   Print(IndicatorRelease(handle2));

   bars_calculated=calculated;

   return(rates_total);
  }

bool FillArrayFromBuffer(double &values[],
                         int shift,
                         int ind_handle,
                         int amount
                         )
  {
   if(CopyBuffer(ind_handle,0,-shift,amount,values)<0)
      return(false);

   return(true);
  }

void OnDeinit(const int reason)
  {
   if(handle1!=INVALID_HANDLE)
      IndicatorRelease(handle1);
   if(handle2!=INVALID_HANDLE)
      IndicatorRelease(handle2);
  }

如果你取消了这两行的注释,结果是什么都没有呈现。预期:第一个MA(红色)仍然存在。

...而我所想做的就是清理记忆。

 
x572intraday #:

我甚至没有去研究 "马德里的秘密",上帝禁止我去想为什么指标手柄从10开始索引,而不是从0或1开始。 我不关心这个,我可以忍受。

我为什么要问,如果同一个指标有两个独立的手柄,我删除了第二个,不仅第二个MA,而且第一个也会消失?也就是说,移除其中一个手柄也会杀死另一个。下面是帮助中高度简化和加倍的iMA 代码。

如果你取消了这两行的注释,结果是什么都没有呈现。预期:第一个MA(红色)仍然存在。

...而我想做的是清理记忆。

至少是这样。

if(handle2!=INVALID_HANDLE && !FillArrayFromBuffer(iMABuffer2,0,handle2,values_to_copy)) return(0);
 
JRandomTrader #:

至少是这样。

你检查过吗?这对我来说并不奏效。而你只需要删除一个(用内存释放),并在视觉上留下另一个。从你的逻辑中可以看出:如果第二个句柄存在,并且第二个缓冲区没有被填满,那么就退出,它甚至不会出现在我的IndicatorRelease(handle2)这一行(如果我在正确的地方插入了代码)。

 
   int dim=5;
   int Arr1[5];// OK
   int Arr2[dim];// '[' - invalid index value

要么我完全搞砸了,要么,如果不是虫子,就捅一捅帮。

 
x572intraday #:

要么是我完全搞砸了,要么如果不是错误,请在帮助中戳我。

静态数组的大小是一个常数,而不是一个int。

 
Valeriy Yastremskiy #:

静态数组的尺寸是一个常数,而不是一个int。

这样定义一个矢量是可能的,但它们只是双倍的。

int n = 5;
vector v(n);
v[0] = 1.2;
 
Aleksey Nikolayev #:

你可以这样定义一个矢量,但他们只是涉猎。

好的。那我最好调整它的大小。

原因: