程序库: 交易品种 - 页 7

 
Aleksey Vyazmikin:

当然,源数据在终端中 - 往年的期货。形成刻度存档意味着什么?一般来说,我对在 M1 上测试 OHLC 的变体感到满意,可以说没有额外的刻度。

要形成自定义符号,您需要它的刻度或条形图。

为什么不喜欢最后价格?同样,我也不明白条形图的形成价格--分钟条形图就可以了,以原始价格为准。一般来说,我需要的是与单独期货上相同的东西,而且在任何设置下都不会与真实价格相吻合,所以很明显--根据我的观察,如果对所有刻度进行测试,平均需要在负数上加 5 点。

我对所有事情的看法略有不同。我也不使用条形图和指标。我在论坛上说过这个问题。

您能帮我提供这样一个脚本吗?

我似乎在这里形成了错误的声誉,因为有人提出了这样的问题。

至于自定义符号,这个主题包含了解决这个问题所需的 95% 的内容。

 
fxsaber:

要形成自定义符号,需要其刻度线或柱形图。

我的想法略有不同。我也不使用条形图和指标。我曾在论坛上谈到过这一点。

我似乎在这里形成了一种错误的声誉,因为有人提出了这样的问题。

至于自定义符号,这个主题有 95% 的内容可以解决这个问题。

我很感谢您抽出时间,我只是认为无需投入大量时间就能通过代码实现这个问题。我个人不知道如何将十几个自定义字符 一个接一个地复制到一个字符 中,并临时更改日期,使它们不会重叠。

 
Aleksey Vyazmikin:

我不知道如何将几十个其他符号一个接一个地复制到一个自定义符号中,并即时更改日期,使它们不会重叠。

自定义符号 只是存储报价的一种方式。想象一下,你想获得一个胶合的 CSV 文件。这与自定义符号几乎是一样的。

因此,创建一个 "CSV 文件 "并将其转换为自定义文件只需几行字。

 
fxsaber:

自定义符号只是报价存储的一种。想象一下,您需要获取一个胶合的 CSV 文件。这与自定义符号几乎是一样的。

因此,创建一个 "CSV 文件 "并将其放入自定义文件中只是几行字的事。

谢谢!很好,我可以创建文件,但之后如何填写呢?

 
Aleksey Vyazmikin:

谢谢!太好了,我可以创建文件,但如何上传呢?

不是创建文件,而是创建MqlRates[] 或 MqlTick[]。我给你个提示。

 
fxsaber:

创建的不是文件,而是MqlRates[] 或 MqlTick[]。然后我会给你一个提示。

对我来说,卸载文件中的所有内容更容易,因为有必要以某种方式移动日期,然后将所有内容分别加载到每种类型的数组中,如MqlRates[] 。

 
该库因某些事件 而具有扩展功能。使用示例
// 创建 "实时 "符号的示例。

#include <Symbol.mqh> //https://www.mql5.com/zh/code/18855

const bool Init = EventSetMillisecondTimer(20); // 在这个频率上,我们将抛出刻度线

void OnTimer()
{
  static bool FirstRun = true;

  static const SYMBOL Symb("CUSTOM_" + _Symbol); // 创建一个符号
  
  static MqlTick Ticks[];
  static int Pos = 0;
    
  if (FirstRun)
  {
    Symb.DeleteHistory();       // 历史上的小东西都被轰隆隆地撞击过。
    Symb.Delete(true);          // 我们还将在 "市场观察 "中钉入符号,以排除刻度线的存在。
    Symb.Create(NULL, _Symbol); // 原始复活。
    
    if (Symb.IsExist() && Symb.On())   // 如果一切正常
    {     
      ChartOpen(Symb.Name, PERIOD_M1); // 打开图表
      CopyTicksRange(_Symbol, Ticks, COPY_TICKS_INFO, (ulong)D'2019.02.01' * 1000); // 取走了投掷的刻度。
    }
      
    FirstRun = false;
  }
  else if (Pos < ArraySize(Ticks))
    Symb += Ticks[Pos++]; // 打勾
}


在这样的符号上,即使是在周末,当报价保持不变时,您也可以调试指标。

 
fxsaber:
由于某些事件的发生,该库的功能得到了扩展。使用示例

与旧库的兼容性是否有问题?- 我在旧的 Symbol.mqh 库上做了一些工作,我不想发现有什么地方不能用。

 
Igor Makanu:

与旧库的兼容性是否被破坏?- 我在旧库 Symbol.mqh 上有几项工作,我不想以后再发现有什么不工作了

没有损坏。

 

fxsaber:

void ReverseTick( MqlTick &Tick )
{
  Tick.bid = ReversePrice(Tick.bid);
  Tick.ask = ReversePrice(Tick.ask);
  Tick.last = ReversePrice(Tick.last);
}


出价和要价不应该互换吗?