新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1214

 
Artyom Trishkin:

为了保持历史数据的最新 "热度",你需要每两分钟使用任何一个CopyXXX,iXXX函数来访问这些数据,例如CopyTime(),iTime(),等等。

我不知道你在测试器中没有得到什么量。有真实的和打勾的量。没有代码,就无法回答实质问题。

代码与我之前下载的相同(稍作修改)。复制虱子。

 MqlTick tick_array[];
      uint start = GetTickCount();
      int received = CopyTicks(_Symbol, tick_array, COPY_TICKS_TRADE, periodStartTime*1000, ticksSizeToCopy);
            if(received != -1) {
               PrintFormat("%s: received %d ticks in %d ms", _Symbol, received, GetTickCount() - start);
               if(GetLastError() != 0) 
                  PrintFormat("%s: таймер Ticks are not synchronized yet, %d ticks received for %d ms. Error=%d",
                              _Symbol, received, GetTickCount() - start, _LastError);
            }

然后是对数量的要求。例如(简化)。

int ticks = ArraySize(tick_array);
for (int i = 0; i < ticks; i ++) {
         if((tick_array[i].flags&TICK_FLAG_BUY) == TICK_FLAG_BUY) {
               if(tick_array[i].volume > max) max = tick_array[i].volume;
        }
}

如果你只是把它附在图表上,那么它是可以的。如果我把它连接到一个测试器上,那么由于某些原因,就没有音量...

 
Yevhenii Levchenko:

该代码与我之前发布的代码相同(稍作修改)。复制蜱虫。

接下来是对数量的要求。例如(简化)。

如果我只是把它附在一个图表上,那就可以了。如果它是在策略测试器中,那么它就没有卷...

关于CopyTicks()函数的说明。关于旗帜。

Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTicks
Документация по MQL5: Доступ к таймсериям и индикаторам / CopyTicks
  • www.mql5.com
[in]  Количество запрашиваемых тиков. Если параметры from и count не указаны, то в массив ticks_array[] будут записаны все доступные последние тики, но не более 2000. Первый вызов CopyTicks() инициирует синхронизацию базы тиков, хранящихся на жёстком диске по данному символу. Если тиков в локальной базе не хватает, то недостающие тики...
 

同事们,请告诉我为什么我不能在一个图表上同时放2或3个不同时间段的ATR指标?

即使改变偏移量以避免视觉上的重叠,也只有一个指标工作并显示在图表上?

输入 int InpOffsetX = 10;// Offset X
输入 int InpOffsetY = 80;// 偏移量Y

更确切地说,如果我改变TF,第二个出现了,但第一个却消失了;这三个都是在不同的TF上交替显示,但不是一起显示。该订单无法追踪。

 
Artyom Trishkin:

请阅读CopyTicks() 的说明。关于旗帜。

我不明白你的意思。我似乎使用了正确的旗帜......而且在现实生活中也很有效......但测试者并不希望它这样。
 
Artyom Trishkin:

我哪里说过我不擅长逻辑?

你在上一篇文章中说:"在我看来,要制作算法,你需要逻辑。而这远远不是数学。而在这里我不是它的朋友--只有必要的参考材料和那些朋友的帮助"。
 
Artyom Trishkin:
我认为,制定算法需要逻辑。而这远远不是数学。而在这里,我对它并不友好--只有正确的参考材料和那些人的帮助。

程序员的工作不是解决复杂的任务,而是让计算机为他完成这些任务。但这可能需要解决其他复杂的任务,而程序员则顺从地执行这些任务。:)

 
ANDREY:
你在以前的帖子中说:"在我看来,要想做算法,你需要逻辑。而这远远不是数学。而我不是它的朋友--只有正确的参考材料和那些人的帮助"。

不,不是的。它是这样的。

"在我看来,要制作算法,你需要逻辑。而这远远不是数学而且我不是它的朋友--只有正确的参考材料和来自那些人的帮助"。

就意义而言,这两个句子是相邻的。但你已经找到了你的意义...

 
Mihail Matkovskij:

程序员的工作不是解决复杂的任务,而是让计算机为他完成这些任务。但这可能需要解决其他复杂的任务,而程序员则顺从地执行这些任务。:)

当然,任务设定者的规则。但他必须是一个程序员才能留在课程上))))。

 
Valeriy Yastremskiy:

当然,问题设置者的规则。但他必须是一个程序员才能留在课程上))))。

这就是问题所在,任务管理器也是执行者。虽然,并不总是如此。

 

请告知。我有一个EA,从一个指标中获取数据(时间),并计算刻度之间的差值(毫秒)。

我通过Alert输出,得到如下结果(见图)。在我看来,首先我得到的是总的毫秒 数,然后是最后4个刻度之间的毫秒差(1和2之间,2和3之间,3和4之间)。

为什么会这样呢?我只需要第4个刻度的数值。

时间

附加的文件:
ind_time.mq4  1 kb
exp_time.mq4  2 kb
原因: