Данная политика исполнения означает, что ордер может быть исполнен исключительно в указанном объеме. Если на рынке в данный момент не присутствует достаточного объема финансового инструмента, то ордер не будет исполнен. Необходимый объем может быть составлен из нескольких предложений, доступных в данный момент на рынке.
Данная политика исполнения означает, что ордер может быть исполнен исключительно в указанном объеме. Если на рынке в данный момент не присутствует достаточного объема финансового инструмента, то ордер не будет исполнен. Необходимый объем может быть составлен из нескольких предложений, доступных в данный момент на рынке.
限制器可以是FOK吗?
好问题。
即(以红色标示)限价订单不能成为FOK,因为它是以固定价格执行的。
但另一方面,音量可能足够....。
ORDER_FILLING_FOK
Данная политика исполнения означает, что ордер может быть исполнен исключительно в указанном объеме.
Если на рынке в данный момент не присутствует достаточного объема финансового инструмента, то ордер не будет исполнен.
Необходимый объем может быть составлен из нескольких предложений, доступных в данный момент на рынке.
好问题。
即(红色显示)限价订单不能成为FOK,因为它是以固定价格执行的。
但另一方面,音量可能足够....。
ORDER_FILLING_FOK
Данная политика исполнения означает, что ордер может быть исполнен исключительно в указанном объеме.
Если на рынке в данный момент не присутствует достаточного объема финансового инструмента, то ордер не будет исполнен.
Необходимый объем может быть составлен из нескольких предложений, доступных в данный момент на рынке.
只是 "帮助 "是歪的。限价单总是一种RETURN类型的填补。FOK、IOC都只是市场平台。
但这只适用于交易所和ECN。由于也有STP,其中限价器是虚拟订单,只是各自市场订单的发起者,所以FOK/IOC对它们是可能的。但只是在屏幕上,它们是限制者,而不是在本质上。
只是,"帮助 "是歪的。限价单总是仅有RETURN类型的填补。FOK、IOC只是标记。
并非如此,我总是使用限制器,但只使用IOC
已经超过3年了。
你自己看看吧 :)
添加
限价单与市价单相同,但它是一个执行价格。
如果有价格,它就被执行,如果没有价格,它就被删除。
执行政策
除了经纪人指定的订单执行的一般规则外,交易者可以在订单设置窗口的 "填充 "字段中指定附加条件。
这种执行政策意味着一个订单只能被执行到指定规模。如果目前市场上某种金融工具的交易量不足,订单将不会被执行。所需的数量可以从目前市场上的几个报价中编制出来。
在这种情况下,交易商同意在订单中指定的数量范围内,以市场上的最大数量进行交易。如果不可能完全执行,该订单将被执行为可用的量,而未执行的订单量将被取消。使用IOC订单的可能性由交易服务器决定。
这种模式用于市场(买入和卖出)、限价和止损订单,并且只在 "市场执行 "和 "交易所执行 "模式下使用。在部分执行的情况下,有剩余交易量的市场或限价订单不会被删除,但仍然有效。
取决于执行模式的执行策略的应用可以用表格的形式表示。
Execution mode/Execution policy(执行模式)。
全部/无 (FOK)
全部/部分 (IOC)
返回
立即执行
+
-
-
根据要求进行表演
+
-
-
根据市场执行
+
+
+
交易所执行
+
+
+
不是这样的,我总是使用限制器,但只使用IOC
已经超过3年了。
自己去看看吧 :)
你不会看到这一点。而在Request for limit类型中可以放置FOK/IOC-类型的事实并不意味着它们属于这种类型。
你不会看到这一点。而且,在FOK/IOC类型的请求限制交易中,并不意味着它们属于这种类型。
看看上面的表格。
FOK在所有模式中都存在。
只是,对于FOK,你需要检查成交量,但这并不是保证订单会执行,因为当
来到交易所,所需的体积可能不在那里(它已经被吃掉了)。
不完全的FOK顺序匹配
当订单 "到达 "交易所时,所需的数量可能没有了(它已经被吃掉了),因此
不完全的FOK顺序匹配
这是一个弯曲的参考。这不适用于限价订单。以上是两种容易检查的情况。你不能复制它们,因为如果它们的价格和目前的一样好,就没有FOK/IOC的限制。
我不是在幻想,我是在告诉你我的订单,这些订单是由EA在真实账户 上下的。
如果你想用你现在的方式来思考,你可以自由地做你想做的事!你可以用你的方式来思考。
我不是在幻想,我是在告诉你我的订单,这些订单是由EA在真实账户 上下的。
如果你想用你现在的方式来思考,你可以自由地做你想做的事!你可以用你的方式来思考。
关于交易、自动交易系统和策略测试的论坛
堡垒。关于执行的问题
fxsaber, 2017.02.22 22:50
你不会看到这一点。
铁的逻辑
对不起,你可能没有注意到,我写的是我用LIMIT订单来填补IOC。
//| Expert set order function |
//+------------------------------------------------------------------+
void SetOrder(const string aSymbol, uint &order_id, const double price, const double volume, const bool buy_sell)
{
MqlTradeRequest request = {0};
MqlTradeResult result = {0};
main_order_ticket = 0;
main_mem_magic = magic_storage + 1;
main_order_symbol = aSymbol;
//---
if(main_mem_magic >= (magic_number + 65530)) main_mem_magic = magic_number;
//--- Fill structure
request.magic = main_mem_magic;
request.symbol = aSymbol;
request.volume = volume;
request.type_filling = ORDER_FILLING_IOC;
request.type_time = ORDER_TIME_DAY;
if(price == 0)
{
request.action = TRADE_ACTION_DEAL;
request.comment = "Рыночный ордер...";
//---
if(buy_sell)
{
request.type = ORDER_TYPE_BUY;
}
else
{
request.type = ORDER_TYPE_SELL;
}
}
else
{
request.action = TRADE_ACTION_PENDING;
request.price = price;
request.comment = "Лимитный ордер...";
//---
if (buy_sell)
{
request.type = ORDER_TYPE_BUY_LIMIT;
}
else
{
request.type = ORDER_TYPE_SELL_LIMIT;
}
}
//--- Send order
if(OrderSendAsync(request, result))
{
if((result.retcode == TRADE_RETCODE_PLACED) || (result.retcode == TRADE_RETCODE_DONE))
{
order_id = result.request_id;
magic_storage = main_mem_magic;
main_state = ORD_MAIN_DO_SET;
main_mem_time = GetMicrosecondCount();
main_start_time = TimeCurrent();
SetTransCount();
}
else
{
order_id = 0;
main_mem_magic = 0;
main_order_symbol = "";
main_state = ORD_NO_STATE;
main_mem_time = 0;
main_start_time = 0;
CheckError(result.retcode, "SetOrder: Ордер не установлен! Причина: ", MAIN_ORDER, main_order_ticket);
}
}
else
{
order_id = 0;
main_mem_magic = 0;
main_order_symbol = "";
main_state = ORD_NO_STATE;
main_mem_time = 0;
main_start_time = 0;
CheckError(result.retcode, "SetOrder: Ордер не отправлен! Причина: ", MAIN_ORDER, main_order_ticket);
}
}
这个代码已经为我工作了3年多。
对不起,你可能没有注意到,我写的是我在使用带有填充IOC的LIMIT订单。
这个代码已经工作了3年多了
关于交易、自动交易系统和策略测试的论坛
堡垒。关于执行的问题
fxsaber, 2017.02.22 22:50
你不会看到这一点。而在Request for limit类型中可以设置FOK/IOC-类型的事实,并不意味着它们是这种类型的。