股票市场。股票。交易订单的执行速度。 - 页 14

 
Dmitriy Skub #:
这是在管理费用方面。但在套利方面呢?

当然,在成本方面。

你将为做空股票而付出代价

 
Dmitriy Skub #:
这是在管理费用方面。那么在套利方面呢?

经典的套利,是。

买入(绝非卖出)股票并同时卖出股票规模的期货。

exp_data.fut_equity = long(exp_data.fut_contr * exp_data.fut_contr_size);

exp_data.spot_equity = long(exp_data.spot_lot * exp_data.spot_lot_size);
exp_data.fut_equity = exp_data.spot_equity


如果你做空一只股票,Opener将以每年23%的速度打开仪表。
 

但我想知道,如果在股票结构中,request.action =TRADE_ACTION_PENDING;被request.action = TRADE_ACTION_DEAL取代,会发生什么。


ulong SpotSetOrder(const long vol, const double price, const ulong magic, const int dir)
{
  MqlTradeRequest request = {}; 
  MqlTradeResult  result = {};
//--- Fill structure
  request.magic = magic;
  request.symbol = Symbol();
  request.volume = double(vol); 
  request.type_filling = ORDER_FILLING_RETURN;
  request.type_time = ORDER_TIME_DAY;
  request.action = TRADE_ACTION_PENDING;
  request.price = price;
  request.comment = "Отложенный ордер";
  if (dir == BUY) request.type = ORDER_TYPE_BUY_LIMIT;
   else
  if (dir == SELL) request.type = ORDER_TYPE_SELL_LIMIT;
   else return(0);
  if(OrderSend(request, result) == true)
  {
    if((result.retcode == TRADE_RETCODE_PLACED) || (result.retcode == TRADE_RETCODE_DONE))
    {
      return(result.order);
    }
    else Print("Ордер не размешен на Бирже!");
  }
  else Print("Ордер не отправлен!");
  return(0);
}


订单的执行速度 是否会加快

 
prostotrader TRADE_ACTION_PENDING;被request.action = TRADE_ACTION_DEAL取代,会发生什么。



订单的执行速度 是否会加快

如果你从市场上指定当前的价格,它不会更快。但可能会出现滑坡。不管怎么说,我在演示的开放者上观察到了它。

 
Alexey Viktorov #:

如果你从市场上引用当前的价格,我认为它不会再快了。但是滑坡可能发生。至少,我在演示模式中观察到它。

TRADE_ACTION_PENDING - 设置一个交易指令,以便在指定条件下执行交易(挂单 )。

TRADE_ACTION_DEAL - 设置一个交易指令,在指定的参数下立即 执行交易(下一个市场指令)。

看来TRADE_ACTION_DEAL订单的执行速度应该更快

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Типы торговых операций - Торговые константы - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
prostotrader #:

TRADE_ACTION_PENDING - 下达交易指令, 在指定条件下 执行 交易(挂单 )。

TRADE_ACTION_DEAL - 设置一个交易指令,以便立即 执行具有指定参数的交易(投放市场指令)。

看来TRADE_ACTION_DEAL订单的执行速度应该更快

没有命令是没有办法的。立即执行意味着只按当前价格执行。后来, 我们可以通过位置ID得到一个订单列表,但属性不会是全部。我现在不记得还缺什么,但肯定不是订单的价格。

在这里,我们在演示上有一个待定头寸。这个代码

/********************Script program start function*******************/
void OnStart()
 {
  int posTotal = PositionsTotal();
  ulong posTicket = PositionGetTicket(0);
  long posID = PositionGetInteger(POSITION_IDENTIFIER);
  HistorySelectByPosition(posID);
  int ordTotal = HistoryOrdersTotal();
  for(int i = 0; i < ordTotal; i++)
   {
    ulong ordTicket = HistoryOrderGetTicket(i);
    Print("тикет ордера ", ordTicket,
          " время ", (datetime)HistoryOrderGetInteger(ordTicket, ORDER_TIME_SETUP), 
          " цена ", HistoryOrderGetDouble(ordTicket, ORDER_PRICE_OPEN),
          " установлен ", EnumToString((ENUM_ORDER_REASON)HistoryOrderGetInteger(ordTicket, ORDER_REASON)));
   }
 }/*******************************************************************/

结果

2022.04.08 09:30:28.996 !00 (EURUSD,M1) тикет ордера 178273170 время 2022.03.21 18:28:09 цена 0.0 установлен ORDER_REASON_EXPERT

这不是外汇...


已添加。

嗯,是的,我想我没有直接得到它...。

在这种情况下,你必须明白,如果你把一个等于市场窗口中最佳价格的价格放入挂单,就相当于设置了一个市场订单。

 
Alexey Viktorov #:

在这种情况下,应该理解,如果你把价格等同于市场上的最佳价格,就相当于下了一个市场订单。

这是在市场上有足够数量的情况下。

 
JRandomTrader #:

这是在杯子里有足够体积的情况下。

这一切都必须在现实生活中进行检查。可能,如果在最好的价格上没有足够的量,就会从下一个加入。

但如果我们谈论的是专家顾问的工作,没有什么能阻止我们提出这样的条件:如果在最佳价格上没有足够的成交量,我们可以打开当前的成交量,然后用剩余的成交量打开下一个最佳价格。你可以在do while循环中随意做这个动作,次数不限。

 
Alexey Viktorov #:

这一切都必须在现实生活中进行检查。如果在最佳价格上没有足够的成交量,很可能会增加下一个最佳价格。

但如果我们谈论的是专家顾问的工作,没有什么能阻止我们规定,如果我们在最佳价格上没有足够的成交量,那么就打开当前的成交量,然后用剩余的成交量重新打开下一个最佳价格。你可以在do while循环中随意做几次。

在容量不足的情况下,取决于灌装的类型--对于RETURN来说,剩余部分的极限将被设置在杯子里。

顺便说一下,如果我们下一个带RETURN、TRADE_ACTION_DEAL和零价格的市场订单,那么我们可以看到另一个带TRADE_ACTION_PENDING和价格的交易TRADE_TRANSACTION_REQUEST。

关于横杆上的环状物--这只对低液态的起作用,否则速度就不够了。我写了一个有速度挤压的黄牛,有异步发送,避免繁重的操作,用字符串工作,尽量不访问历史。但是,以我10-12毫秒的ping值,它仍然无法跟上玻璃的速度。

 

看起来很奇怪,但用TRADE_ACTION_DEAL 工作起来要快很多倍,只不过 价格总是要好一些。

尽管它被设置为杯中的最大(最小)。