自定义符号。误差、错误、问题、建议。 - 页 15

 
Roman:
那么这里有什么不清楚的地方,在第20号错误的帖子中,我指定了ID设置,并指出了不匹配的原因。
符号_交易_exemode
symbol_trade_calc_mode
这些是完全不同的模式,并不适用于该问题。

这应该会更清楚。

而如果你想使用ENUMSYMBOL_FILLING_XXX 的另一个标识符
没有 SYMBOL_FILLING_RETURN标识符!

这是正确的--没有。它们不是标识符--它们是旗帜。因为SYMBOL_FILLING_RETURN始终存在。而其他两个旗子可以是两者都有,也可以是其中之一。

在发送订单时,您可以指定一个政策来填补交易订单中申报的数量。每个符号的订单执行量的允许变体如下表所示。不是每个符号只能设置一种模式,而是通过标志的组合设置几种模式。标志的组合用逻辑 OR (|) 运算表示 ,例如 SYMBOL_FILLING_FOK|SYMBOL_FILLING_IOC。要检查一个仪器是否允许有特定的模式,必须将逻辑 (&)的结果 与模式标志进行比较

填充政策

识别器

价值

描述

全部/无

符号_填充_福克

1

这种执行政策 意味着订单只能被执行到指定的规模。如果目前市场上没有足够的金融工具的数量,订单将不会被执行。所需的数量可以从目前市场上的几个报价中编制出来。

全部/部分

所有_填充_ioc

2

在这种情况下,交易商同意在订单规定的交易量内以市场上的最大交易量进行交易。如果不可能完全执行,该订单将被执行为可用的量,而未执行的订单量将被取消。使用IOC订单的可能性在交易服务器上被定义。

返回

没有IOC

这种模式用于市场(买入和卖出)、限价和止损订单,并且只在 "市场执行 "和 "交易所执行 "模式下使用。在部分执行的情况下,有剩余交易量的市场或限价订单不会被删除,但仍然有效。



  • 如果SYMBOL_FILLING_FOK 存在,但 SYMBOL_FILLING_IOC 不存在 SYMBOL_FILLING_MODE将返回1。同时,还有一个 "回归"。
  • 如果SYMBOL_FILLING_IOC 标志存在但没有 SYMBOL_FILLING_FOK标志 SYMBOL_FILLING_MODE将返回2。在这种情况下,有一个 "返回"。
  • 如果有一个SYMBOL_FILLING_FOK 标志,并且有一个 SYMBOL_FILLING_IOC标志 那么SYMBOL_FILLING_MODE将返回3。同时,还有一个 "回归"。
因此,结论是:"返回 "总是存在的,其他两种模式是由旗帜的存在决定的。
 
Artyom Trishkin:

对--不。它们不是标识符--它们是旗帜。因为SYMBOL_FILLING_RETURN总是在那里。而另外两个旗子--可以是两个,也可以是一个。

但这并不是明确的行为,这是一种误导。
而且文档中并没有说SYMBOL_FILLING_RETURN 总是存在。
为什么不明确设置呢? SYMBOL_FILLING_RETURN

请给我看一个例子,说明如何正确设置交换填充的标志,那么

CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, SYMBOL_FILLING_RETURN);

我对这些非明确的旗帜感到困惑。

 
Roman:

但这并不是明确的行为,这也是一种误导。
而且文档中并没有说SYMBOL_FILLING_RETURN总是在那里。
为什么不明确设置? SYMBOL_FILLING_RETURN

请给我看一个例子,说明如何正确设置交换填充的标志,然后

因为我对这些非明确的旗帜感到困惑。

零 - 如果不需要其他标志。

 
Roman:

但这并不是明确的行为,这也是一种误导。
而且文档中没有说到SYMBOL_FILLING_RETURN总是存在的标志。

为什么不明确设置? SYMBOL_FILLING_RETURN

请给我看一个例子,说明如何正确设置交换填充的标志,然后

因为我对这些非明确的旗帜感到困惑。

以下是文件中的内容。

"在执行模式 "按市场 "和 "交易所 "中,所有订单类型 允许"返回 "的填充策略。其他类型的允许性使用SYMBOL_FILLING_FOK和SYMBOL_FILLING_IOC属性来检查。"

 
Artyom Trishkin:

零 - 如果不需要其他标志。

设置为零,设置为无。
没有人不是交换的补缺者。
如果我这样试一试

CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, SYMBOL_FILLING_FOK & SYMBOL_FILLING_IOC);

SYMBOL_FILLING_FOK & SYMBOL_FILLING_IOC 也是返回无,而不是你上面说的3。

我毕竟如何正确地设置交换填充?

CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, SYMBOL_FILLING_RETURN);
 

然后是这个。

CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, 3);

设置全部,这与允许的全部相同。

而在文件中,在 "值 "一栏中,什么都没有,空空如也!
而在 "返回 "行的 "标识符 "栏中,我仍然建议为旗帜指定正确的组合!
为什么不直接添加 值为3的SYMBOL_FILLING_RETURN ,对每个人来说都很清楚和明白

 
Roman:

在定制的上填充旗帜,有什么实际目的?

 
Roman:

设置为零,设置为无。
没有人不是交换的补缺者。
如果我这样试一试

SYMBOL_FILLING_FOK & SYMBOL_FILLING_IOC 也是返回无,而不是你上面说的3。

我毕竟如何正确地设置交换填充?

CustomSymbolSetInteger(SName, SYMBOL_FILLING_MODE, SYMBOL_FILLING_FOK | SYMBOL_FILLING_IOC);
 
Artyom Trishkin:

在那里,这个组合建立了All。谢谢你。
但同意这种组合看起来并不明显。
在设置属性时,我们不使用逻辑上的 "不 "

如果不是SYMBOL_FILLING_FOK 或者不是SYMBOL_FILLING_IOC
,那么就使用隐藏的
SYMBOL_FILLING_RETURN -"总是在那里 "

在你的组合中,我们反而明确地说,设置FOK 或者IOC

在交流填充中,没有方便 旗或IOC,因此它具有误导性。

因此,合乎逻辑的是,这个组合应该被添加到文档中,在"标识符 " 一栏,其值为3
或者最好添加
SYMBOL_FILLING_RETURN

那么Bug #20
就被排除在Bug之外了。
但要记住,公开性的特征被违反了。

 
fxsaber:

在定制的上填充旗帜,有什么实际目的?

要正确显示工具规格。
也有可能这些模式是在终端深处的某个地方使用的。
在测试器或其他地方,所以我习惯于明确地填写一切。