停止限制

 

你在实际交易中 使用StopLimit

很明显,StopLimit 在测试器中没有充分地发挥作用

在实际交易中使用它有意义吗?有什么优势和劣势?

 
Sergey Chalyshev:

你在实际交易中 使用StopLimit

很明显,StopLimit 在测试器中没有充分地发挥作用

在实际交易中使用它有意义吗?有什么优势和劣势?

测试仪有什么问题?
 
Artyom Trishkin:
测试器有什么问题?

显然,没有人使用它。

订单是以不存在的价格开的。

俚语

一个简单的例子来检查。

//+------------------------------------------------------------------+
//|                                               StopLimit_Test.mq5 |
//+------------------------------------------------------------------+
#include <Trade\Trade.mqh>
CTrade trade;

input int Deviation = 100;
//+------------------------------------------------------------------+
void OnTick()
  {
   MqlTick tick;
   SymbolInfoTick(_Symbol,tick);
   trade.SetTypeFilling(ORDER_FILLING_RETURN);
   double ticksise=SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE);

   if(OrdersTotal()==0)
      trade.OrderOpen(
         _Symbol,                      // символ
         ORDER_TYPE_BUY_STOP_LIMIT,    // тип ордера
         1.0,                          // объем ордера
         tick.ask+Deviation*ticksise,  // цена исполнения
         tick.ask+10*ticksise,         // цена стоплимита
         0,                            // цена stop loss
         0                             // цена take profit
      );
  }
//+------------------------------------------------------------------+
 
Sergey Chalyshev:

显然,没有人使用它。

订单是以不存在的价格开的。

一个简单的例子来检查。

买入止损限价单的工作原理是这样的。

  1. 买入止损单被置于价格之上(交易请求结构 中的价格值=价格+止损单设置距离)。
  2. 当买入止损单触发时,买入限价单被置于价格以下
    (在交易请求结构中的止损价格,应正确计算:止损=价格-止损订单设置距离)
  3. 当买入限价单触发时,将以买入限价单的价格入市。

例子。


 
Artyom Trishkin:

买入止损限价单是这样工作的。

  1. 我们设置一个高于价格的订单BuyStop(交易请求结构 中的价格值=价格+止损订单设置距离)。
  2. 当BuyStop被触发时,一个BuyLimit订单被放置在价格以下
    (在交易请求结构中的止损价格,应正确计算:止损=价格-止损订单设置距离)
  3. 当买入限价单触发时,将以买入限价单的价格入市。

例子。


BuyLimit低于价格时,它在测试器中工作正常

BuyLimit高于价格时,它应该以Ask价格开盘 在交易所,在现实中,它是这样工作的。

使用StopLimit将BuyLimit 设置在价格以下是没有意义的

 
Sergey Chalyshev:

BuyLimit低于价格时,它在测试器中工作正常

BuyLimit高于价格时,它应该以Ask价格开盘 在交易所,在现实中,它是这样工作的。

使用StopLimit把BuyLimit放在价格以下是没有意义的

场地

描述

行动

贸易业务的类型。值可以是 ENUM_TRADE_REQUEST_ACTIONS举中的一个值

魔术

专家顾问的标识符。允许安排交易订单的分析处理。在发送交易请求时,每个专家顾问可以显示自己的唯一标识符。

秩序

订票。修改待处理订单时需要

标志

下订单的符号名称。修改订单和平仓时不需要。

卷宗

要求的交易量以手为单位。开仓时的实际成交量值将取决于 被执行的订单类型

价格

订单应该被执行时的价格。对于具有 "市场执行 "类型(SYMBOL_TRADE_EXECUTION_MARKET )和TRADE_ACTION_DEAL类型的市场订单 不需要提供价格

停止限制

一旦价格达到该价格值, 待定的限价订单将被置于该价格上(该条件是强制性的)。在这之前,挂单不会被放在交易系统中。

俚语

当证券价格向不利的方向移动时,将触发止损单的价格。

tp

在有利方向的价格运动中触发的获利订单的价格。

偏差

可接受的与要求价格的最大偏差, 以点为单位设定

类型

订单类型。该值可以是 枚举ENUM_ORDER_TYPE的一个值

Type_filling

要执行的订单类型。值 可以是ENUM_ORDER_TYPE_FILLING 中的一个值

type_time

订单类型_填充时间。值 可以是ENUM_ORDER_TYPE_TIME 中的一个值

到期

挂单的到期时间(对于 ORDER_TIME_SPECIFIED订单 )。

评论

对该命令的评论

位置

定位的门票。当一个职位被改变和关闭时,应该填写这个表格,以清楚地确定它。这通常与导致开仓的订单的票据相吻合。

位置_by

一张反击的票。在关闭反仓时使用--为同一仪器打开,但方向相反。


我希望你知道什么是限价单。也有止损单,我希望你不要有任何怀疑。

这里说的是止损限价单的作用当价格达到止损单的水平时(而且是放在买入的价格之上),才会下限价单(而且是放在买入的价格之下)。

 
Sergey Chalyshev:

BuyLimit低于价格时,它在测试器中工作正常

BuyLimit高于价格时,它应该以Ask价格开盘 在交易所,在现实中,它是这样工作的

使用StopLimit把BuyLimit放在价格以下是没有意义的

对不起,你怎么把买入限价单 放在价格之上

在这种情况下,它根本不应该被设置。

如果你使用的是SB交易类,有一个检查错误参数的功能,在这种情况下挂单 不会被放置,但会打开一个市场订单。

 
Artyom Trishkin:

场地

描述

行动

贸易业务的类型。值可以是 ENUM_TRADE_REQUEST_ACTIONS的一个 枚举值

魔术

专家顾问的标识符。允许组织交易订单的分析处理。在发送交易请求时,每个专家顾问可以显示自己的唯一标识符。

秩序

订票。修改待处理订单时需要

标志

下订单的符号名称。修改订单和平仓时不需要。

卷宗

要求的交易量以手为单位。开仓时的实际成交量值将取决于 被执行的订单类型

价格

这是该订单应被执行的价格。对于具有 TRADE_ACTION_DEAL 类型的"市场执行 "类型(SYMBOL_TRADE_EXECUTION_MARKET )的市场订单不需要价格

停止限制

一旦价格达到该价格值, 待定的限价订单将被置于该价格上(该条件是强制性的)。在这之前,挂单不会被放在交易系统中。

俚语

当证券价格向不利的方向移动时,将触发止损单的价格。

tp

在有利方向的价格运动中触发的获利订单的价格。

偏差

可接受的与要求价格的最大偏差, 以点为单位设定

类型

订单类型。该值可以是 枚举ENUM_ORDER_TYPE的一个值

Type_filling

要执行的订单类型。值 可以是ENUM_ORDER_TYPE_FILLING 中的一个值

type_time

订单类型_填充时间。值 可以是ENUM_ORDER_TYPE_TIME 中的一个值

到期

挂单的到期时间(对于 ORDER_TIME_SPECIFIED订单 )。

评论

对该命令的评论

位置

定位的门票。当一个职位被改变和关闭时,应该填写这个表格,以清楚地确定它。这通常与导致开仓的订单的票据相吻合。

位置_by

一张反击的票。它是在用反仓位平仓时使用的,反仓位是为同一工具开的,但方向相反。


我希望你知道什么是限价单。也有止损单,我希望你不要有任何疑虑。

这就是这里所说的StopLimit订单的工作原理当价格达到Stop订单水平时(并且它被置于买入价格之上),只有在这种情况下,才会放置Limit订单 (并且它被置于买入价格之下)

是什么让你认为BuyLimit订单一定要低于价格?

我说的是股票市场,外汇并不有趣。

 
Artyom Trishkin:

对不起,你在做什么,把买入限价单 设置在价格之上

在这种情况下,根本就不应该设置。

如果您使用的是SB-交易类,它有一个检查无效参数的功能,在这种情况下挂单 不会被打开,而是由市场订单打开。

我在上面给了你一个代码的例子。

它应该被设定,而且已经被设定。

如果它是由市场打开的,在测试器中就没有问题;它将由问价打开。但它会以一个不存在的价格打开,你可以在上面的图片上看到它。

p.s. 你自己在交换账户中试试上述代码吧
 
标准库中 的 "真棒 "stoplimit,没话说:)
限价应该设置市价订单的滑点,而不是限价订单的设置:))
 
Roman:
标准库中"令人敬畏 "的stoplimit,无话可说 :))
限价应该设置市场订单的滑点,而不是限价订单的设置:))

滑点是由交易请求中的偏差参数设定的。

而止损水平是指相对于止损水平而言,限价订单所设定的水平。

Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Взаимодействие клиентского терминала и торгового сервера для проведения операций постановки ордеров производится посредством торговых запросов. Запрос представлен специальной предопределенной структурой MqlTradeRequest, которая содержит все поля, необходимые для заключения торговых сделок. Результат обработки запроса представлен структурой...