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

 
Expert:
...
安德烈,这太疯狂了,你要做一个手动交易 测试器,你不能修复指标,去搜索计数器中的缺失数据。
 
Urain:
我为你疯狂,你要建立一个手动交易测试器,你不能修复指标,你必须在计数器中寻找缺失的数据。

你又把我和Andrei搞混了=)

数据并没有消失,而是数据没有消失。

这不容易挖掘和调试,因为该指标在几个柱状体之前就重绘了点。

 
Expert:

你又把我和Andrei搞混了=)

数据并没有消失,而是数据没有消失。

而且不容易挖掘和调试,因为该指标在几个柱状体之前就重绘了点。

是的,对不起,我搞混了。

注意数组的索引 方向,不是为了混淆你的打印。
Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
Urain:

是的,我很抱歉,我搞混了。

注意数组索引的 方向,这样就不会混淆,自己用打印的方式检查。

好的,我会的。

但主要问题是,为什么当我切换TF时,这些模式会消失。

有时这些模式与指标所依据的数组相吻合,有时则混乱地散布在图形中。

在正确的地方将数组元素归零似乎会发生...

 
Expert:

好吧,我会的。

但主要的问题是,为什么当我切换F时,这些模式会消失。

这些模式有时与指标所依据的阵列相吻合,有时则混乱地散布在图形上。

在适当的地方对数组元素 进行归零似乎已经发生了......。

当TF被切换时,会发生重新初始化,这就是为什么图案会消失。

你不是在用图形对象建立一个模式吗? 如果是这样,当它们需要被删除时,需要对它们进行管理。

ZS 一般来说,没有代码(一张图片)甚至很难理解什么是错的,更不用说找到原因。

 
Urain:

当TF被切换时,它被重新初始化,所以图案会消失。

你不是在用图形对象建立一个模式吗? 如果是这样,需要控制它们何时被删除。

一般来说,如果没有代码(一张图片),HH公司甚至很难理解什么是错的,更不用说找到原因。

#property indicator_type1 DRAW_ARROW

#属性 indicator_type2 DRAW_ARROW

#属性 indicator_type3 DRAW_ARROW

不是图形对象,是缓冲区。

但代码,是的,请)。

附加的文件:
WATL.mq4  24 kb
WATL.mq5  41 kb
 
Expert:

#property indicator_type1 DRAW_ARROW

#属性 indicator_type2 DRAW_ARROW

#属性 indicator_type3 DRAW_ARROW

不是图形对象,是缓冲区。

但代码,是的,请)。

首先,它是一个反编译的代码,其次,在迁移过程中存在着很多错误。

以这颗珍珠为例

iBarShift(NULL,0,ai_4,false);

尽管CopyTime函数 并没有空字符这样的概念。

(NULL)传递给字符串类型参数将传递""

int iBarShift(string symbol,
              int tf,
              datetime time,
              bool exact=false)
  {
   if(time<0) return(-1);
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   datetime Arr[],time1;
   CopyTime(symbol,timeframe,0,1,Arr);
   time1=Arr[0];
   if(CopyTime(symbol,timeframe,time,time1,Arr)>0)
     {
      if(ArraySize(Arr)>2) return(ArraySize(Arr)-1);
      if(time<time1) return(1);
      else return(0);
     }
   else return(-1);
  }


联系你的开发者

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTime
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTime
  • www.mql5.com
Доступ к таймсериям и индикаторам / CopyTime - Документация по MQL5
 
Urain:

首先,它是一个反编译,其次,在迁移中存在很多bug。

看看这个perl就知道了

尽管CopyTime函数 没有空字符这一事实。

(NULL)传递给字符串类型参数将传递""


联系开发商

我不想和开发人员进行美元对话 =)

无论如何,感谢你的明智建议。

 
Expert:

没有$wish$联系开发商=)

无论如何,谢谢你的好建议。

但这并不是全部,在想法中传递图形对象而不是图表id 0,你可以,但在实践中,最好给图表编号。

一般来说,有很多东西需要了解

不清楚程序员想用这段代码表达什么。

int Double2Int(double ad_0) 
  {
   return(int(StringToInteger(DoubleToString(ad_0,0))));
  }

对我来说,这更容易和更快。

(int)NormalizeDouble(ad_0,0)

而不是通过丁字裤进行四舍五入

 
Urain:

但还有一点,理论上,在创建图表对象时,可以传递0而不是图表ID,但在实践中,最好是给出图表编号。

总的来说,有很多事情需要理清

不清楚程序员想用这段代码表达什么。

我认为这更容易和更快。

比起通过字符串来做四舍五入

这里的对象是行,我已经截断了它们,所以这显然不是错误所在。

对字符串进行四舍五入是由于MQL4没有像(int)这样的方法,而在重写时我故意让它保持原样,以最大限度地提高代码的重合度。

但显然,你仍然可以用你的版本取代旧版本。