-1

我正在使用 metatrader4,我可以从 btc-e http://docs.mql4.com/constants/environment_state/marketinfoconstants获取“但”市场数据的任何信息

IE

double pending = MarketInfo(Symbol(),MODE_PENDING);
MessageBox(
  DoubleToStr(pending)
);

就像此图表右侧的市场数据 https://bitcoinwisdom.com/markets/btce/ltcusd一样,所有未决的买/卖订单,相同的市场和一切。如何使用 MQL4 转储挂起交易量?

4

2 回答 2

4

首先,让我们从 < code >-snippet mis-concept 说起

如提供的 < code >-snippet 中所见,存在一个主要错误/错误概念。虽然 MQL4 代码的语法在编译器阶段是可行的(它被处理成可操作的 .ex4 运行时代码),但结果基本上是错误的。

MQL4 有很多枚举常量,过去在 MetaLang.exe 编译阶段使用上下文检查为零。(是的,不得不说“曾经有”,因为 MetaQuotes, Inc.,最近进入“隐藏”语言修改已经改变了很多系统行为,即使是在 MQL4 的语法中,在一个相当Orwel式的“新”-MQL4,所以在流沙的情况下更要注意细节......)

如前所述,与您尝试使用的 ENUM_CONST 类似MODE_PENDING,在该语言中具有公平的含义,但这并不能保证仅在编译时替换int. 因此,可以MODE_HIGH在任何地方声明 a ( btw == 2 ),其中MODE_SMMA( btw == 2 ) 将具有适当的使用上下文。这些只是编译器解析阶段的符号替换。


其次,让我们专注于你的目标

正如所见,您想以某种方式对一组关于挂单的总量和各自大小的知识进行操作,这些知识在市场激活它们之前等待“在桌面上”。这是一项复杂而重要的任务。由于外汇没有“中央”市场,以收集全球总和的总和。

谈到其中的“音量”,又会引发另一个混乱。Volume,正如在 MQL4 中实现的那样,是一个离散整数值,与相应柱内的累积价格变化量相关。因此,在 aNewBarEVENT 上,Volume[0] == 1(第一个价格报价刚刚到达并带来了 aNewBarEVENT 本身的指示),并且该值在整个实时柱 ( [0] ) 持续时间内逐步增加。有人可能还注意到,对于没有出现“来自市场”的报价的柱形图,MT4 不会在图表中显示任何柱形图(一根缺失的蜡烛)。

因此,在使用Volume一词时始终要小心,以确保获得完整的使用上下文。

从您的帖子中可以看出,您的意图是获得OrderBook LEVEL-2 aka Depth-Of-Market

虽然这是可能的,但这将需要更多的努力来组装,而不仅仅是 MQL4 代码中的单行代码。


第三,我们去完成工作

可能是,您的代理已准备好 API 服务,供您收集和处理 L2 DoM。

  • 如果没有,请去让他们为您打开它。

如果不,

  • 将经纪人更改为这样的经纪人。

还有其他来源可以构建和维护 L2 DoM,但与您的交易执行地点的相关性有待验证,因为一旦与您的模型进行交易,有些可能会通过做市商角色使您的策略瘫痪。

您的经纪人-“本地”L2 DoM rulez。总是。不值得损失来测试相反。

如果准备好完成这项任务,请准备好在超低延迟架构上运行,因为 L2 DoM 演化动态中的亚毫秒级节奏并不少见。

一旦“上路”,您很快就会注意到,MQL4 的计时器分辨率高于1 毫秒。

被动 TAMARA 嗅探器读取您的代理到达间隔时间 (毫秒) 查看硬实时系统操作模式的最快与典型 TimeDOMAIN 对齐

因此,您的查询+收集+清理+处理+发布+使用您自己的本地 L2 DoM 映射的计算策略从一开始就存在问题(不谈论由于端到端传输延迟而导致的映射的主要偏差)。

(还请记住,MQL4 只有几个线程,完全不受您的控制。因此,必须设计仔细的多处理设计,以便在非阻塞的近实时模式下运行。拥有像这样的集成系统,您的项目实现目标确实非常令人兴奋,相信我 :o)

Active SONAR-echo response delay End-to-End (msec) - 阅读终端屏幕上的详细信息

)

尽管如此,还是值得做正确的工作。

于 2014-07-15T05:32:20.717 回答
-1

有两种卷类型。一个是 iVolume,然后是 iOBV 或平衡音量。

这是卷文件:

http://docs.mql4.com/series/ivolume

平衡交易量非常适合在一段时间内根据您的交易品种定位平均交易量。长期观察可以产生趋势。

这是obv:

http://docs.mql4.com/indicators/iobv

现在关于音量。无法确定“待定”交易量,它始终是一个历史指标。

如果你有一个人有 10 ltc 并且想以 7.50 的价格出售,而有人想以 7.49 的价格购买 10 并且没有订单更改,那么你就没有交易量,因为一个人在等待另一个人,谁知道需要多长时间。

话虽如此,您可能想查看买卖方面的未平仓头寸,并可能推断出潜力。

最后一点。LTC 和 BTC 很难确定趋势。我看过技术资料,我只能说与 LTC 或 BTC 相比,股票看起来像一只温顺的小猫。

最后。我打赌你不知道 Stack Exchange 有一个比特币网站。我敢打赌这个问题会在那里得到更多的播放。http://bitcoin.stackexchange.com

祝你好运!

于 2014-07-14T22:23:46.150 回答