- CustomSymbolCreate
- CustomSymbolDelete
- CustomSymbolSetInteger
- CustomSymbolSetDouble
- CustomSymbolSetString
- CustomSymbolSetMarginRate
- CustomSymbolSetSessionQuote
- CustomSymbolSetSessionTrade
- CustomRatesDelete
- CustomRatesReplace
- CustomRatesUpdate
- CustomTicksAdd
- CustomTicksDelete
- CustomTicksReplace
- CustomBookAdd
CustomBookAdd
为自定义交易品种传递市场深度的状态。该函数可以推广市场深度,类似于价格从交易商服务器到达。
bool CustomBookAdd(
|
参数
交易品种
[in] 自定义交易品种名称。
books[]
[in] MqlBookInfo数组类型数据充分描述了市场深度状态 ― 所有买卖请求。该传递的市场深度状态完全取代了过去的深度。
count=WHOLE_ARRAY
[in] 将要传递到函数的'books'数组元素的数量。默认使用整个数组。
返回值
true 成功,否则 false。若要获得错误信息,请调用GetLastError()函数。
注意
CustomBookAdd函数仅适用于市场深度所开放的自定义交易品种 ― 通过平台界面或MarketBookAdd函数。
当交易品种卖价和买价加入到市场深度时,不会更新。您应该控制最佳价格的变化,并使用CustomTicksAdd将其加入到报价中。
该函数验证传输数据的准确性:必须为每个元素指明类型、价格和交易量。此外,MqlBookInfo.volume和MqlBookInfo.volume_real不得为零或负数;如果两个交易量都是负数,这将被视为错误。您可以指定任何交易量或两个交易量都指定:将使用指定的交易量或正值交易量:
volume=-1 && volume_real=2 ― volume_real=2将被使用,
|
MqlBookInfo元素在'books'数组中的顺序并不重要。当保存数据时,程序端将根据其价格进行排序。
当保存数据时,检查接收人自定义交易品种的"Book depth" (SYMBOL_TICKS_BOOKDEPTH)参数。如果在传递的市场深度中,卖出请求的数量超过该值,则丢弃超出的部分。购买请求也是如此。
'books'数组的采样填充:
市场深度状态 |
Filling books[] |
---|---|
books[0].type=BOOK_TYPE_SELL; |
例如:
//+------------------------------------------------------------------+ |
另见