搜档网
当前位置:搜档网 › 实体与集合

实体与集合

实体与集合
实体与集合

自定义实体与集合

宜宾职业技术学院黄明清

摘要:在应用程序逻辑或者业务规则复杂的站点中,使用非类型化的DataSet可能并非数据操作的最佳解决方案。为使应用程序的代码变得更加简洁和可读,本文将探讨DataSet的一种替代解决方案,即:自定义实体与集合

1 引言

在Web应用程序设计中,ADODB.RecordSet和MoveNext的时代已经过去,取而代之的是 Microsoft https://www.sodocs.net/doc/e018247237.html, 强大而又灵活的功能。.NET中的System.Data名称空间为我们提供了速度极快的DataReader和功能丰富的DataSet,而且打包在一个面向对象的强大模型中。其实,任何三层体系结构都依靠可靠的数据访问层 (DAL) 将数据层与业务层完美地连接起来。高质量的 DAL 有助于改善代码的重新使用,它是获得高性能的关键,而且是完全透明的。

DataReader和DataSet让我们认识了断开连接的数据,这种数据对我们开发应用程序的方式产生了深刻的影响。对DataReader(其行为与RecordSet非常类似)的熟悉和应用,我们进一步开发出DataAdapter、DataSet、DataTable和DataView。正是在开发这些新对象的过程中不断得到磨炼的技能改变了我们的开发方式。断开连接的数据使我们可以利用新的缓存技术,从而大大提高了应用程序的性能。这些类的功能使我们能够编写出更智能、更强大的函数,同时还能减少(有时候甚至是大大减少)常见活动所需的代码数量。

在应用程序开发中,有些情况下非常适合使用DataSet,例如在设计原型、开发小型系统和支持实用程序时。但是,在企业系统中使用DataSet可能并不是最佳的解决方案,因为对企业系统来说,易于维护要比投入市场的时间更重要。因此,本文的目的就是探讨一种适合处理此类工作的DataSet的替代解决方案,即:自定义实体与集合。

2 DataSet 存在的问题

2.1 DataSet缺少抽象

寻找替代解决方案的第一个原因就是DataSet无法从数据库结构中提取代码。DataAdapter可以很好地使您的代码独立于基础数据库供应商(Microsoft、Oracle、IBM 等),但不能抽象出数据库的核心组件:表、列和关系。这些核心数据库组件也是DataSet 的核心组件。DataSet和数据库不仅共享通用组件,不幸的是,它们还共享架构。假定有下面这样一个 Select 语句:

SELECT UserId, FirstName, LastName

FROM Users

我们知道这些值可以从DataSet 中的UserId、FirstName 和LastName 这些DataColumn 中获得。

在常用的方法中,数据被包装到一个DataSet中,并且传递到显示层中。如:

public DataSet GetAllUsers() {

SqlConnection connection = new SqlConnection(CONNECTION_STRING);

SqlCommand command = new SqlCommand("GetUsers", connection);

https://www.sodocs.net/doc/e018247237.html,mandType = CommandType.StoredProcedure;

SqlDataAdapter da = new SqlDataAdapter(command);

try {

DataSet ds = new DataSet();

da.Fill(ds);

return ds;

}

finally {

connection.Dispose();

command.Dispose();

da.Dispose();

}

}

然后我们有一个页面,它使用重复器显示所有用户:

<%# DataBinder.Eval(Container.DataItem, "FirstName") %>


正如我们所看到的那样,我们的 ASPX 页面已经引用了数据库中的实现细节,也就是说我们有了名为FirstName的字段。这意味着,如果由于某种原因导致数据库架构发生变化,变化就会一直影响 ASPX,即我们可能花费大量时间来改变使用了该数据库的所有Web表单。

DataSet 无法提供适当抽象的另一个原因是它要求开发人员必须了解基础架构。我们所说的不是基础知识,而是关于列名称、类型和关系的所有知识。去掉这个要求不仅使您的代码不像我们看到的那样容易中断,还使代码更易于编写和维护。简单地说:Convert.ToInt32(ds.Tables[0].Rows[i]["userId"]);

不仅难于阅读,而且需要非常熟悉列名称及其类型。理想情况下,您的业务层不需要知道有关基础数据库、数据库架构或 SQL 的任何内容。如果您像上述代码字符串中那样使用DataSet(使用 CodeBehind 并不会有任何改善),您的业务层可能会很薄。

2.2 DataSet 属于弱类型

DataSet 属于弱类型,因此容易出错,还可能会影响您的开发工作。这意味着无论何时从 DataSet 中检索值,值都以 System.Object 的形式返回,您需要对这种值进行转换。您面临转换可能会失败的风险。不幸的是,失败不是在编译时发生,而是在运行时发生。另外,在处理弱类型的对象时,Microsoft Visual https://www.sodocs.net/doc/e018247237.html, (https://www.sodocs.net/doc/e018247237.html,) 等工具对您的开发人员并没有太大的帮助。前面我们说过需要深入了解构架的知识,就是指这个意思。我们再来看一个非常常见的示例:

int userId = Convert.ToInt32(ds.Tables[0].Rows[0]("UserId"));

这段代码显示了从DataSet中检索值的可能方法——可能您的代码中到处都需要检索值。不幸的是,这种类型的代码中可能会产生大量的运行时错误。

2.3 非面向对象

DataSet是对象,而 C# 和 Visual Basic .NET 是面向对象 (OO) 的语言,但是,我们不能以面向对象的方式使用DataSet。OO 编程的“hello world”是一个典型的Person 类,该类又是Employee的子类。但DataSet并没有使此类继承或其他大多数 OO 技术成为可能(或者至少使它们变得自然/直观)。

DataSet使数据之间保持一种关系,使它们更强大并且能够在关系数据库中方便地使用。不幸的是,这意味着您将失去 OO 的所有优点。

因为DataSet不能作为域对象,所以无法向它们添加功能。通常情况下,对象具有字段、属性和方法,它们的行为针对的是类的实例。

例如,您可能会将 Promote 或 CalcuateOvertimePay 函数与 User 对象相关联,该对象可以通过 someUser.Promote() 或 someUser.CalculateOverTimePay() 安全地调用。因为无法向 DataSet 添加方法,所以您需要使用实用程序功能来处理弱类型对象,并且在整个代码中包含硬编码值的更多实例。您一般会以过程代码结束,在过程代码中,您要么不断地从 DataSet 中获取数据,要么以繁琐的方式将它们存储在本地变量中并向其他位置传递。两种方法都有缺点,而且都没有任何优点。

3 自定义实体类

实际上,与DataSet有关的大多数问题都可以利用 OO 编程的丰富功能在定义明确的业务层中解决。我们希望获得按照关系组织的数据(数据库),并将数据作为对象(代码)使用。这个概念就是,不是获得保存汽车信息的DataTable,而是获得汽车对象(称为自定义实体或域对象)。

在了解自定义实体之前,让我们首先看一看我们将要面临的挑战。最明显的挑战就是所需代码的数量。我们不是简单地获取数据并自动填充DataSet,而是获取数据并手动将数据映射到自定义实体(必须先创建好)。由于这是一项重复性的任务,我们可以使用代码生成

工具或 O/R 映射器来减轻工作量。更大的问题是将数据从关系世界映射到对象世界的具体过程。对于简单的系统,映射通常是直接的,但是随着复杂性的增加,这两个世界之间的差异就会产生问题。例如,继承在对象世界中是获得代码重新使用以及可维护性的重要技术。但是,继承对关系数据库来说却是一个陌生的概念。另外一个例子就是处理关系的方式不同:对象世界依靠维护单个对象的引用,而关系世界则是利用外键。

因为代码的数量以及关系数据和对象之间的差异不断增加,看起来这个方法并不太适合更复杂的系统,但事实正好相反。通过将各种问题隔离到一个层中,即映射过程(同样可以自动化),复杂的系统也可以从此方法获益。另外,此方法已经很常用,这意味着可以通过几种已有的设计模式彻底解决增加的复杂性。前面讨论的DataSet的缺点在复杂系统中将成倍扩大,最后您会得出这样一个系统,它欠缺灵活应变能力的缺点恰好超出其构建的难度。

3.1 什么是自定义实体?

自定义实体是代表业务域的对象,因此,它们是业务层的基础。如果您有一个用户身份验证组件,您就可能具有User和Role对象。电子商务系统可能具有Supplier和Merchandise对象,而房地产公司则可能具有House、Room和Address对象。在您的代码中,自定义实体只是一些类(实体和“类”之间具有非常密切的关系,就像在 OO 编程中使用的那样)。如我们在数据库中建立了一个数据表:

图1:kctab数据视图

一个kcdata类如下所示:

using System;

using System.Data;

public class kclist

{

private int _kcid;

private string _kcname;

private string _kctype;

private string _kcteacher;

private string _kcleve;

private DateTime _kctime;

private string _kcurl;

private string _kctext;

public kclist()

{

}

public kclist(int kcid, string kcname, string kctype, string kcteacher, string kcleve, DateTime kctime, string kcurl, string kctext)

{

this._kcid = kcid;

this._kcname = kcname;

this._kctype = kctype;

this._kcteacher = kcteacher;

this._kcleve = kcleve;

this._kctime = kctime;

this._kcurl = kcurl;

this._kctext = kctext;

}

public int Kcid

{

set { _kcid = value; }

get { return _kcid; }

}

public string Kcname

{

set { _kcname = value; }

get { return _kcname; }

}

public string Kctype

{

set { _kctype = value; }

get { return _kctype; }

}

public string Kcteacher

{

set { _kcteacher = value; }

get { return _kcteacher; }

}

public string Kcleve

{

set { _kcleve = value; }

get { return _kcleve; }

}

public DateTime Kctime

{

set { _kctime = value; }

get { return _kctime; }

}

public string Kcurl

{

set { _kcurl = value; }

get { return _kcurl; }

}

public string Kctext

{

set { _kctext = value; }

get { return _kctext; }

}

}

使用自定义实体获得的主要好处来自这样一个简单的事实,即它们是完全受您控制的对象。具体而言,它们允许您:

●利用继承和封装等 OO 技术。

●添加自定义行为。

我们的kclist 类可以通过为其添加FillData 函数而受益(我们可能会使用外部/实用程序函数对数据集执行此类操作,但会影响可读性/维护性)。另外,它们属于强类型,这表示我们可以获得IntelliSense 支持:

图 2:User 类的 IntelliSense

最后,因为自定义实体为强类型,所以不太需要进行容易出错的强制转换。

3.2 对象关系映射

正如前文所讨论的那样,此方法的主要挑战之一就是处理关系数据和对象之间的差异。因为我们的数据始终存储在关系数据库中,所以我们只能在这两个世界之间架起一座桥梁。

从一个关系架构映射到自定义实体是一个非常简单的事情。我们仍然按照通常的方式设置连接和命令对象,接着创建了kclist类的一个新实例并从DataReader中填充该实例。

您仍然可以在此函数中使用DataSet并将其映射到您的自定义实体。如前所述,DataSet 的问题之一是它们是弱类型,这导致效率降低并增加了出现运行时错误的可能性。

关于此类数据访问和映射函数的归属问题存在一些争论,即究竟是作为独立类的一部分,还是作为适当自定义实体的一部分。将所有相关的任务(获取数据、更新和映射)都作为自定义实体的一部分当然很不错。随着系统复杂性的增加,这两个世界的差异开始显现出来,将数据层和业务层明确分离对简化维护有很大的帮助。

4 自定义集合

到目前为止,我们只了解了如何处理单个实体,但您经常需要处理多个对象。当然,一个简单的解决方案是将多个值存储在一个一般的集合(例如Arraylist)中。这并非最理想的解决方案,因为它又产生了与DataSet 有关的一些问题,即:

●它们不是强类型。

●无法添加自定义行为。

最能满足我们需求的解决方案是创建我们自己的自定义集合。为此Microsoft .NET Framework 提供了一个专门为了此目的而继承的类:CollectionBase。CollectionBase的工作原理是,将所有类型的对象都存储在专有Arraylist中,但是通过只接受特定类型(例如kclist对象)的方法来提供对这些专有集合的访问。也就是说,将弱类型代码封装在强类型的 API 中。

虽然自定义集合可能看起来有很多代码,但大多数都可以由代码生成功能或通过剪切和粘贴方便地完成,并且通常只需要一次搜索和替换即可。让我们看一看构成kclist类的自定义集合的不同部分:

using System;

using System.Data;

using System.Collections;

public class kclistCollection:CollectionBase

{

public kclist this[int index]

{

get { return (kclist)List[index]; }

set { List[index] = value; }

}

public kclist FindkcById(int kcid)

{

foreach (kclist kc in List)

{

if (kc.Kcid == kcid)

{

return kc;

}

}

return null;

}

public int Add(kclist value)

{

return (List.Add(value));

}

public int IndexOf(kclist value)

{

return (List.IndexOf(value));

}

public void Insert(int index, kclist value)

{

List.Insert(index, value);

}

public void Remove(kclist value)

{

List.Remove(value);

}

public bool Contains(kclist value)

{

return (List.Contains(value));

}

}

通过实现CollectionBase可以完成更多任务,但上面的代码代表了自定义集合所需的核心功能。观察一下Add函数,可以看出我们只是简单地将对List.Add(它是一个Arraylist)的调用封装到仅允许kclist对象的函数中。

4.1 映射自定义集合

将我们的关系数据映射到自定义集合的过程与我们对自定义实体执行的过程非常相似。我们不再创建一个实体并将其返回,而是将该实体添加到集合中并循环到下一个:public kclistCollection GetAllkc()

{

kclistCollection kcdata = new kclistCollection();

SqlConnection conn = new SqlConnection();

conn.ConnectionString = "Data Source=HMQ;Initial

Catalog=yb_Jpkc;Integrated Security=True";

SqlCommand com = new SqlCommand("select * from kctab",conn);

SqlDataReader dr = null;

try

{

conn.Open();

dr = com.ExecuteReader(CommandBehavior.SingleResult);

while (dr.Read())

{

kcdata.Add(Fillkc(dr));

}

return kcdata;

}

finally

{

if (dr != null)

{

dr.Close();

}

}

conn.Dispose();

com.Dispose();

}

我们从数据库中获得数据、创建自定义集合,然后通过在结果中循环来创建每个kclist 对象并将其添加到集合中。同样要注意Fillkc映射函数是如何重新使用的。

public kclist Fillkc(IDataReader dr)

{

kclist kc = new kclist();

kc.Kcid = Convert.ToInt32(dr["Kcid"]);

if(dr["Kcname"]!=DBNull.Value )

{

kc.Kcname=Convert .ToString (dr["Kcname"]);

}

if (dr["Kctype"] != DBNull.Value)

{

kc.Kctype = Convert.ToString(dr["Kctype"]);

}

if (dr["Kcteacher"] != DBNull.Value)

{

kc.Kcteacher = Convert.ToString(dr["Kcteacher"]);

}

if (dr["Kcleve"] != DBNull.Value)

{

kc.Kcleve = Convert.ToString(dr["Kcleve"]);

}

if (dr["Kcname"] != DBNull.Value)

{

kc.Kctime = Convert.ToDateTime(dr["Kctime"]);

}

if (dr["Kcurl"] != DBNull.Value)

{

kc.Kcurl = Convert.ToString(dr["Kcurl"]);

}

if (dr["Kctext"] != DBNull.Value)

{

kc.Kctext = Convert.ToString(dr["Kctext"]);

}

return kc;

}

4.2 添加自定义行为

在讨论自定义实体时,我们只是泛泛地提到可以将自定义行为添加到类中。您向实体中添加的功能类型很大程度上取决于您要实现的业务逻辑的类型,但您可能希望在自定义集合中实现某些常见的功能。一个示例就是返回一个基于某个键的实体,例如基于kcId的:public kclist FindkcById(int kcId)

{

foreach (kclist kc in List)

{

if (kc.KcId == kcId)

{

return kc;

}

}

return null;

}

4.3 绑定自定义集合

我们能很容易地将DataSet绑定到 https://www.sodocs.net/doc/e018247237.html, 控件。考虑到它很普通,自定义集合绑定到 https://www.sodocs.net/doc/e018247237.html, 控件同样很简单(这是因为CollectionBase实现了用于绑定的Ilist)。自定义集合可以作为任何控件的DataSource,而DataBinder.Eval只能像您使用DataSet 那样使用:

Default.aspx.cs

public partial class_Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e) {

kclistCollection kcs = new kclistCollection();

kcdata kcd = new kcdata();

try

{

kcs = kcd.GetAllkc();

}

catch

{

}

DataList1.DataSource = kcs;

DataList1.DataBind();

}

}

Default.aspx(片断)

NavigateUrl='<%# DataBinder.Eval(Container.DataItem,"Kcurl") %>'

Text='<%# DataBinder.Eval(Container.DataItem,"Kcname") %>'>

Text='<%# DataBinder.Eval(Container.DataItem,"Kcteacher")%>'>

Text='<%# DataBinder.Eval(Container.DataItem,"Kcleve") %>'>

Text='<%# DataBinder.Eval(Container.DataItem,"Kctime","{0:d}") %>'>

小结

本文的目的是介绍自定义实体与集合的概念及使用。使用自定义实体是业界广泛采用的做法,因此,也就产生了同样多的模式以处理各种情况。设计模式具有优势的原因有很多。首先,在处理具体的情况时,您可能不是第一次碰到某个给定的问题。设计模式使您可以重

新使用给定问题的已经尝试和测试的过解决方案(虽然设计模式并不意味着全盘照抄,但它们几乎总是能够为解决方案提供一个可靠的基础)。相应地,这使您对系统随着复杂性增加而进行缩放的能力充满了信心,不仅因为它是一个广泛使用的方法,还因为它具有详尽的记录。设计模式还为您提供了一个通用的词汇表,使知识的传播和传授更容易实现。

参考文献:

1.掌握https://www.sodocs.net/doc/e018247237.html, 之路:自定义实体类简介,作者:Karl Seguin,出处:Microsoft

2.《https://www.sodocs.net/doc/e018247237.html, 2.0网络应用开发核心技术》,[美]Randy Connolly ,机械工业出版社

附:示例源代码文件结构:

开发环境:Microsoft Visual Studio 2005 + Microsoft SQL Server 2000

集合竞价买入技巧 很多股民习惯在9:30分准时打开行情软件,开始一天的操作,殊不知,真正的较量,在9:15、甚至更早前就已经开始了。集合竞价里究竟隐藏了哪些秘密 方法/步骤 1、先来说说集合竞价是怎么产生的 价格优先时间优先 NO!是“最大成交量”优先。也就是说开盘前买卖双方都在挂单,挂10元买和卖的人有100个,挂元买和卖的人有1000个,那么,咣!开盘价就是元。此时,高于元买入委托全部成交,低于元卖出委托全部成交。如果挂10元买的人100个,挂10元卖的人10000个呢那成交价还是元。因为在10元这个价格还是只能撮合100个成交,而元有1000个。与成交价相同的买卖双方中有一方委托全部满足。如果元、10元、元能成交的数量都一样呢沪市取这几个价格的中间价格为成交价,深市则取离前一交易日收盘价最近的价格为成交价格。 2、接下来我们说说集合竞价的规则 . 简单来说,交易所是这样:

9:15-9:20可以挂单也可以撤单 . 9:20-9:25只能挂单,不能撤单 . 9:25-9:30不能挂单也不能撤单 . 9:25-9:30不能挂单也不能撤单,指的是交易所对证券公司,在这5分钟里,股民可以正常下单,但只是暂存在券商的系统里,9:30才提交到交易所,路径是这样的:股民(9:25-9:30下单)——证券公司(暂存)——交易所(9:30接收) . . 3、既然9:25-9:30的单都存在券商那,那我在9:25挂单买,9:30之前撤单了,应该就不会买入了吧 . 未必。你买单在前,撤单在后,如果9:30分交易所接收数据时,买单成交了的话,撤单是无效的。请看下面这张交割明细表: .

集合竞价期间的交易规则 集合竞价期间的交易规则与正常开市时间有很大的区别,有许多庄家和机构就喜欢用集合竞价时间来欺骗散户,也有些高手能通过集合竞价期间的交易情况来看穿庄家的骗局,所以,还是有必要仔细研究集合竞价的规则的。 规则如下: 1、9:15----9:20这五分钟开放式集合竞价可以委托买进和卖出的单子,你看到的匹配成交量可能是虚假的,因这5分钟是可以撤单,很多主力在这个时候撤单,当你买进时,你不撤单,他可撤出,然后他卖给你,因此你一定要把撤单键放在手上。 2、9:20---9:25这五分钟开放式集合竞价可以输委托买进和卖出的单子,但不能撤单,有的投资者认为他己撤单就完事了,事实上这五分钟撤单是无效的。这五分钟你看到的委托是真实的,因此要抢涨停板的,一定要看准这五分钟,但你不知道这五分钟哪些股票要涨停板,利用按61和63能看到。 3、9:25---9:30这五分钟不叫集合竞价时间,电脑这五分钟可接收买和卖委托,也可接收撤单,这五分钟电脑不处理,如果你进的委托价格估计能成交,那么你的撤单是排在后面来不及的,对于高手而言,这五分钟换股票一定要利用,比如你集合竞价卖出股票后,资金在9:25就可利用,你可在9:26买进另一只股票。 4、深圳股票在收盘14:57---15:00是收盘集合竞价时间,这3分钟不能撤单。 5、深圳停牌一小时的股票可以提前委托,上海停牌一小时的股票不能提前委托,上海交易在10:30准时开门,早一秒就弹回来了返回“废单”,对于连续涨停的股票,如果你要追进,应该在10:29:53----10:29:56输入确认键,因网络速度时快时慢,要几秒钟在路上行走,相反出现重大利空时,你也可跑得快。对于深圳停牌一小时的股票。10:30开盘时,一般10:29分30秒,交易系统就已经打开了。所以如果你想抢先买入一只复牌即涨停的股票,最好在10:29分20秒挂涨停价买入,因为委单要进入证券公司系统再进行转换是需要几秒钟的时间,如果你挂早了传到上或深交所还没到10:29分30秒,交易所就把它当作废单处理,所以一定要把握好。

集合竞价交易规则(带举例说明) 首先要明确集合竞价的作用是产生股票的开盘价。 深、沪证券交易所每个交易日9:15—9:25为集合竞价交易时间,集合竞价期间,电脑自动撮合系统只存储每一笔申报而不撮合。至9:25时,电脑系统将根据已输入的所有买卖申报按集合竞价的规则产生一个开盘价。按照新的交易规则:9:15至9:25,即时行情显示内容包括证券代码、证券简称、前收盘价格、虚拟开盘参考价格、虚拟匹配量和虚拟未匹配量;9:15至9:20可以接收申报,也可以撤销申报,9:20至9:25可以接收申报,但不可以撤销申报。产生这一开盘价的步骤是这样的: 第一步:确定有效委托在有涨跌幅限制的情况下,有效委托是这样确定的:根据该只证券上一交易日收盘价以及确定的涨跌幅度来计算当日的最高限价、最低限价。目前股票、基金的涨跌幅度为10%,其中ST股票价格涨跌幅比例为5% 有效价格范围就是该只证券最高限价、最低限价之间的所有价位。限价超出此范围的委托为无效委托,系统作自动撤单处理。 第二步:集中撮合处理所有的买委托按照委托限价由高到低的顺序排列,限价相同者按照进入系统的时间先后排列;所有卖委托按委托限价由低到高的顺序排列,限价相同者按照进入系统的时间先后排列。 第三步:具体过程举例如下: 设股票A在开盘前分别有6笔买入委托和5笔卖出委托,根据价格优先的原则,按买 其中红色部分表示委托买入,黑色部分表示委托卖出 按不高于申买价和不低于申卖价的原则,首先可成交第一笔,即3.80元买入委托和3.52元的卖出委托,若要同时符合申买者和申卖者的意愿,其成交价格必须是在3.52元与3.80元之间,但具体价格要视以后的成交情况而定。这对委托成交后其它的委托排序如下: 在第一次成交中,由于卖出委托的数量多于买入委托,按交易规则,序号1的买入委托2手全部成交,序号1的卖出委托还剩余3手。 第二笔成交情况:序号2的买入委托价格为不高于3.76元,数量为6手。在卖出委托中,序号1-3的委托的数量正好为6手,其价格意愿也符合要求,正好成交,其成交价格在3.60元-3.76元的范围内,成交数量为6手。应注意的是,第二笔成交价格的范围是在第

集合竞价的规则 (2010-08-17 06:56:18) 转载▼ 深、沪证券交易所每个交易日9:15—9:25为集合竞价交易时间,集合竞价期间,电脑自动撮合系统只存储每一笔申报而不撮合。至9:25时,电脑系统将根据已输入的所有买卖申报按集合竞价的规则产生一个开盘价。 按照新的交易规则:9:15至9:25,即时行情显示内容包括证券代码、证券简称、前收盘价格、虚拟开盘参考价格、虚拟匹配量和虚拟未匹配量;9:15至9:20可以接收申报,也可以撤销申报,9:20至9:25可以接收申报,但不可以撤销申报。 产生这一开盘价的步骤是这样的: 第一步:确定有效委托 在有涨跌幅限制的情况下,有效委托是这样确定的:根据该只证券上一交易日收盘价以及确定的涨跌幅度来计算当日的最高限价、最低限价。目前股票、基金的涨跌幅度为10%,其中ST股票价格涨跌幅比例为5% 有效价格范围就是该只证券最高限价、最低限价之间的所有价位。限价超出此范围的委托为无效委托,系统作自动撤单处理。 第二步:选取成交价位 首先,在有效价格范围内选取使所有委托产生最大成交量的价位。如有两个以上这样的价位,则依以下规则选取成交价位: (1)高于选取价格的所有买委托和低于选取价格的所有卖委托能够全部成交。

(2)与选取价格相同的委托的一方必须全部成交。如满足以上条件的价位仍有多个,则选取离昨市价最近的价位。 第三步:集中撮合处理 所有的买委托按照委托限价由高到低的顺序排列,限价相同者按照进入系统的时间先后排列;所有卖委托按委托限价由低到高的顺序排列,限价相同者按照进入系统的时间先后排列。依序逐笔将排在前面的买委托与卖委托配对成交,即按照“价格优先,同等价格下时间优先”的成交顺序依次成交,直至成交条件不满足为止,即不存在限价高于等于成交价的叫买委托、或不存在限价低于等于成交价的叫卖委托。所有成交都以同一成交价成交。 第四步:行情揭示 (1)如该只证券的成交量为零,则将成交价位揭示为开盘价、最近成交价、最高价、最低价,并揭示出成交量、成交金额。 (2)剩余有效委托中,实际的最高叫买价揭示为叫买揭示价,若最高叫买价不存在,则叫买揭示价揭示为空;实际的最低叫卖价揭示为叫卖揭示价,若最低叫卖价不存在,则叫卖揭示价揭示为空。 -------------------------- 集合竞价规则(简化) 深、沪证券交易所每个交易日9:15—9:25为集合竞价交易时间,集合竞价期间,电脑自动撮合系统只存储每一笔申报而不撮合。至9:25时,电脑系统将根据已输入的所有买卖申报按集合竞价的规则产生一个开盘价。9:15至9:20可以接收申报,也可以撤销申报,9:2

集合竞价是透明的,还是在暗中进行? 股票和期货的108个区别(16):集合竞价的区别 ——股票实行的是开放式集合竞价,而期货实行的是封闭式集合竞价 一、什么叫集合竞价? 在股票和期货的交易中,集合竞价是相对连续竞价而言的。 所谓集合竞价,是指在交易所规定的时间内(股票09:15~09:25,商品期货08:55~08:59,股指期货09:10~09:14),所有投资者的买单或卖单都输入电脑进入报价系统,但交易所并不撮合成交;接下来交易所在撮合成交时间(股票09:25~09:30,商品期货08:59~09:00,股指期货09:14~09:15)按照一定的规则确定撮合成交价和成交量;最后每个股票或期货合约会以交易所撮合的成交价作为开盘价,同时以该价格最大限度撮合可以成交的单子。 一般而言,连续竞价的成交原则为:第一价格优先,第二时间优先。而集合竞价的成交原则为:第一成交量最大优先,第二价格优先,第三时间优先。简单来说,集合竞价是“先报价、后撮合、再成交”,而连续竞价则是“边报价、边撮合、边成交”。 二、股票集合竞价规则解读

举例1:开盘价的形成(集合竞价后撮合成交价的形成) 比如某股票上一个交易日的收盘价为10元,在集合竞价时,报入的申买单、申卖单如下表所示:

根据成交价格的确定原则,10.01元将成为该股当日的开盘价,即集合竞价后所撮合的最终成交价。 从上表中我们看到,9.99元、10元、10.01元、10.02元、10.03元、10.04元这六个价格是买单和卖单共同覆盖的价格,那么为什么最终撮合价是10.01元,而不是9.99元、10元或是10.02元呢? 因为撮合的成交价格要满足三个条件,即(一)可实现最大成交量的价格;(二)高于该价格的买入申报与低于该价格的卖出申报全部成交的价格;(三)与该价格相同的买方或卖方至少有一方全部成交的价格。 10.01元的成交价格,可使买单中高于10.01元的6000股全部成交,卖单中高于10.01元7000股全部成交,10.01元的4000股买单全部成交,10.01元的6000股卖单成交3000股,总成交量为1万股。(低于10.01元的买单和高于10.01元的卖单,以及未成交的3000股10.01元卖单将自动进入开盘后的连续竞价) 如果成交价格为10元,则买单中高于10元的1万股就无法全部成交;如果成交价格为10.02元,则卖单中低于10.02元的13000股就无法全部成交。 举例2:竞合竞价时若出现两个以上可撮合价格,上交所和深交所的不同选择 比如某股票上一个交易日的收盘价为10元,在集合竞价时,报入的申买单、申卖单如下表所示:

集合竞价规则详解 “集合竞价规则”:集合竞价是指在每日的开盘前,即9:15—9:25这十分钟之内,投资者按照自己所能接受的心理价格自由地进行买卖申报,电脑交易主机系统对全部有效委托进行一次集中撮合处理过程。集合竞价规则是指在所谓集合竞价在成交时所遵守的一些原则。只有明白集合竞价规则,才能抓住集合竞价中的优质股票,依据集合竞价规则在集合竞价中选定股票是常见的一种短线操作策略。 2013-02-18 财富创业板 “集合竞价规则”:集合竞价是指在每日的开盘前,即9:15—9:25这十分钟之内,投资者按照自己所能接受的心理价格自由地进行买卖申报,电脑交易主机系统对全部有效委托进行一次集中撮合处理过程。集合竞价规则是指在所谓集合竞价在成交时所遵守的一些原则。只有明白集合竞价规则,才能抓住集合竞价中的优质股票,依据集合竞价规则在集合竞价中选定股票是常见的一种短线操作策略。 一、集合竞价规则:三个原则 集合竞价只有满足以下三个原则,才会形成交易,也就是说这三个原则是集合竞价必须满足的三个条件。 1.可实现最大成交量的价格; 2.高于该价格的买入申报与低于该价格的卖出申报全部成交的价格; 3.与该价格相同的买方或卖方至少有一方全部成交的价格。 两个以上申报价格符合上述条件的,使未成交量最小的申报价格为成交价格;仍有两个以上使未成交量最小的申报价格符合上述条件的,其中间价为成交价格。 二、集合竞价规则:关于挂单和撤单 (一)、停牌期间不允许挂单,但停牌前的挂单可以撤销。 对于停牌一小时的股票,在停牌期间(9:30-10:30)不能挂单也不能撤单。当然也没有集合竞价,集合竞价期间的任何挂单和撤单都是无效的,这就要看十点半时谁的手快,但停牌前的挂单是有效的。 10:30开盘时,一般10:29分30秒,交易系统就已经打开了。所以如果你想抢先买入一只复牌即涨停的股票,最好在10:29分20秒挂涨停价买入,因为委单要进入证券公司系统再进行转换是需要几秒钟的时间,如果你挂早了传到上或深交所还没到10:29分30秒,交易所就把它当作废单处理,所以一定要把握好。 (二)、关于撤单问题

开盘时集合竞价和连续竞价规则 在上海证券交易所和深圳证券交易所,产生股票价格的方式有两种,其一是在开盘时的集合竟价,另外就是开盘后的连续竟价。(注意深交所的收盘价是最后3分钟进行集合竞价产生的) A股集合竞价是采用9:15-9:25把所有单子放一起,等9:25一到价格才会显示出来,也就是开盘价。注:9:15—9:20是可以撤单的,这也就是大家平时在9:20前看到涨停开后为什么到了开盘价就是负的原因。9:20-9:25是不可以撤单的。 我国股票市场竞价的原则:先以“价格优先、时间优先”来排列买卖有效委托,以“不高于买价,不低于卖价”的原则成交。 1、集合竟价 集合竟价是将数笔委托报价或一时段内的全部委托报价集中在一起,根据不高于申买价和不低于申卖价的原则产生一个成交价格,且在这个价格下成交的股票数量最大,并将这个价格作为全部成交委托的交易价格。集合竟价的基本过程如下: 设股票G在开盘前分别有6笔买入委托和5笔卖出委托,根据价格优先的原则,按买入价格由高至低和卖出价格由低至高的顺序将其分别排列如下: 序号委托买入价数量(手)序号委托卖出价 数量(手) 1 3.80 2 1 3.52 5 2 3.76 6 2 3.57 1 3 3.65 4 3 3.60 2 4 3.60 7 4 3.6 5 6 5 3.54 6 5 3.70 6 6 3.45 3 按不高于申买价和不低于申卖价的原则,首先可成交第一笔,即3.80元买入委托和 3.52元的卖出委托,若要同时符合申买者和申卖者的意愿,其成交价格必须是在3.52 元与3.80元之间,但具体价格要视以后的成交情况而定。这对委托成交后其它的委托排序如下: 序号委托买入价数量(手)序号委托卖出价数量(手) 1 1 3.5 2 3 2 3.76 6 2 3.57 1 3 3.65 4 3 3.60 2 4 3.60 7 4 3.6 5 6 5 3.54 6 5 3. 7 6 6 3.45 3

股市集合竞价地规则与技巧 )::这五分钟开放式集合竞价可以委托买进和卖出地单子,你看到地匹配成交量可能是虚假地,因这分钟是可以撤单,很多主力在::左右撤单,当你买进时,你不撤单,他可撤出,然后他卖给你,因此你一定要把撤单键放在手上. )::这五分钟开放式集合竞价可以输委托买进和卖出地单子,但不能撤单,有地投资者认为他己撤单就完事了,事实上这五分钟撤单无效,白白输入地.这五分钟你看到地委托是真实地,因此要抢涨停板地,一定要看准这五分钟,但你不知道这五分钟哪些股票要涨停板,利用按和不能看到,但钱龙和分析家可以按和看到. )::这五分钟不叫集合竞价时间,电脑这五分钟可接收买和卖委托,也可接收撤单,这五分钟电脑不处理,如果你进地委托价格估计能成交,那么你地撤单是排在后面来不及地,对于高手而言,这五分钟换股票一定要利用,比如你集合竞价卖出股票后,资金在:就可利用,你可在:买进另一只股票.还有你要得到新股开盘价,你高价格得开盘价,你高出开盘价地部份在:返回,你又可利用这返回地资金. ):产生地开盘价都是按成交量最大化原则定出地,深圳股票在收盘::是收盘集合竞价时间,这分钟不能撤单,只能输买进和卖出单子,因此深圳收盘价也是集合竞价得来地,而你看到地上海最后一笔只有价格,股数为,这是因为上海收盘价格是按最后一笔倒推分钟地加权平均价算出地,不是集合竞价得来地,在防止操纵收盘价方面不如深交所. )上海新开户当天不能买进股票,因为开户是在登记结算公司,交易是在上交所,两个机构之间数据库不能及时对接,要等晚上清算后接上,因此次日才能买股票,上海股票当天在其它营业部撤销指定交易,在另一个营业部当天可指定,但你地股票在新营业部看不到明细,只能根据你地记忆卖出.深圳股票上一个交易日办理转托管地,第二天可在新营业部卖出. )深圳停牌一小时地股票可以提前委托,上海停牌一小时地股票不能提前委托,上交易在:准时开门,早一秒就弹回来了返回“废单”,对于连续涨停地股票,如果你要追进,应该在::::输入确认键,因网络速度时快时慢,要几秒钟在路上行走,相反出现重大利空时,你也可跑得快. )零股处理,配股可以买进零股,但正常买进时,你只能委托股整数倍,如果你有零股要卖出,如股,你只能一次性出,不能分两次卖零股,债券委托是一手整数倍,即而值元整数倍,新股申购时,中小板是股整数倍,上海新股是股整数倍,新股申购委托后不能撤单,一个申购流程前后五个交易日,如周二申购,下周一解冻. )股票、基金、权证一笔委托数量不能超过万份,特别是权证在末日轮时,几分钱不适合大资金操作. )没涨跌幅限制地股票有:新股上市第一天,股改对价股上市第一天,暂停交易地盈利后恢复交易第一天,新股第一天最高价上海不超过发行价倍,中小板新股第一天最高价不超过发行价倍,股改对价上市第一天虽无涨跌幅限制,但跌幅不超过%

集合竞价抓涨停五大因素 集合竞价时间:9.15—9.25 9.15—9.20是竞价排名时间,这个时间段可以委托和撤单,庄家会利用5分钟诱多,特别 是9.20的前一分钟,因此这个时间的竞价是虚假的。 9.20—9.25是有效排名,这个时间也可以委托但是不可能撤单因此这个时间的价格也为开 盘价。 所以,血狼认为对技术经验和心态最大的考验,就在这短短5分钟的时间来鉴定股票,从9.25---9.30(定股时间 ) 1、总量:键盘敲60,按总量由大到小排名,选出前1-27或1-30的股票。 2、涨幅:涨幅适中,选择涨幅在2%-4%(先从涨幅开始找) 3、换手率:越高越好 当一只股票换手在3%-7%之间,呈活跃状态 7%-10%之间,则强势股出现,股价处于高度活跃状态(广为市场注) 10%-15%以上,大庄密切操作 4、量比:越高越好,5倍以上,10倍以上的也可以考虑,但不能超过15。这样的股票我 们称为常阳股,一般持股不能超过3天。 5、趋势及形态 ①多头排列形态(上涨通道中) ②高开突破阻力位 ③底部发力形态(长期徘徊低位,产生底背离的股票) 二、注意事项 1、经过血狼老张长期的跟踪和操作,上述的集合竞价抓涨停方法的成功率在75-85%左右。 2、涨停过多的少参与,冷门少参与、次新股少参与、ST坚决不参与。 3、强者恒强,跟强不跟弱!注意风险止损止盈控制。 我给你个作业参考吧: 1,每天收盘后,看完全天的所有新闻,信息。至少需要4~6个小时做这个工作。 2,总结当天的主流板块。2小时。 3,分析自己当天交易的得失,总结经验教训。1~2小时。 4,预判明天的大盘走势,可能的热点板块。2~3小时。

1、9:15—-9:20这五分钟开放式集合竞价可以委托买进和卖出的单子,你看到的匹配成交量可能是虚假的,因这5分钟是可以撤单,很多主力在9:19:30左右撤单,当你买进时,你不撤单,他可撤出,然后他卖给你,因此你一定要把撤单键放在手上。 2、 9:20—9:25这五分钟开放式集合竞价可以输委托买进和卖出的单子,但不能撤单,有的投资者认为他己撤单就完事了,事实上这五分钟撤单是无效的。这五分钟你看到的委托是真实的,因此要抢涨停板的,一定要看准这五分钟,但你不知道这五分钟哪些股票要涨停板,利用按61和63能看到。 3、 9:25—9:30这五分钟不叫集合竞价时间,电脑这五分钟可接收买和卖委托,也可接收撤单,这五分钟电脑不处理,如果你进的委托价格估计能成交,那么你的撤单是排在后面来不及的,对于高手而言,这五分钟换股票一定要利用,比如你集合竞价卖出股票后,资金在9:25就可利用,你可在9:26买进另一只股票。 4、深圳股票在收盘14:57—15:00是收盘集合竞价时间,这3分钟不能撤单。 5. 深圳停牌一小时的股票可以提前委托,上海停牌一小时的股票不能提前委托,上海交易在10:30准时开门,早一秒就弹回来了返回“废单”,对于连续涨停的股票,如果你要追进,应该在10:29:53—-10:29:56输入确认键,因网络速度时快时慢,要几秒钟在路上行走,相反出现重大利空时,你也可跑得快。对于深圳停牌一小时的股票。10:30开盘时,一般10:29分30秒,交易系统就已经打开了。所以如果你想抢先买入一只复牌即涨停的股票,最好在10:29分20秒挂涨停价买入,因为委单要进入证券公司系统再进行转换是需要几秒钟的时间,如果你挂早了传到上或深交所还没到10:29分30秒,交易所就把它当作废单处理,所以一定要把握好。 6、9点25分才是集合竞价期间唯一一次真正的成交,所以会显示成交笔数。当然这期间可以挂单,也可以撤单,但9点20到9点25是不能撤单的,集合竞价期间最好不要撤单,成功概率很小,虽然允许撤单,但还有许多其它原因导致撤单不那么容易成功。所以如果你想买入一只股票,你直接挂涨停价买入即可,如果你想卖出一只股票,你直接挂跌停价即可,这样基本都可以买到或抛出,但它的实际成交价格不是你所挂的涨停价或跌停价,而是9 点25分成交的那个价格,也就是开盘价。所有的人成交价格都是同一个价格,这个价格是根据最大成交量撮合出来的,当然如果是以涨停板和跌停板开盘的话,你就不一定可以买到,因为,集合竞价期间,价格第一优先,时间第二优先, 7、 9:15~9:20可以挂单也可以撤单! 9:20~9:25只能挂单,不接受撤单 9:25-9:30不能挂单也不能撤单 所以有些庄在9:15~9:20期间挂大单买入,引诱散户,到了9:20单子被他们偷偷撤了,这种股票很可能会跌,千万不要碰。 8. 集合竞价就是在9:15到9:25卖出或买入自己的股票。但集合竞价并非那么简单,首先如果你卖出股票,必须判断出集合竞价就是最高点,比方说,昨天涨停,今天高开到六,七个点附近,那集合竞价肯定是最高点,即使不是最高点,该股在开盘后肯定回落,毕竟有获利盘涌出,所以你要在集合竞价卖掉股票,然后在低点买入,或者观看,这就要看个股了。如果该股今天被黑嘴股评推荐,明天高开,一个字“出”。管它后面是否阳光灿烂,落袋为安。

9:15----9:20 这五分钟开放式集合竞价可以委托买进和卖出的单子,你看 到的匹配成交量可能是虚假的,因这5分钟是可以撤单,很 多主力在9:19:30左右撤单,当你买进时,你不撤单,他 可撤出,然后他卖给你,因此你一定要把撤单键放在手上。 9:20---9:25 这五分钟开放式集合竞价可以输委托买进和卖出的单子,但 不能撤单,有的投资者认为他己撤单就完事了,事实上这五 分钟撤单无效,白白输入的。这五分钟你看到的委托是真实 的,因此要抢涨停板的,一定要看准这五分钟,但你不知道 这五分钟哪些股票要涨停板,利用按81和83能看到,哪些 股票排序在前20名内,就可以放入考虑范围之内。 9:25---9:30

这五分钟不叫集合竞价时间,电脑这五分钟可接收买和卖委托,也可接收撤单,这五分钟电脑不处理,如果你进的委托价格估计能成交,那么你的撤单是排在后面来不及的,对于高手而言,这五分钟换股票一定要利用,比如你集合竞价卖出股票后,资金在9:25就可利用,你可在9:26买进另一只股票。还有你要得到新股开盘价,你高价格得开盘价,你高出开盘价的部份在9:25返回,你又可利用这返回的资金。9:25产生的开盘价都是按成交量最大化原则定出的,深圳股票在收盘14:57---15:00是收盘集合竞价时间,这3分钟不能撤单,只能输买进和卖出单子,因此深圳收盘价也是集合竞价得来的,而你看到的上海最后一笔只有价格,股数为0,这是因为上海收盘价格是按最后一笔倒推1分钟的加权平均价算出的,不是集合竞价得来的,在防止操纵收盘价方面不如深交所。 深圳停牌一小时的股票可以提前委托,上海停牌一小时的股票不能提前委托,上交易在10:30准时开门,早一秒就弹回来了返回“废单”,对于连续涨停的股票,如果你要追进,应该在10:29:53----10:29:56输入确认键,因网络速度不同,时间上留出一点富裕,相反出现重大利空时,你也可跑得快。

科普一下集合竞价的规则顺便说说其中假单的那些猫腻儿 科普一下集合竞价的规则顺便说说其中假单的那些猫腻儿 原创 2016-05-10 复盘哥团队 每日涨停板复盘 注:本文为复盘哥团队原创—————————————————— 先了解下集合竞价的原则:最大成交量原则。 也就是说,形成开盘价的位置成交量必须是最大的。高于开盘价的买单和低于开盘价的卖单必须全部成交,等于开盘价的买卖单较少的一方必须全部成交。 如果出现几个价格的成交量满足上述条件,上交所取价格的中位数,深交所取接近昨日收盘价的价格作为开盘价。比如上图:从13.00-14.2的价格委托的买单和卖单,要达成在某一个价格形成的成交量最大,从图上不难看出在13.80的价

格能达成的成交量是最大的,41手!而其他的位置都小于41手,比如在13.00的价格最多能成交4手,在14.10的价格最多能成交29手。 这个规则对于接下来你理解,为什么会出现假单,集合竞价的价格为什么会从涨停价或者很高的开盘价跌到平盘甚至绿盘,非常重要。 说一个比较基本的事儿 集合竞价只有一个成交价,因此如果集合竞价阶段,你确定要买一只股票,你就挂涨停价,最后你的成交价是开盘价;如果你确定要卖一只股票,你就挂跌停价,最后的成交价也是开盘价。 深交所4月28号发布公告更改交易规则,从5月9日开始正式实施生效,我们就根据最新的交易规则来讲讲集合竞价中一些小技巧,了解下大资金出货的假单究竟是怎么回事儿。先来看看集合竞价的规则 9:15—9:20:这五分钟是开放式集合竞价,可以委托买进和卖出的单子。这段时间是可以撤单的,因此这个时间段你看到的活跃个股的成交量基本上都是假的,因为很多大单是故意挂的,他们会在9:19:30之后撤单,根据开盘价的最大成交量原则,撤单后成交量最大的价格会被打下来很多。9:20—9:25:这个时间段交易所接受申报,同样可以委托买进和卖出的单子,但是不可以撤单,因此这个时间段你看到的委

集合竞价规则详解 “集合竞价规则” :集合竞价是指在每日的开盘前,即9:15—9:25 这十分钟之内,投资者 按照自己所能接受的心理价格自由地进行买卖申报,电脑交易主机系统对全部有效委托进行一次集中撮合处理过程。集合竞价规则是指在所谓集合竞价在成交时所遵守的一些原则。只有明白集合竞价规则,才能抓住集合竞价中的优质股票,依据集合竞价规则在集合竞价中选定股票是常见的一种短线操作策略。 2013-02-18 财富创业板 “集合竞价规则” :集合竞价是指在每日的开盘前,即9:15—9:25 这十分钟之内,投资者按照自己所能接受的心理价格自由地进行买卖申报,电脑交易主机系统对全部有效委托进行一次集中撮合处理过程。集合竞价规则是指在所谓集合竞价在成交时所遵守的一些原则。只有明白集合竞价规则,才能抓住集合竞价中的优质股票,依据集合竞价规则在集合竞价中选定股票是常见的一种短线操作策略。 一、集合竞价规则:三个原则 集合竞价只有满足以下三个原则,才会形成交易,也就是说这三个原则是集合竞价必须满足的三个条件。 1. 可实现最大成交量的价格; 2. 高于该价格的买入申报与低于该价格的卖出申报全部成交的价格; 3. 与该价格相同的买方或卖方至少有一方全部成交的价格。 两个以上申报价格符合上述条件的,使未成交量最小的申报价格为成交价格;仍有两个 以上使未成交量最小的申报价格符合上述条件的,其中间价为成交价格。 二、集合竞价规则:关于挂单和撤单 (一)、停牌期间不允许挂单,但停牌前的挂单可以撤销。 对于停牌一小时的股票,在停牌期间(9:30-10:30)不能挂单也不能撤单。当然也没有 集合竞价,集合竞价期间的任何挂单和撤单都是无效的,这就要看十点半时谁的手快,但停牌前的挂单是有效的。 10:30开盘时,一般10:29分30秒,交易系统就已经打开了。所以如果你想抢先买入一只复牌即涨停的股票,最好在10:29分20 秒挂涨停价买入,因为委单要进入证券公司系统再进行转换是需要几秒钟的时间,如果你挂早了传到上或深交所还没到10:29 分30秒,交易所就把它当作废单处理,所以一定要把握好。 (二)、关于撤单问题

1集合竞价规则 从研究交易所规则和咨询券商来看,可以在集合竞价9:25分抢首日涨停板新股。 具体操作为,交易员根据发行价直接按照1+44%计算的价格,在客户端提前埋单(时间触发的埋单),在9:25分自动报单到券商,券商柜台在9:25会把此时接到的报单最为连续竞价的报单暂存到主机(具有时间优势),等待9:30连续竞价时,再报到交易所。 1.1开盘集合竞价报单与撤单规则 1.2对于新股首日上市,价格申报规则

非首日上市的新股,集合竞价和连续竞价的涨跌幅限制为±10%。 对于9:25的报单: 从上交所和深交所客服了解到,如果在9:25分报给交易所,交易所是不接受报单的。 从华泰券商客服了解到,客户9:25的报单会按照连续竞价单暂存主机,等9:30连续竞价开始再报到交易所。即对首日新股在9:25报144%的买入申报,会在连续竞价时段建立时间优势。 1.3沪深报单过程的细节 上交所:集合竞价阶段,客户端报单给券商柜台,券商柜台通过vip通道,直接写交易所接口ordw库来报单,控制报单时间即可。 深交所:集合竞价阶段有平台状态信号推送,可以根据平台信号进行报单。目前的了解,平台状态信号的推送是每个交易日的固定时间,即可以认为对我们定时下单没有影响。

2附录 2.1上交所集合竞价时间 详见文档《上交所-上海证券交易所交易规则(2015年修订).pdf》第6页第四节。 2.2深交所集合竞价时间 详见文档《深交所-深圳交易规则》第7页第三节。

2.3上交所首日新股申报价格限制 详见文档《上交所-关于新股上市初期交易监管有关事项的通知.pdf》第1页。 2.4深交所首日新股申报价格限制 详见文档《深交所-关于完善首次公开发行股票上市首日交易机制有关事项的通知.pdf》第1页。注意:深交所交易规则2016年修改版中规定,每个交易日9:25至9:30期间,交易主机不再接受竞价交易申报。第条修改为:“本所接受会员竞价交易申报的时间为每个交易日9:15至9:25、9:30至11:30、13:00至15:00。

集合竞价规则及如何在集合竞价时下单根据深沪两市的交易规则,股票的开盘价是集合竞价产生的。 集合竞价是将数笔委托报价或一时段内的全部委托报价集中在 一起,根据不高于申买价和不低于申卖价的原则产生一个成交价格,且在这个价格下成交的股票数量最大,并将这个价格作为全部成交委托的交易价格。9:15开始可以进行集合竞价,9:25之前可以撤单,9:25分竞价结果报出,集合竟价的基本过程如下: 设股票A在开盘前分别有6笔买入委托和5笔卖出委托,根据价格优先的原则,按买入价格由高至低和卖出价格由低至高的顺序将其分别排列如下:序号委托买入价数量(手) 序号委托卖出价数量(手) 3.80 2 3.52 5 3.76 6 3.57 1 3.65 4 3.60 2 3.60 7 3.65 6 3.54 6 3.70 6 3.53 3按不高于申买价和不低于申卖价的原则,首先可成交第一笔,即3.80元买入委托和3.52元的卖出委托,若要同时符合申买者和申卖者的意愿,其成交价格必须是在3.52元与3.80元之间,但具体价格要视以后的成交情况而定。这对委托成交后其它的委托排序如下:序号委托买入价数量(手) 序号委托卖出价数量(手) 3.52 3 3.76 6 3.57 1 3.65 4 3.60 2 3.60 7 3.65 6 3.54 6 3.70 6 3.53 3在第一次成交中,由于卖出委托的数量多于买入委托,按交易规则,序号1的买入委托2手全部成交,序号1的卖出委托还剩余3手。第二笔成交情况:序号2的买入委托价格为不高于3.76元,数量为6手。在卖出委托中,序号1-3的委托的数量正好为6手,其价格意愿

分时战法之集合竞价买卖法则 ---------横向·下跌趋势时的运用---------股海小龙 八月份我们讲了个股和大盘分时盘面战法三讲,分别是:上升趋势,横向趋势,和下跌趋势。 以上三种趋势的操盘要领是,根据日线三基的研判,日线级别的三线设定来规划当天的操作,今天我们来讲一个这三个方法之外的买卖方法--集合竞价买卖法则。 集合竞价是指在每日的开盘前,即9:15—9:25这十分钟之内,投资者按照自己所能接受的心理价格自由地进行买卖申报,电脑交易主机系统对全部有效委托进行一次集中撮合处理过程。集合竞价规则是指在所谓集合竞价在成交时所遵守的一些原则。只有明白集合竞价规则,才能抓住集合竞价中的优质股票,依据集合竞价规则在集合竞价中选定股票是常见的一种短线操作策略。 一、集合竞价规则:三个原则 集合竞价只有满足以下三个原则,才会形成交易,也就是说这三个原则是集合竞价必须满足的三个条件。 1.可实现最大成交量的价格;就是优先撮合数量多的那笔单子。 2.高于该价格的买入申报与低于该价格的卖出申报全部成交的价格; 3.与该价格相同的买方或卖方至少有一方全部成交的价格。 两个以上申报价格符合上述条件的,使未成交量最小的申报价格为成交价格;仍有两个以上使未成交量最小的申报价格符合上述条件的,其中间价为成交价格。 二、集合竞价规则:关于挂单和撤单 (一)、停牌期间不允许挂单,但停牌前的挂单可以撤销。

对于停牌一小时的股票,在停牌期间(9:30-10:30)不能挂单也不能撤单。当然也没有集合竞价,集合竞价期间的任何挂单和撤单都是无效的,这就要看十点半时谁的手快,但停牌前的挂单是有效的。 10:30开盘时,一般10:29分30秒,交易系统就已经打开了。所以如果你想抢先买入一只复牌即涨停的股票,最好在10:29分20秒挂涨停价买入,因为委单要进入证券公司系统再进行转换是需要几秒钟的时间,如果你挂早了传到上或深交所还没到10:29分30秒,交易所就把它当作废单处理,所以一定要把握好。 (二)、关于撤单问题 9:15~9:20可以挂单也可以撤单!9:20~9:25只能挂单,不接受撤单,9:25-9:30不能挂单也不能撤单,所以有些庄在9:15~9:20期间挂大单买入,引诱散户,到了9:20单子被他们偷偷撤了,这种股票很可能会跌,千万不要碰,10月26日的神马实业就是典型的例子,9:18分在11.99价位有1734手,到了9:19变成了54手且价位为11.08,明显买单被他们撤掉了,典型的引诱散户,果然当天跌幅7.65% 在非交易时间内可以挂单,也可以撤单。 9时30分前委托再撤单要当心,因为撤单失败的机率比较大。 9时5分之后不要撤单,撤单基本不会成功,9时15分之后撤单可以。 营业部的转换系统在没有连到交易所时,委托再撤单是可以成功的。

股票集合竞价与技巧 9:15----9:20这五分钟开放式集合竞价可以委托买进和卖出的单子,你看到的匹配成交量可能是虚假的,因这5分钟是可以撤单,很多主力在9:19:30左右撤单,当你买进时,你不撤单,他可撤出,然后他卖给你,因此你一定要把撤单键放在手上。2)9:20---9:25这五分钟开放式集合竞价可以输委托买进和卖出的单子,但不能撤单,有的投资者认为他己撤单就完事了,事实上这五分钟撤单无效,白白输入的。这五分钟你看到的委托是真实的,因此要抢涨停板的,一定要看准这五分钟,但你不知道这五分钟哪些股票要涨停板,利用按81和83不能看到,但钱龙和分析家可以按81和83看到,比如兰生股份600826在2006-10-09国庆长假后,第一个涨停,你利用钱龙9:23左右要涨停,而且当时封单只30万股,你赌一把在9:24-9:30涨停,当天成交了311万股,次日开盘就可赚钱。3)9:25---9:30这五分钟不叫集合竞价时间,电脑这五分钟可接收买和卖委托,也可接收撤单,这五分钟电脑不处理,如果你进的委托价格估计能成交,那么你的撤单是排在后面来不及的,对于高手而言,这五分钟换股票一定要利用,比如你集合竞价卖出股票后,资金在9:25就可利用,你可在9:26买进另一只股票。还有你要得到新股开盘价,你高价格得开盘价,

你高出开盘价的部份在9:25返回,你又可利用这返回的资金。4)9:25产生的开盘价都是按成交量最大化原则定出的,深圳股票在收盘14:57---15:00是收盘集合竞价时间,这3分钟不能撤单,只能输买进和卖出单子,因此深圳收盘价也是集合竞价得来的,而你看到的上海最后一笔只有价格,股数为0,这是因为上海收盘价格是按最后一笔倒推1分钟的加权平均价算出的,不是集合竞价得来的,在防止操纵收盘价方面不如深交所。5)上海新开户当天不能买进股票,因为开户是在登记结算公司,交易是在上交所,两个机构之间数据库不能及时对接,要等晚上清算后接上,因此次日才能买股票,上海股票当天在其它营业部撤销指定交易,在另一个营业部当天可指定,但你的股票在新营业部看不到明细,只能根据你的记忆卖出。深圳股票上一个交易日办理转托管的,第二天可在新营业部卖出。6)深圳停牌一小时的股票可以提前委托,上海停牌一小时的股票不能提前委托,上交易在10:30准时开门,早一秒就弹回来了返回“废单”,对于连续涨停的股票,如果你要追进,应该在10:29:53----10:29:56输入确认键,因网络速度时快时慢,要几秒钟在路上行走,相反出现重大利空时,你也可跑得快。7)零股处理,配股可以买进零股,但正常买进时,你只能委托100股整数倍,如果你有零股要卖出,如57股,你只能一次性出,不能分两次卖零股,债券委托

集合竞价是什么意思 新入市的朋友可能对于股票的竞价不是很清楚,或者只是知道连续竞价,对于集合竞价知道甚少。今天就给大家讲讲集合竞价是什么意思。 首先就不得不说起中国股市交易的竞价方式了。中国股市的竞价采取的是两种竞价方式,一种是集合竞价还有一种是连续竞价,上海证券交易所规定,每个交易日的9:15~9:25为开盘集合竞价时间,9:30~11:30、13:00~15:00为连续竞价时间。深圳证券交易所规定,每个交易日的9:15~9:25为开盘集合竞价时间,9:30~11:30、13:00~14:57为连续竞价时间,14:57~15:00为收盘集合竞价时间。 那集合竞价是什么意思,它又有哪些规则呢? 集合竞价其实从字面上都可以理解,它是指在一段时间内将所有的报价申报集中撮合,来确定股票价格的竞价方式。集合竞价的意思还是比较好理解,但是它竞价的规则确实有点复杂,确定价格的规则主要有以下几点: 1.使得成交量最大化的价格。 2.高于该价格的买入申报与低于该价格的卖出申报全部成交的价格。 3.与该价格相同的买方或卖方至少有一方全部成交的价格。 如有两个以上申报价格符合上述条件的,深圳证券交易所取距前收盘价最近的价位为成交价;上海证券交易所则规定使未成交量最小的申报价格为成交价格,若仍有两个以上使未成交量最小的申报价格符合上述条件的,其中间价为成交价格。 如果是在集合竞价中没有产生成交怎么办,它会直接进入到连续竞价。 关于集合竞价是什么意思就这么多,但是我发现对于集合竞价时间与不可撤单时间,有

些朋友会混淆,以为只要是在集合竞价时间便不可撤单,所以把不可撤单时间再拿出来让投资朋友们看看。对于不可撤单时间,交易所另有规定。不可撤单时间如下:上海证券交易所:每个交易日的9:20——9:25 深证证券交易所:每个交易日的9:20——9:25、14:57——15:00

股市集合竞价的规则与技巧 1)9:15----9:20这五分钟开放式集合竞价可以委托买进和卖出的单子,你看到的匹配成交量可能是虚假的,因这5分钟是可以撤单,很多主力在9:19:30左右撤单,当你买进时,你不撤单,他可撤出,然后他卖给你,因此你一定要把撤单键放在手上。 2)9:20---9:25这五分钟开放式集合竞价可以输委托买进和卖出的单子,但不能撤单,有的投资者认为他己撤单就完事了,事实上这五分钟撤单无效,白白输入的。这五分钟你看到的委托是真实的,因此要抢涨停板的,一定要看准这五分钟,但你不知道这五分钟哪些股票要涨停板,利用按81和83不能看到,但钱龙和分析家可以按81和83看到。 3)9:25---9:30这五分钟不叫集合竞价时间,电脑这五分钟可接收买和卖委托,也可接收撤单,这五分钟电脑不处理,如果你进的委托价格估计能成交,那么你的撤单是排在后面来不及的,对于高手而言,这五分钟换股票一定要利用,比如你集合竞价卖出股票后,资金在9:25就可利用,你可在9:26买进另一只股票。还有你要得到新股开盘价,你高价格得开盘价,你高出开盘价的部份在9:25返回,你又可利用这返回的资金。 4)9:25产生的开盘价都是按成交量最大化原则定出的,深圳股票在收盘14:57---15:00是收盘集合竞价时间,这3分钟不能撤单,只能输买进和卖出单子,因此深圳收盘价也是集合竞价得来的,而你看到的上海最后一笔只有价格,股数为0,这是因为上海收盘价格是按最后一笔倒推1分钟的加权平均价算出的,不是集合竞价得来的,在防止操纵收盘价方面不如深交所。 5)上海新开户当天不能买进股票,因为开户是在登记结算公司,交易是在上交所,两个机构之间数据库不能及时对接,要等晚上清算后接上,因此次日才能买股票,上海股票当天在其它营业部撤销指定交易,在另一个营业部当天可指定,但你的股票在新营业部看不到明细,只能根据你的记忆卖出。深圳股票上一个交易日办理转托管的,第二天可在新营业部卖出。 6)深圳停牌一小时的股票可以提前委托,上海停牌一小时的股票不能提前委托,上交易在10:30准时开门,早一秒就弹回来了返回“废单”,对于连续涨停的股票,如果你要追进,应该在10:29:53----10:29:56输入确认键,因网络速度时快时慢,要几秒钟在路上行走,相反出现重大利空时,你也可跑得快。 7)零股处理,配股可以买进零股,但正常买进时,你只能委托100股整数倍,如果你有零股要卖出,如57股,你只能一次性出,不能分两次卖零股,债券委托是一手整数倍,即而值1000元整数倍,新股申购时,中小板是500股整数倍,上海新股是1000股整数倍,新股申购委托后不能撤单,一个申购流程前后五个交易日,如周二申购,下周一解冻。 8)股票、基金、权证一笔委托数量不能超过100万份,特别是权证在末日轮时,几分钱不适合大资金操作。

相关主题