初学者的问题 MQL4 MT4 MetaTrader 4 - 页 8

 
Slawa:

关于8个缓冲区的信息已经过时

在新的MQL4中,您最多可以设置512个缓冲区。

要了解它,请看MQL4\Indicators\Examples文件夹中的指标源代码。并阅读文件

当然,谢谢你提供的参考书的链接:)然而,我已经翻阅了它。不幸的是,我没有找到任何具体的东西--这些额外的缓冲区做什么,显示什么,不显示什么,等等--只有函数,而且没有任何关于新 "缓冲区 "的结构和目的。

这个人是在论坛上问一个答案,而不是问一个参考书的链接。也许有人能更详细地解释一下?:)或者至少提供一篇解释它的文章的链接?

 
Ilya Melamed:

当然,谢谢你提供的指南链接:)然而,我已经看完了。不幸的是,我没有找到任何具体的东西--需要什么额外的缓冲区,显示什么,不显示什么,等等......只有功能,但没有关于结构和目的,更新的 "缓冲区 "的逻辑。

这个人是在论坛上询问答案,而不是要求提供参考书的链接。也许有人能更详细地解释一下?:)或者至少提供 一篇解释这个问题的文章 的链接?

请享受。

https://www.mql5.com/ru/articles/1500

https://www.mql5.com/ru/articles/1503

 
Ilya Melamed:

当然,谢谢你提供的指南链接:)然而,我已经看完了。不幸的是,我没有找到任何具体的东西--需要什么额外的缓冲区,显示什么,不显示什么,等等......只有功能,但没有关于结构和目的,更新的 "缓冲区 "的逻辑。

这个人是在论坛上询问答案,而不是要求提供参考书的链接。也许有人能更详细地解释一下?:)或者至少提供一篇解释的文章的链接?

在新的mql4中,你不需要使用额外的缓冲器。

你放在缓冲区里的东西会被显示出来。也许,如果图形系列类型是DRAW_NONE,则不能显示任何东西。

该指标的主要功能是OnCalculate()。从它开始。

https://docs.mql4.com/ru/basis/function/events#oncalculate

Функции обработки событий - Функции - Основы языка - Справочник MQL4
Функции обработки событий - Функции - Основы языка - Справочник MQL4
  • docs.mql4.com
Функции обработки событий - Функции - Основы языка - Справочник MQL4
 
这将是一件值得享受的事情。这都是非常古老的。

Ilya Melamed

当然,请阅读这些文章,但请记住,主要功能是不同的,现在最好以不同的方式建立指标的开头(见我在上一篇文章中给出的链接)。你也可以看看由Nikolay Kositsin 编写的CodeBase指标。他把它们都吃了:)。

 

问候。

我在MT4中写了一个EA,在一个函数的无效OnTick()之后。

Print("TEXT")。

(我的任务是在每次打勾时在我的日志中写上 "TEXT")。

我编译了它,它在测试者的日记中每次打勾都显示 "TEXT"。当我在图表上启用同一专家顾问时,加载成功完成,就是这样,"TEXT "文本没有了。

同时,图表上的Comment() 和Alert()函数 与测试器中的工作方式相同。

我做错了什么?

 
spoiltboy:

问候。

我在MT4中写了一个EA,在一个函数的无效OnTick()之后。

Print("TEXT")。

(我的任务是在每次打勾时在我的日志中写上 "TEXT")。

我编译了它,它在测试者的日记中每次打勾都显示 "TEXT"。当我在图表上启用同一专家顾问时,加载成功完成,就是这样,"TEXT "文本没有出现。

同时,图表上的Comment() 和Alert()函数 与测试器中的工作方式相同。

我做错了什么?

请附上专家顾问的完整代码和你运行该顾问的工具名称。
 
Alexey Kozitsyn:
请附上专家顾问的完整代码和你运行该顾问的工具名称。

任何工具,例如USDCHF,H1。

//+------------------------------------------------------------------+
//|                                                          123.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
  
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   Print("TEXT");
  }
//+------------------------------------------------------------------+

Автоматический трейдинг и тестирование торговых стратегий
Автоматический трейдинг и тестирование торговых стратегий
  • www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
 
spoiltboy:

问候。

我在MT4中写了一个EA,在一个函数的无效OnTick()之后。

Print("TEXT")。

(我的任务是在每次打勾时在我的日志中写上 "TEXT")。

我编译了它,它在测试者的日记中每次打勾都显示 "TEXT"。当我在图表上启用同一专家顾问时,加载成功完成,就是这样,"TEXT "文本没有了。

同时,函数Comment() 和Alert()在图表和测试器中的工作方式相同。

我做错了什么?

你是对的,在那一刻,没有虱子。为了让它更清晰,添加一个ticks计数器并打印其值。

int tik=0;
void OnTick()
{                                      
tik++;
Print("tik # = ", tik);
}
 
Vitalie Postolache:

这是真的,只是当时没有虱子。为了让它更清晰,添加一个滴答计数器并打印其值。

int tik=0;
void OnTick()
{                                      
tik++;
Print("tik # = ", tik);
}

Comment() 和Alert()函数 在图表和测试器中的工作方式是相同的。

我做错了什么?

 
spoiltboy:

任何工具,例如USDCHF,H1。

//+------------------------------------------------------------------+
//|                                                          123.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
  
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   Print("TEXT");

return(0);
  }
//+------------------------------------------------------------------+


原因: