文章 "自定义品种(符号):实践基础"

 

新文章 自定义品种(符号):实践基础已发布:

本文专门介绍了程序化生成自定义品种(符号),这些自定义品种可用来演示一些显示报价的流行方法。 它描述的是一种建议的微创智能交易系统改编方案,可用在派生的自定义品种图表上,如同真实品种一样。 MQL 源代码随附于文后。

此外,EA 允许针对交易所金融产品使用实际交易量模式:

LKOH 原始图表,其每根柱线实际交易量为 10000,由 MetaTrader 5 中 EqualVolumeBars EA 生成

LKOH 等量图表,其每根柱线实际交易量为 10000,由 MetaTrader 5 中 EqualVolumeBars EA 生成

LKOH 原始 (a) 和等量图表,其每根柱线实际交易量为 10000,由 MetaTrader 5 中 EqualVolumeBars EA 生成

运行 EA 时品种的时间帧并不重要,因为进行计算时,总是取 M1 柱线,或即时报价历史记录的数据。

自定义品种图表的时间帧必须等于 M1(终端中最小的可用时间帧)。 因此,柱线的时间通常与它们的形成时刻紧密对应。 然而,在强劲的行情变化中,当即时报价的次数或交易量的大小每分钟形成若干根柱线时,柱线的时间将领先于真实柱线。 当行情平静下来时,等量柱线的时间标记将恢复正常。 对于等量或等范围柱线,此平台限制可能并不是特别重要,因为此类图表的初衷就是将它们与绝对时间解除绑定。

作者:Stanislav Korotky

 
在这篇文章中,我看到了一个我不知道的 MQL 功能。举例说明其用途。
template <typename T>
void f( T& ) {}

// 仅适用于结构和类的对象。
template <typename T>
void OnlyObjects( T& )
{  
  const T Tmp;
  
  f((T)Tmp);
  
  // ....
}

void OnStart()
{
  int i;
  MqlTick Tick;
  
  OnlyObjects(Tick); // 确定
  OnlyObjects(i);    // 错误
}
 
fxsaber:
在这篇文章中,我看到了一个我不知道的 MQL 功能。这是一个使用示例。

它可能属于另一篇文章 ;-)- https://www.mql5.com/zh/articles/8028/ - 那里使用了模板,而 那里的 例子 只是简单地搬到了这里。

Вычисление математических выражений (Часть 2). Парсеры Пратта и сортировочной станции
Вычисление математических выражений (Часть 2). Парсеры Пратта и сортировочной станции
  • www.mql5.com
В этой статье мы продолжаем изучать различные методы парсинга математических выражений и их реализацию на языке MQL. В первой части были рассмотрены парсеры рекурсивного спуска. Их главное достоинство — интуитивно понятное устройство, напрямую связанное с конкретной грамматикой выражений. Но если речь заходит об эффективности и технологичности...
 

斯坦尼斯拉夫,感谢您的工作!

为什么没有将所有四种图表类型(等价、renge-、tick-和 renko)合并成一个 EA?是有理由将它们分开,还是重新制作现成的东西更容易?


К сожалению, имя исходного символа и созданного на его основе ренко никак нельзя связать средствами самой платформы. Было бы удобно иметь среди свойств пользовательского символа строковое поле "origin" (источник) или "parent" (родитель), в которое мы могли бы записать имя реального рабочего инструмента. По умолчанию оно было бы пустым, но если его заполнить, то платформа могла бы автоматически и прозрачно для пользователя подменять символ во всех торговых приказах и запросах истории.

非常好的主意。另外,从图表中进行交易也是可行的。

我应该联系谁?@Renat Fatkhullin @Slava

 
Andrey Khatimlianskii:

为什么没有将所有四种图表类型(等值、renge-、tick- 和 renko)合并为一个 EA?是有理由将它们分开,还是重新制作现成的东西更容易?

首先,从历史上看,它们一直是分开的(首先,有些东西不是我的;-)。其次,在我看来,每种图表 都有自己的拥护者,它们并没有太多的重叠(例如,tick 的拥护者并不是 renko 的拥护者,而 timeshift 完全是另一首歌)。第三,它们的共同点只是初始化,而不是完全相同,因为重新启动后继续生成的方式应该不同。有一个想法是将共同点放在一个单独的 includnik 中,但考虑到第 2 点,每个人选择一个没有依赖关系的文件会更容易。

 
Stanislav Korotky:

首先,从历史上看,它们是分开进行的(首先,有些图表不是我的菜;-)。其次,在我看来,每种类型的图表 都有自己的拥护者,它们之间并没有太多重叠(例如,tick 的拥护者并不是 renko 的拥护者,而 timeshift 则是一首独立的歌曲)。第三,它们的共同点只是初始化,而不是完全相同,因为重新启动后继续生成的方式应该不同。有一个想法是将共同点放在一个单独的 includnik 中,但考虑到第 2 点,每个人选择一个没有依赖关系的文件会更容易。

好吧,它们的意义都是一样的--提取刻度(或分钟),并在没有时间轴的情况下建立图表。

历史记录的准备(最好是一次性的,在正确的位置暂停后继续)、新条形图的生成和刻度线的模拟都是相似的。只有 "新条形图 "的规则不同。

但我理解您的回答,我也会从改编现成的开始,而不是发明一辆自行车。

 
MetaTrader 5 增加了对真实刻度历史的支持,而且该平台本身也被定位为高频交易 (HFT) 的工具。<br/ translate="no">

有趣)是谁在哪里这样定位的?

我经纪商的 MT5 服务器无法在 100 毫秒内执行挂单,怎么可能是 HFT)。

更何况挂单 是作为市场订单 执行的。

 
secret:

有趣),谁在哪里这样定位?

我的经纪人的 MT5 服务器无法在 100 毫秒内执行挂单,什么是 HFT)。

更不用说挂单 是作为市场订单 执行的。

https://www.mql5.com/en/welcome/en-metatrader-5-high-frequency-trading

MetaTrader 5 – the best solution for HFT traders!
MetaTrader 5 – the best solution for HFT traders!
  • www.mql5.com
Speed is a key attribute of High-Frequency Trading. Everything from data delivery and trade execution to the instant analysis based on huge amounts of data using hundreds of analytical tools must be as fast as possible. All this is available in MetaTrader 5! In MetaTrader 5, quotes are updated dozens of times per second. The quoting speed is an...
 
Stanislav Korotky:

仁科

为了实现 Renko 图表,我们使用非交易性的 RenkoTicks.mq5 Expert Advisor。它通过处理真实点数(可从您的经纪商处获得 MetaTrader 5),以自定义工具报价的形式生成 Renko。原始符号的报价(条形图)和放置 RenkoTicks 的工作图表的时间框架并不重要。

在绘制 Renko 时,可以使用指标或绘图(使用对象或画布)来替代自定义符号,但在这两种情况下,都无法在此类伪图形上应用指标或脚本

为什么要这么绝对呢?您可以在画布上绘图,将数值写入指标缓冲区,并在价格 "前一个指标的数据 "上应用其他指标。这只是最原始的变体之一。还有其他更先进的 变体





 
Nikolai Semko:

那么,为什么要这么分类呢?您可以在画布上绘图,将数值写入指标缓冲区,然后在价格 "前一个指标的数据 "处应用其他指标。这只是最原始的变体之一。还有其他更先进的变体。

本解决方案并不涵盖实际使用的所有工具。

 
Andrey Khatimlianskii:

该解决方案并未涵盖实际使用的所有工具。


我再说一遍--还有更先进的解决方案(尽管要复杂得多),它们已经可以声称涵盖了 "所有种类"。