Friday, October 30, 2020

玻璃管的弯曲、拉细

 

玻璃管的弯曲

先将玻璃管用小火预热,然后双手持玻璃管,把要弯曲的地方斜放在外焰中,最好在喷灯或酒精灯上罩上广口(状如鱼尾)灯罩扩展火焰,玻璃管加热的长度约需2倍管径,并缓慢而均匀地转动玻璃管,两手用力要均匀,转速要一致,以免玻璃在火焰中扭曲。加热到玻璃管发黄变软,离开火焰,稍等1~2秒,使各部分温度均匀,准确地把它弯成所需要的角度。弯管的正确手法是:两手处同一水平面,捏玻璃管的手不要扭动。还需要注意:

1、弯120°以上的角度,可以一次弯成。较小的锐角可以分几次完成。先弯成一个较大的角度,然后在第一次受热部位的旁边进行第二次加热和弯曲,反复操作到所需的角度。

2、弯曲的角度小(如60°角、V型管等)玻璃管的受热面积必须要增大,即在火焰中加热的玻璃管的倾斜度应更大些。

3、弯曲时两手握住玻璃管的两端,玻璃管的待弯曲部分放在两手中间的下方,均匀向中间用力。不能有向内挤的力(或向外拉的力),使玻璃管呈“V”字型。

4、弯曲较粗的玻璃管,可采用加填充物弯曲法。具体做法是:用塞子将要弯的玻璃管的一端堵住,然后在管内装满干燥的细食盐,捣实后放在喷灯上加热。玻璃管发黄变软后,进行弯曲,冷却后,打开塞子,将水注入,食盐溶解,导管干燥后即可使用。使用此方法弯制的玻璃导管,具有弯曲部位不会变细变瘪等优点。

5、弯曲后的玻璃管均要立即进行退火处理,即再在弱火焰中加热一会儿,然后将玻璃管慢慢移离火焰。

6、要使玻璃管弯制的角度正确,可在石棉网上用粉笔先画好所需的角度,将玻璃管加热发黄变软后迅速放在石棉网上,按画好的角度进行弯曲。

玻璃管的拉细

制作玻璃尖管、毛细管、胶头滴管等仪器均需将玻璃管拉细。拉细的方法是:将玻璃管水平放在喷灯火焰(或加罩的酒精灯)的火力点中均匀加热,边加热边旋转,当玻璃管熔化(发黄变软)后离开火焰,向两边缓慢地拉开至需要的长度,拉出的管要求笔直。需要注意的是:

1、两手旋转玻璃管的快慢要一致,才能使玻璃管熔融部分受热均匀,拉出均匀的细管。

2、不要一边加热一边拉玻璃管,这样拉出的细玻璃管厚薄不均。

3、加热时,玻璃管在火焰中的位置要注意,过高熔融速度慢,过低则两边热,中间不够热,玻璃管不易拉

4、拉玻璃管时,两手要保持水平,在同一直线上,才能使拉出的细玻璃管笔直

Wednesday, October 28, 2020

肖特基势垒与欧姆接触

 https://zhuanlan.zhihu.com/p/55749567

模型理解

我们知道,N型半导体与P型半导体接触会因为载流子的扩散形成耗尽区,从而形成PN节。当金属与半导体接触时会怎样呢?

其中一种情况是,金属与N型半导体接触,半导体中的截流电子扩散进入金属,从而在半导体中形成耗尽区与内建电场,如下图

http://www.physics-and-radio-electronics.com

这种情况与PN节是类似的。

如何确定电子是由半导体进入金属还是从金属进入半导体呢,这就需要使用能级的概念来理解。

能级理解

金属材料的导带与价带是有重叠的,费米能级就处于导带中。半导体的导带与价带是分离的,其费米能级处于导带与价带之间,对于本征半导体,费米能级处于正中间,对于N型半导体,费米能级靠近导带,P型半导体中费米能级靠近价带。

Fermi level in different materials


Fermi level vs. doping concentration

另外要知道的概念是材料的功函数(work function)和半导体的电子亲和力(electron affinity)。功函数表示要让电子从材料中逃逸到自由空间中的最小热能量,电子亲和力表示电子从自由空间掉落到半导体导带底部所释放的能量。两个概念见下图:

而当两种材料接触时,载流子扩散流动必须使接触面两侧的费米能级相等才能达到平衡状态。所以接触后半导体中的能带会因内建电场而弯曲,如下图:

这样就在接触面形成了电子的势垒,称为肖特基势垒(schottky barrier)。形成整流节(rectifying junction)。肖特基二极管就是利用该原理工作的。

下图中为该整流节在平衡情况、正向偏压、负向偏压下能级情况以及该整流节的VI特性:

正向偏压时由于外电场的存在抬高了半导体侧的费米能级,使得半导体中的电子面临的势垒高度降低,从而更容易流过接触面进入金属。负向偏压时加大了该势垒。

欧姆接触

很多时候我们并不想在金属与半导体接触面出现该势垒,比如半导体器件用金属引线引出信号。理论上有两种方式,一是降低势垒高度,使载流子不需要很高的能量就可以跃过势垒;二是大幅减小势垒宽度,使载流子以隧穿的方式穿过。

如果通过选择不同材料,使半导体的费米能级小于金属的费米能级,则接触面能带情况将如下图所示:



这样电子从半导体进入金属没有势垒,而从金属进入半导体只有很小的势垒,比较小的电压就可以使电子轻松跃过势垒进入半导体。这样就是欧姆接触(ohmic contact)的情况,当然其VI曲线并不是像理想欧姆电阻一样的直线,而是近似直线。

另一种方式是通过重掺杂的方式,使形成的势垒宽度很窄,这样电子可以不用跃过势垒而直接通过隧穿流过接触面,正向偏压、负向偏压与VI特性(黑色曲线)如下图:


P型半导体与金属的接触面的分析思路与N型半导体类似,只是载流子由电子变为空穴。

在实际应用中还有很多其它因素影响金属与半导体接触面的特性,超出本文范围,暂不讨论。

发布于 2019-01-26

你需要的光催化必备常识—光生自由基及研究、分析方法

 

随着光催化研究的深入,人们已不再局限于对光催化材料本身的研究,也开始去理解光催化反应发生的整个过程与机制。

熟悉光催化机理的人会知道,光催化反应的发生是依靠半导体受到光辐射后价带上的电子激发至高能级的导带,在原来的价带留下带有氧化性的空穴。导带上还原性的电子与价带上氧化性的空穴能够诱发后续的氧化还原反应。但是污染的降解,很多情况下并不是由电子或是空穴直接进行氧化还原降解,而是电子-空穴先与吸附于光催化材料表面的电子受体或电子给体进行作用,产生具有高活性的中间物质,这些物质大多都是自由基。这些自由基能够进攻污染物分子某些结构并破坏,从而产生氧化降解的效果。因此,对光催化降解中间活性物质-也就是自由基的研究近年来备受关注,尤其对于那些需要在高档次期刊发表文章的小伙伴们来说,阐明光催化机理的时候就必须要对自由基和降解过程的描述与论证,因此本推文根据相关调研与实验经验,为大家总结了光催化中自由基相关的知识要点以及研究方法。

1.自由基的种类:

羟基自由基(·OH),这是一种具有非常高活性的中间活性物质,也是非常常见的一种中间活性物质,可以通过电子转移,亲电加成、脱氢反应等途径无选择地直接与各种有机化合物作用最终可以将其降解为CO2、H2O和其他无害物质。具有以下特点:

1. 氧化能力强,标准电势能够达到2.8 V,仅次于氟,是一种氧化能力及其强大的氧化剂:

2. 反应速率快,非常活泼与大多数有机物的二级反应速率常数都在 106-109L/mol*s

3. 寿命也非常短,一般在水中的都是纳秒级别的存在寿命,所以很难直接对它进行观察,短寿命也会使其扩散距离有限,这在降解过程中需要注意。

光催化过程中水分子或是氢氧根能够被空穴氧化经产生羟基自由基1

超氧阴离子自由基(·O2-

超氧自由基也是非常常见的一种中间活性物质,在水中可认为是一种碱,它可以接受一个H+形成质子化的超氧自由基HOO•。超氧自由基在水溶液中的存活时间约为1s,在脂溶性介质中的存活时间约为1h。和其它的活性氧相比,超氧自由基不是很活泼,但由于其寿命很长,能扩散到很远的距离,达到靶位置,因此实际效率还是挺高的。它可以发生歧化反应、单电子还原反应、单电子氧化反应等。

水中的溶解氧接收到光生电子就有可能产生超氧阴离子自由基。

单线态氧1O2

单线态氧是指激发态的氧分子,且自旋多重度为1,这种激发态的氧分子也具有较强的氧化性,但是在光催化过程中,氧气分子不会直接在光照的条件下就产生单线态氧,而是需要敏化剂受到光辐射激发,再将能量传递给氧分子才能产生单线态氧,而某些染料就是很好的敏化剂。

过氧化氢

也有许多报导发现光催化过程中会产生微量的过氧化氢,这是我们非常熟悉的一个物质,就不再细说。

硫酸根自由基(·SO4-

几乎与羟基自由基具有相同的氧化能力 有研究表明硫酸根自由基产生后能持续更长的时间存在,半衰期可以达到4s之长,这可加长与有机物持续接触并提升降解的效果,可以使氧化进行时间延长,理论上同样情况下比羟自由基的降解程度会提高,并且硫酸根自由基还会处理部分羟自由基自身无法氧化的有机物,去除能力更广。硫酸根自由基可适应的pH范围较广(pH=2-10),这增大可以处理废水的范围,不论酸性、碱性废水,都对硫酸根自由基的反应活性影响不大,这使得最近也有较多非常新颖的文章开始设计催化剂去产生硫酸根自由基,提高降解性能。

在一些特定条件下也会去讨论氯自由基、硝基自由基等,但常规的纯水相中的降解反应中光催化降解一般都是讨论,超氧自由基、羟基自由基、空穴、单线态氧、过氧化氢,这几种。有些工作里也讨论了单线态氧,过氧化氢作为中间活性物质,但在大多数常规的光催化降解体系中,超氧自由基、羟基自由基以及光生空穴被认为在降解过程中贡献最大的三种,没有特殊设计的情况下,都是把这三种活性物质看作可能的活性中间底物去研究。

2.研究方法

那么如何确定我们光催化降解体系中,到底产生了哪些自由基?又是哪种自由基发挥了作用?每种自由基对降解的贡献程度呢?

电子自旋共振(ESR)法

这是确定在光催化过程中产生何种自由基的一种分析测试手段,其原理是依靠具有单电子物质的自旋共振谱来鉴别光催化反应中自由基的种类,详细的机理百度或是文献中都有2,这里不做细说。但可以把这个分析表征想象类比成红外光谱,不同物质具有不同的红外谱图,而不同的自由基也具有不同的自旋共振谱,以此去理解就行了。而我们只需要注意在表征时需要注意哪些问题以及ESR谱图如何解析?

一般来说,能做ESR的地方并不是很多,我们需要送样到分析测试平台进行测样,当然价钱也比较昂贵,一般就每张谱图在400-800 元不等,在测样的时候你只需要告诉客服小姐姐你要求是什么就行了,比如你直接告诉她说需要测光催化中的羟基自由基、超氧自由基、光生电子等等,客服也会问你需要什么光源,需不需要暗处理对比,以及特殊的什么条件都可以提;紧接着你直接把催化剂寄过去就行了。剩下的就是等待测试完成,返回数据进行分析。

下图是一组ESR图谱3

图A是TMP-1O2的ESR图谱,图B是DMPO-O2·-的ESR图谱,图C是DMPO-OH·的ESR图谱,图D是TEMPO捕获是光生电子的图谱。

为什么不是直接描述为是1O2 、O2·- 、OH·和光生电子ESR图谱,而要在前面加一些奇怪的前缀呢?

这是因为在测试ESR的时候,这些中间活性物质的寿命太短,而ESR的时间分辨率还不能测量那么短的自由基。因此就需要再测试ESR之前,先将这些短寿命的自由基转化成长寿命的自由基,如何转化呢?

这就需要用到我们的自由基捕获剂,例如上述提到的DMPO,就是自由基捕获剂的一种,它能够与短寿命的超氧自由基和羟基自由基特定的结合,形成较长寿命的DMPO-O2·-DMPO-OH·。只需在光催化反应中加入DMPO,它就会捕获超氧自由基和羟基自由基生成上述两种长寿命的自由基加合物,这两种自由基加合物具有不同的ESR谱图,由此就可定性的判断产生了何种自由基。当然,不是所有的自由基都是用DMPO作捕获剂,不同的自由基有特定的捕获剂和特定的测试方法,你可以把这种情况类比于一种标准方法,例如,想用ESR测试是否有羟基自由基,那就用DMPO作捕获剂,用水作测试的溶剂环境;如果是测超氧自由基,那也可以用DMPO作捕获剂,但测试环境就得的换成甲醇作为溶剂环境,不然就测不出来,其他的自由基也有固定的测试方法,你需要测的时候专业人员会帮你解决这个问题。

那接下来就是对上文谱图的分析-如何判断自由基的种类?

这就是一张比较标准且好看的羟基自由基的谱图。羟基自由基的ESR谱图(严格来说是DPMO-羟基自由基的ESR谱图)呈现出标准的四重峰(就是有四个峰),四峰等距(相邻峰的距离是一样的),且四个峰的峰高是1:2:2:1。如果你用DMPO作捕获剂,在水溶剂环境中进行ESR测试,如果出现了上述那样的谱图,那恭喜你,你的光催化反应很有可能产生了羟基自由基。并且,峰的高度越高说明羟基自由基的浓度越高。

上图是超氧自由基的ESR图,别的也没什么好说,见到长这样的ESR图就是DMPO-O2·-。特征就是六重峰(六个峰),其实也可以看作是四个峰,只是中间两个大峰又分裂了一下,所以就变成了六个峰。

上图左是TMP-1O2的ESR图谱,右边是电子的TMPO-e- 的ESR图,这两种物质的ESR图,其实长得一样,都是三重峰且峰高1:1:1, 那怎么区别呢?

这就值得注意了,其实ESR图就最多就也就十个八个峰,不像红外那么多峰,直接可以解谱。做ESR测试的时候,应该事先预想好具体测哪种活性自由基,然后用对应的标准方法去测,如果出了对应的峰,那就是有,没有出那就没有。上述两图的图虽然一样,但是测试方法和使用的捕获剂不一样,比如,测光生电子或者空穴就需要在超低温下测试,而测其他自由基就用另外的测试条件,通过控制测试条件来控制什么自由基出信号。至于这些标准方法是怎么来的?可以下来自己再调研文献。

还有一种方法能够判断光催化反应中自由基的种类—那就是荧光标记法:

其原理就是依靠自由基能够与某些物质特异性反应生成具有荧光性质的物质,通过在光催化反应中加入这种荧光标记物,反应后在利用荧光光谱进行测试,这些不同的作用后的物质具有不同额荧光光谱,由此来判断出具有哪些自由基。利用,利用苯甲酸4、香豆素5等都可以与羟基自由基反应产生特异性的荧光物质;例如弱荧光性的香豆素与羟基自由基结合后会生成7-羟基香豆素,这种物质在312 nm激发下,在456 nm处会有强的荧光发射。当前也有很多研究针对这些自由基的荧光探针的设计。例如,有人自己合成了一种2-(2-噻吩)苯并噻唑啉,可以作为对超氧自由基的荧光探针6。当前对自由基荧光探针的研究来说,对羟基自由基的荧光探针研究7还是较多,超氧自由基的荧光探针8相对较少,想再一进步了解的小伙伴,可以再去检索本文提供的参考文献。

最后一种方法就是我们常用的猝灭法测定活性物质:

这种方法的原理是依靠某些物质能够特异性与自由基结合,是自由基猝灭掉,让其不能发挥原有的作用。具体的实验方法就是在光催化降解的过程中加入特定的猝灭剂(有时候也叫捕获剂 英文名:scavenger),观察降解率是否变低,如果降解率降低的程度越大,那说明该自由基在降解过程中的贡献越高。

常用的电子捕获剂有:AgNO3, KBrO3,Pb(OAc)4, Mn(OAc)3, DDQ(2,3-二氯-5,6-二氰基-1,4-苯醌, 一种醌类)

常用的·O2- 捕获剂有:对苯醌,

常用的空穴捕获剂有:甲醇,甲酸,乙醇,KI,草酸铵,NaHCO3, EDTA-2Na,苯酚

·OH的捕获剂有:异丙醇,二苯胺,TEMPO(四甲基哌啶, 它具有捕获自由基、猝灭单线态氧和选择性氧化等功能) ,叔丁醇。

严谨一点来说,加入的物质在猝灭一种自由基的同时还有可能影响影响到其他活性物质,因此这种方法的选择性不如上面两种方法,但由于实验操作简单,也不用太大的花费,且实验结论相对还是比较靠谱,几乎在光催化降解类的文章中大多都会出现这种自由基猝灭实验的分析。然而,千万不要选错对应的自由基猝灭剂,导致牛头对马嘴,那就丢脸了。

另外还有色谱法,化学发光法也有报导用于测定自由基,但在光催化研究中这些方法使用很少,本文也不再继续探讨。

参考文献:

1 Kakuma, Y., Nosaka, A. Y. & Nosaka, Y. Difference in TiO(2) photocatalytic mechanism between rutile and anatase studied by the detection of active oxygen and surface species in water. Phys Chem Chem Phys 17, 18691-18698, doi:10.1039/c5cp02004b (2015).

2 Wang, Z., Ma, W., Chen, C., Ji, H. & Zhao, J. Probing paramagnetic species in titania-based heterogeneous photocatalysis by electron spin resonance (ESR) spectroscopy—A mini review. Chem. Eng. J. 170, 353-362, doi:10.1016/j.cej.2010.12.002 (2011).

3 Cao, L. et al. Synergistic photocatalytic performance of cobalt tetra(2-hydroxymethyl-1,4-dithiin)porphyrazine loaded on zinc oxide nanoparticles. J Hazard Mater 359, 388-395, doi:10.1016/j.jhazmat.2018.07.074 (2018).

4 Vione, D. et al. Comparison of different probe molecules for the quantification of hydroxyl radicals in aqueous solution. Environmental Chemistry Letters 8, 95-100, doi:10.1007/s10311-008-0197-3 (2010).

5 Leandri, V., Gardner, J. M. & Jonsson, M. Coumarin as a Quantitative Probe for Hydroxyl Radical Formation in Heterogeneous Photocatalysis. J. Phys. Chem. C 123, 6667-6674, doi:10.1021/acs.jpcc.9b00337 (2019).

6 Ma, S., Mu, W., Gao, J. & Zhou, J. Spectroscopic Study of 2-(2-pyridyliminomethyl)phenol as a Novel Fluorescent Probe for Superoxide Anion Radicals and Superoxide Dismutase Activity. Journal of Fluorescence 19, 487-493, doi:10.1007/s10895-008-0437-8 (2009).

7 马淑慧, 高吉刚 & 周杰. 羟基自由基与鸟苷作用分子机理的荧光分析研究. 分析试验室, 239-242 (2008).

8 蒲法章 et al. 荧光猝灭法测定超氧阴离子自由基的研究. 分析科学学报 25, 575-578 (2009).

图片来源:参考文献1

本文由137亿年供稿。

欢迎大家到材料人宣传科技成果并对文献进行深入解读,投稿邮箱: tougao@cailiaoren.com.

投稿以及内容合作可加编辑微信:cailiaorenVIP.

Saturday, October 24, 2020

光栅常数一定时,入射光波波长变大,则衍射角做什么变化?

 https://zhidao.baidu.com/question/526561752694524445.html

 分光计又称为光学测角仪bai,能够du精确测量角度,从而达到测量一些与角度有关的物zhi理量,像光栅常数、光的波长、最dao小偏向角、折射率、棱镜顶角等。而用分光计测量光波的波长,根据的是光栅方程,dsinθ=kλ,其中d是光栅常数,θ是衍射角,λ是光波波长,k是衍射级次,这个实验常用的光源是汞灯,经过光栅衍射后可以观察到彩色谱线,并且对称分布在中央明纹的两侧,由光栅方程可以知道对于同样级次的谱线来说,波长越长,衍射角越大,所以在分光计中观察到一级衍射光谱从中央明纹开始依次是两条紫的,一条绿的,还有两条离得非常近的黄的,波长越来越大,衍射角也越来越大,离中央明纹越来越远。

Friday, October 23, 2020

标准加入法原理

 

将同样体积的待测样品溶液移入3~4个容器中,然后将含有待测元素的标准溶液按规定比例顺序加入容器,但保留一个容器不加标准溶液。再用同一种溶剂将上述溶液分别稀释到同样体积,需要注意的是空白溶液也应该与其它几份一样进行稀释。图3.2.1表示制备的这组样品溶液的浓度示意。

图3.2.(1)标准加入法的样品制备

将这组样品进行吸喷测定,并测量空白溶液的吸光度。以各份溶液的吸光度作图即纵轴代表吸光度,横轴代表所加入的标准相当的浓度。

图3..(2) 标准加入法的原理

此时这一组溶液中,共存物质的量是完全相同的,所获得的校准曲线应为直线,其斜率与用纯标准溶液制作校准曲线的斜率有区别,代表了基体干扰的程度。这个标准曲线不通过原点,若假定在低浓度范围呈线性,可将此直线外推到空白溶液

吸光度。此时不含标准溶液的样品溶液,即待测样品稀释后的浓度可以计算出来(如图3..2

本法适用于有基体干扰存在且基体组成未知,而不能向标准溶液中加入同样干扰物的样品。

采用标准加入法必须注意:

(1)应在校正曲线呈线性的部分测量。

(2)所加入的标准浓度应为样品浓度的2~5倍,使校正曲线的斜率接近1,以获得较高的测量精度。

(3)本法校准曲线的斜率与纯标准制备的校正曲线斜率间相差不应超过20%。

如果超过20%,表明干扰过分严重,分析精度将降低。因此应事先将共存物质除去,再进行测定。

如果所测定的一批样品,具有很相近的基体组成,即基体对待测元素的干扰是完全一致的,可以利用上述校准曲线对其余样品进行测定,而不必将每一个样品制备成一组样品。这种方法称为简易标准加入法。采用简易标准加入法时校准曲线仍

要按上述方法,取待测样品之一制备成一组溶液,进行测定得校准曲线的斜率和截

距。

    可将标准加入法曲线转化为普通标准曲线,其它样品的浓度可直接读出。

图3..(3) 标准加入法转化后的标准曲线

标准加入法测定步骤

1步:单击[标样]工具,校正方式选择标准加入法,校正方程选择“A=k1C+k0,其余步骤(同3.1)。

2步:吸喷空白溶液,测定吸光度。依次测定:样品,样品+S1,样品+S2……,测定完所有配置好的溶液后,此时跳出对话框,显示基底样品的溶度,同时询问是否转化为标准曲线。

3步:确认,可将标准加入法曲线转化为标准曲线

4步:吸喷其它样品,浓度直接读出。

实际检验就两或三个相同体积的容量瓶,加同样的样品溶液。比如测钙,第一个只有样品,作为空白;第二个样品加标液,定容后的标准溶液浓度为1r;第三个样品加标液,定容后的标准溶液浓度为2r;上原子吸收仪,设定测量方式为标准加入法,样品为3个。测定完所有配置好的溶液后,此时跳出对话框,显示基底样品的溶度,同时询问是否转化为标准曲线。

确认,可将标准加入法曲线转化为标准曲线,然后直接读出第一个的数据去计算样品含量。(第三个样品加标液可以不要。)

Wednesday, October 21, 2020

用resourcehacer禁止IDM更新提示

 https://www.52pojie.cn/thread-915549-1-1.html

 如果IDM在后台运行请先结束进程
运行ResourceHacker,打开IDM根目录下的IDM.EXE删除对话框下的144:1033这个资源  


之后点击保存,如果不行可以另存为后退出软件再复制替换
再次运行IDM,帮助-检查更新,不会再出现提示升级了,重启系统后也不会在提示了!

一键提取:https://www.lanzous.com/i3lowid
密码:44pa

Monday, October 19, 2020

A_buyposition在TB中的应用

 

交易开拓者对多周期交易的问题

1、在不同时间周期上交易同一个品种

http://www.tradeblazer.net/forum/thread-1348-1-44.html

假定我有两个程序,程序A以半小时周期交易品种X;程序B以5分钟周期交易品种X;这两个程序能同时运行吗?

假定可以同时运行,有没有一种机制能够使这个两个程序间可以交换信息?我不清楚TB对硬盘文件读写支持到什么程度。这两个程序是否可以通过对硬盘文件操作的办法进行信息传递或信息共享?

发表于 2008-1-3 11:25 | 只看该作者
现在不支持这样的功能,以后可以考虑支持文件读写的功能。
发表于 2008-1-9 14:48 | 只看该作者

回复 #4 tradeblazer 的帖子

我觉得开拓者应该站得更高,跳出在K线图中做文章的框框,做基于“数据”的系统,而不是基于单一“K线图”的系统。这里的“数据”包括不同时间周期,不同市场的数据。这样,开拓者面对的是整个“投资组合”,而不是一部分。

2、【交易规模】使用多重系统时如何进行头寸管理

http://www.tradeblazer.net/forum/thread-3994-1-28.html

Managing Positions When Using Multiple Systems

使用多重系统时如何进行头寸管理

In our last Bulletin we presented our reasoning for using multiple systems in multiple markets in order to produce more consistent profits and to generate a smoother equity curve. In this Bulletin we will address some of the practical aspects of controlling our position sizes when employing this strategy.

在上一贴中我们解释了在多重市场中使用多重系统,有助于获得持续一致的盈利和更为平滑的资金曲线。在本帖中,我们将给出在实践中使用这种策略时会碰到的一些有关控制头寸规模的问题。

When using multiple strategies/systems in one market we are inevitably faced with the question of how many positions to trade and what to do when long and short trades appear at the same time. Many potential problems can be reduced if the systems are designed to integrate well so that one type of system will be turning off just as a different type of system is turning on. It is certainly not that difficult to devise rules that will serve to eliminate most of the contradictory trading signals.

我们要建立多少头寸?当多头信号和空头信号同时出现时我们该如何建立头寸方向?等等这些问题是我们在同一市场中使用多重策略/系统时必然要面对的问题。其中一些问题是可以避免的,只要能协调好系统间的关系,当一种系统被触发时与之相反的系统就会自动关闭。我们不难通过建立一些规则来排除大部分相互矛盾的交易信号。

For example we can require that prices be above a specified moving average in order to initiate buy signals and below that same moving average to generate signals to sell short. Although such a rule might appear to avoid contradictory signals it is not foolproof. It is possible that an existing long position initiated at prices above the specified moving average might still be in place when a new entry is signalled in the opposite direction as a result of prices having drifted below the moving average. In this instance we have an open long position and a new signal to sell short.

例如,在产生买入信号前我们要求价格必须在某一移动平均线之上,在产生卖空信号前我们要求价格必须在某一移动平均线之下。尽管这样的规则能避免产生一些相互矛盾的信号,但不能完全避免。比如当价格低于某一移动平均线时系统发出卖空信号,然而此时我们还持有在价格高于该移动平均线时建立的多头仓位,也就是说在我们持有多头仓位的时候又接到一个卖空的入场信号,这种相互矛盾的情形是有可能出现的。

Although it is theoretically possible to have two or more accounts and hold both long and short positions at the same time, the common solution is to simply trade the net position. Two longs and a short is a net position of one long. A long and a short is a net position of no contracts. The large CTAs who are trading multiple systems usually trade net positions and some of them easily operate 50 or more systems at a time.

尽管理论上我们可以同时持有两个或两个以上的账户,因而能同时持有多头和空头头寸,但一般的解决方法是简简单单的持有两者相互抵消后的净头寸。两个多头头寸和一个空头头寸相互抵消后的净头寸是一个多头头寸;一个多头头寸和一个空头头寸相互抵消后的净头寸为零。许多使用多重系统的商品交易顾问(CTA)通常只建立净头寸,其中有些人能同时轻松的使用50种以上的系统。(译者的疑问:同时使用50种系统,太夸张了吧)

Another possibility with the multiple position strategy is to operate with a limited exposure in terms of the maximum number of contracts traded at one time. For example, assume we wanted to trade all six of our bond systems and never have more than three contracts on at one time. For starters, the design of the bond systems makes it unlikely that we would ever have more than three positions in the same direction. But let's assume that it does happen and we are holding three long positions and a fourth system kicks in and says to go long again. We could choose to operate on a first come basis and simply ignore the fourth signal. However, as the designer of these systems I believe there might be a better solution.

当我们要限定交易暴露的风险时,也即规定同时持有的合约数目的最大量,我们会面对另一种可能出现的问题。例如,假定我们同时使用6个债券交易系统,而且我们同时持有的合约数量不得超过3个。一开始债券交易系统被设计成不会让我们在同一个方向建立3个以上的仓位,然后我们持有3个多头头寸,再然后出现第四个信号让我们再次入场做多。我们可能选择忽略第四个信号,仅按原先的入场基准坚持仓位。然而,作为这些债券系统的设计者,我相信还有更好的解决办法。

for starters 第一;首先;作为开头

I would suggest trading on the basis of giving priority to the most recent signal. If we were long three contracts and got a signal to go long again, I would switch the oldest open position and trade it as though it were the new signal. Lets say that we are long on systems A, B, and C. Then system D gives a buy signal. No new trade is entered and we operate the exits as though we are long in systems B, C and D.

我则建议根据最新的信号进行交易。如果我们已经建立了3笔多头仓位,然后又得到一个入场做多的信号,我会将之前建立的第一笔多头仓位的交易基准转换到最新信号上,这样该仓位就像是根据最新的入场信号建立起来的。比如,我们根据系统A 、 B 和 C建立起3笔多头仓位,然后系统D给出一个买入信号,虽然此时我们没有再次进行新的交易,但效果上相当于做了一次虚拟的交易,因为我们现在是根据系统B , C和D来持有多头仓位的。

The reason I prefer this method is because I know the effort that is put into designing the pre-entry setups for each system. These pre-entry setups are designed to give us an accurate reading of market conditions just as we enter each trade. These pre-entry conditions not only tell us the direction (up, down or sideways) but often tell us the present strength of the directional trend and the best time frame to be trading right now. By switching from the old position in system "A" into the new position in system "D", we will gain the benefit of using system "D's exit strategy which is most likely to be in tune with current market conditions. I like to call this process "System Updating". There is no order needed or entered with our broker to "Update" our systems. We simply stop placing exit orders for system A and commence placing exit orders for system D instead.

我之所以选择这种方法是因为每个系统的设置都是经过精心设计的。设计这些设置的目的是在我们入场交易前市场背景必须满足一定的条件。这些市场背景不仅告诉我们趋势方向(上升、下降还是横盘整理),在很多情况下还能告诉我们当前趋势的力度以及我们应该选择的交易时间框架。把原先系统“ A ”的头寸转换为系统“ D ”的头寸,我们就能使用系统D的离市策略,这会使我们受益,因为系统D有可能更适合当前的市场状况。我喜欢把这种转换过程叫做“系统更新”。在这个系统“更新”过程中,我们既不需要下订单,也不需要经纪人,需要的仅仅是取消原来系统 A设置的止损单,代之以系统D设置的止损单。

Another possibility is to limit our open positions to one long term strategy and one short term strategy so that we can monitor all six systems without having more than two positions on at one time. If we have one long term position on we will only enter a second position when it is a short term entry signal. All additional long term signals are ignored or we employ the "Updating" technique described above.

[ 本帖最后由 一朵祥云 于 2009-1-31 23:08 编辑 ]
另一种情况是我们可以将我们的交易限定在长线交易策略和短线交易策略范围内,这样即使我们同时检测6个交易系统,我们同时持有的仓位也不会超过2笔。如果我们已经建立了一个长线仓位,那么我们仅当得到短线交易信号的时候才入场建立第二笔仓位。我们要么忽略以后得到的所有长线交易信号,要么采用前面所示的“更新”技术。

As you can see, trading six systems at once does not require that we ever have six positions on at any time. In fact the specific intent designed into the multiple bond strategies is to never have more than one or two positions on at one time unless we are in a strong bull market where trading is easy and usually very low risk. In that ideal market environment we want to have as many positions on as our capital and system signals will allow. If the systems operate as designed we might have as many as four open positions under these ideal conditions. Any more than that would be very unlikely and easily handled.

如上讨论,同时使用6个交易系统并不意味着在交易过程中的某时某刻我们会同时持有6笔仓位。事实上,我们的债券市场多重交易策略的一个内含准则是:我们一般不同时持有一笔或两笔以上的仓位,除非我们正处在一个强劲的牛市,此时交易即简单而且通常风险也很低,在这种理想的市场环境中我们会在资金和系统允许的范围内持有尽可能多的头寸。按照我们设计的系统,在这种理想的条件下,我们最多同时持有4笔头寸。超过该头寸规模的可能性很小而且也很难管理。

In summary, the systems themselves should take care of most of the position sizing automatically. But in case we want to limit our exposure or use other position sizing methods there are many ways of applying logical and creative strategies that will limit our open positions to whatever number we desire. We have only illustrated a few of the many possibilities

总之,多重系统本身应该能自动照顾自己的头寸规模。但是,如果我们想限制我们的头寸暴露或者使用其他头寸调整方法,我们还能通过许多合理的有创造性的策略来限制我们的头寸规模,我们仅列举了其中部分可能的方法。

3、【抛砖引玉贴】如何精确控制实时交易

http://www.tradeblazer.net/forum/thread-4510-1-23.html

关于控制同方向重复发单,在第一页,已解决;
关于控制不同方向反复平仓、开仓的问题,从第二页开始,已解决;



改系统基于5min,由历史测试代码转换而来。
只是在模拟交易中,只有当日的第一根BAR有交易动作,后面其它符合开平仓条件的bar上都没有交易。
请各位帮忙看下,问题出在什么地方?
非常感谢
其中全局变量等于0表示不持仓;等于1表示持多仓;等于-1表示持空仓。
当满足条件时,平仓后立刻反手开仓。

Begin
... ...
If(BarStatus==0)
       SetGlobalVar(0,0);   //将交易系统的初始持仓状态设为“不持仓”。
If((Time<0.145500)&&(BarStatus==2))   //在14:55时之前,且为超级图表的当前Bar时。
{
       If(condition1)   //达到价格买入条件。
       {
               If((A_BuyPosition==0)&&(A_SellPosition==0))   //达到账户买入条件:检查交易账户的持仓状态为“不持仓”。
               {
                       If(GetGlobalVar(0)==0)   //且全局变量所记录的系统账户的持仓状态也为“不持仓”。
                       {
                               A_SendOrder(Enum_Buy,Enum_Entry,P,BuyPrice);   //发多单。
                               SetGlobalVar(0,1);   //一旦发出多单,便将交易系统的持仓状态设为“持多仓”,记录全局变量为1。
                       }
                }
               If((A_BuyPosition==0)&&(A_SellPosition<>0))   //达到账户买入条件:检查交易账户的持仓状态为“持空仓”。
               {
                       If(GetGlobalVar(0)==-1)   //且全局变量所记录的系统账户的持仓状态也为“持空仓”。
                       {
                               A_SendOrder(Enum_Buy,Enum_ExitToday,P,BuyPrice);   //发平空单。
                               A_SendOrder(Enum_Buy,Enum_Entry,P,BuyPrice);   //发多单。
                               SetGlobalVar(0,1);   //一旦平空单及多单发出,便将交易系统的持仓状态设为“持多仓”,记录全局变量为1。
                        }
                }
        }
        If(condition2)   //达到价格卖出条件。
        {
                If((A_BuyPosition==0)&&(A_SellPosition==0))   //达到账户卖出条件:检查交易账户的持仓状态为“不持仓”。
                {
                        If(GetGlobalVar(0)==0)   //且全局变量所记录的系统账户的持仓状态也为“不持仓”。
                        {
                                 A_SendOrder(Enum_Sell,Enum_Entry,P,SellPrice);   //发空单。
                                 SetGlobalVar(0,-1);   //一旦空单发出,便将交易系统的持仓状态设为“持空仓”,记录全局变量为-1。
                         }
                 }
                 If((A_BuyPosition<>0)&&(A_SellPosition==0))   //达到账户卖出条件:检查交易账户的持仓状态为“持多仓”。
                 {
                         If(GetGlobalVar(0)==1)   //且全局变量所记录的系统账户的持仓状态也为“持多仓”。
                         {
                                 A_SendOrder(Enum_Sell,Enum_ExitToday,P,SellPrice);   //发平多单。
                                 A_SendOrder(Enum_Sell,Enum_Entry,P,SellPrice);   //发空单。
                                 SetGlobalVar(0,-1);   //一旦平多单及空单发出,便将交易系统的持仓状态设为“持空仓”,记录全局变量为-1。
                          }
                  }
         }
}
If((Time>0.145500)&&(BarStatus==2))   //在14:55时后,且为超级图表的当前Bar时。
{
         If(A_BuyPosition<>0)
                  A_SendOrder(Enum_Sell,Enum_ExitToday,P,Open);
         If(A_SellPosition<>0)
                  A_SendOrder(Enum_Buy,Enum_ExitToday,P,Open);
}
End

发表于 2009-4-13 10:21 | 只看该作者

我觉得您没有必要再用A_BuyPosition和A_SellPosition判断了,都用全局变量来记录就行了。

因为您用A_SendOrder发单之后,但A_BuyPosition不会马上变,可能需要1-N秒钟才会更新,这样就可能导致您的控制出错。

您可以用一个全局变量来记录你的实际仓位。只有初始化的时候才读取A_BuyPosition的值,后面就自行记录了。
发表于 2009-4-15 21:09 | 只看该作者
原帖由 nopain 于 2009-4-13 10:21 发表
我觉得您没有必要再用A_BuyPosition和A_SellPosition判断了,都用全局变量来记录就行了。

因为您用A_SendOrder发单之后,但A_BuyPosition不会马上变,可能需要1-N秒钟才会更新,这样就可能导致您的控制出错。

您可以用一个 ...


这样可能是行不通的,不使用A函数来查询实时账户持仓,使用高频数据会产生锁仓。
例如:当你持多仓,并发出平多反空单时,一般不会及时成交。
如果在撤单重发期间,系统又平空反多。那么就会“无空单可平”,并造成锁仓。

究其原因,使用全局变量+sendorder都不能反应实时账户的情况,只能控制重复发单。
因此,使用A函数是为了和实时账户同步
使用全局变量是为了控制重复发单。

使用A函数查询实时账户的确有延时,但在这里它只会造成滑点加大,不会控制出错。
发表于 2009-4-15 22:10 | 只看该作者
原帖由 saji 于 2009-4-13 21:19 发表
本来是开盘时,只成交一次。
经过,本人按7楼方法修改后,变为一个上午成交几百次。

看来代码还要进一步改进。用个TB好累啊


上述原因已找到:代码中我的开仓条件语句if(condition1或2)
其实是if(Low<=BuyPrice)及if(High>=SellPrice),其中BuyPrice和sellprice为变量。
这些语句返回的是True或Fause。

如果语句成立,每更新一个tick,系统都重新运行一遍,则每次都会返回True。
所以又反复交易了,只不过由于使用了全局变量记录持仓,因此系统不会朝一个方向重复开仓。
但是,如果在当前bar中Low<=BuyPrice且High>=SellPrice,那么系统就会不停的平多反空,再平空反多。
这就造成了交易上百次的情况出现。

因此,还需要再用个全局变量,来控制当前bar来回成交一次后,就不再反复交易了。
请各位指教。

[ 本帖最后由 saji 于 2009-4-15 22:12 编辑 ]
发表于 2009-4-17 11:49 | 只看该作者
原帖由 saji 于 2009-4-17 07:11 发表
艾~~看来不加个群不行啊,这里帖子都没人回。
关于控制当前bar来回成交一次的想法已经实现。
不能用全局变量,而是使用一个普通变量就可以了。
当前bar每发出一个开仓单,便使用该变量计数一次,计数器大于2则不能再开仓了。

...

盲目乐观了 ,鄙视下自己。。。。

使用简单变量作为计数器后,所得的结果仍是不断的重复开平仓。我估计原因如下:
如果每个Tick到来,系统都要重新计算的话,那么使用简单变量就不对了。
每次更新,简单变量都是重新从初始值(0)开始计算的,基本不可能超过2(Tick更新的速度肯定比交易快)。
于是“计数器大于2则不能开仓”的条件等于没说。

初步看来,要使用变量来作为计数器的思路是对的,但是需要使用一个在当前BAR范围内能记录变量变化过程的变量。
目前系统三种变量中:简单变量,不纪录变化过程,仅保留最后计算结果;
                                 序列变量,不记录当前BAR变化过程,仅记录之前BAR与BAR之间的变化过程;
                              全局变量,记录整个系统的变化过程;
而我所需要的变量是在当前BAR范围内的全局变量,一旦当前BAR更新,则全局变量需要复位归零。
因此,只能使用全局变量,并使用合适的语句控制。
目前看来,只要能够识别当前BAR更新的过程,那么就可以在BAR更新时,使全局变量归零,达到目的。

但识别当前BAR更新,意味着要判别更新的那一刻(瞬时状态),而非一个持续状态。用变量大于或小于某个值似乎只能用于持续状态,不能适用于瞬时状态。
本人目前所想到的思路是使用时间函数来控制,若是5min频度的话,那么当Time==5分钟节点,则全局变量归零。

各位大人有什么好主意,请执教。
1
评分人数

发表于 2009-4-17 12:52 | 只看该作者
谢谢nopain老大的加分!

如何判断时间节点:本人设想,
先设置一参数,TimeFreq(5),代表当前系统所应用的时间频率,初始值为5;
使用CurrentTime与TimeFreq相除的余数为0来判断。

If(FracPart(CurrentTime*1000/TimeFreq)==0)
{
        SetGlobalVar(1,0);       //将计数器归零
}

等下午开盘后,测试下。。。
实盘验证上述方法完全可行。
4、关于回溯测试和自动交易同步的处理
http://www.tradeblazer.net/forum/thread-423-1-7.html
最近,总有一些朋友问到如何编写公式代码,来处理测试和自动交易的资金、持仓及成交价等信息不匹配的问题。此问题是自动交易一个普遍存在的问题,因此,单独开贴进行讨论。

首先,我们需要理清几个概念:

回溯测试:(Back-Testing),将交易系统应用到历史数据当中,产生相应的买卖动作,并根据这些买卖动作产生详细的测试报表。

自动交易:将回溯测试在最新数据(图表中最后一个Bar)下产生的买卖讯号,应用到指定的帐号中,进行实时自动交易。

根据上面的叙述,我们可以得知,回溯测试在图表中最后一个Bar的讯号反映到交易账户中即自动交易,但是实际运行中,很多情况下用户不会完全按照交易指令的指示进行交易。这样就会出现真实交易时,通过回归测试产生的交易数量及价格并不是我们期望的。这个时候就需要我们通过编写公式代码进行控制,达到预期的效果。(最完美的处理方式是尽量让测试资金,持仓和真实情况一致,这样就不需要进行任何同步操作,以下的信息也都可以忽略啦

在需要处理的情况下,可分为开仓和平仓两种情况,以下分别进行讨论。
发表于 2007-9-13 22:23 | 只看该作者

开仓的处理

开仓情况下,以多头买入为例:

在回溯测试中产生开仓买入的指令,然后将该指令应用到交易账户中,可能出现2种情况:
1、交易账户的资金和回溯测试的资金不匹配,此时我们应该按照交易帐户的资金量来进行开仓。
2、交易账户的持仓和回溯测试的持仓不匹配,此时我们应该考虑是进行仓位同步,还是忽略该买入操作。
大致的处理代码如下:
If(BuyCondition) // 买入开仓条件满足
{
    lots = ...;       // 回溯测试计算出的交易数量
    entryPrice = ...; // 回溯测试计算出的交易价格
   
    If(BarStatus == 2) // 当前Bar为最后的一个Bar
    {
        lots = (A_FreeMargin*0.2)/(Q_AskPrice*ContractsUnit*BigPointValue*MarginRatio); // 假定按照可用资金的20%开仓
        lots = IntPart(lots);   // 取整
        entryPrice = Q_AskPrice;        // 按当时的叫卖价买入
       
        If(CurrentContracts()!=A_TotalPosition()) // 回溯测试的仓位和真实仓位不一致
        {
            // 根据您的需要进行处理,A_TotalPosition是合计的仓位,可通过A_BuyPosition,A_SellPosition取出买卖持仓.
                   
        Buy(lots,entryPrice);
    }else
    {
        Buy(lots,entryPrice);   // 回溯测试的其他Bar直接买入
    }
}

平仓的处理

平仓的情况,以多头卖出为例:

在回溯测试中产生平仓买出的指令,然后将该指令应用到交易账户中,可能出现2种情况:
1、交易账户的持多仓不足,或者是持有空仓。这个时候我们可以是平掉不足的多仓,也可以选择忽略该平仓操作,还可以平掉空仓。
2、交易账户的持多仓比回溯测试要平的多,这个时候我们可以选择只平测试讯号产生的部分,也可以全部平掉。

大致的处理代码如下:
If(SellCondition) // 卖出平仓条件满足
{
    lots = ...;      // 回溯测试计算出的交易数量
    exitPrice = ...; // 回溯测试计算出的交易价格
   
    If(BarStatus == 2) // 当前Bar为最后的一个Bar
        
        exitPrice = Q_BidPrice; // 用当时的叫买价卖出
       
        If(CurrentContracts()!=A_TotalPosition()) // 回溯测试的仓位和真实仓位不一致
        {
            // 根据您的需要进行处理,A_TotalPosition是合计的仓位,可通过A_BuyPosition,A_SellPosition取出买卖持仓.
        }
       
        If(A_BuyPosition >= lots)
        {
            Sell(lots,exitPrice);
        }
    }else
    {
        Sell(lots,exitPrice);   // 回溯测试的其他Bar直接卖出
    }
}
5、A_buyposition函数的用法?

A_buyposition函数的用法?

1. A_buyposition函数调用的当前帐户的持仓量?或是持仓状态(空与多)?
  2.marketposition是指持仓状态,在实盘程序测试中,买卖信号反复,导置同时拥有多单与空单,等买卖信号在次出现时,就拥有几手空单或多单.
  3.如果要消除上述的情况,上述可结合使用吗?该如何编写?
发表于 2007-11-9 11:20 | 只看该作者
1、A_buyposition是当前真实账户,当前商品的持多仓量。
2、MarketPosition是指测试过程中的持仓状态,不会出现锁仓的情况。在做真实交易时,需要尽量同步真实账户和测试的仓位及资金等信息。

您可以看看这个帖子:
http://www.tradeblazer.net/forum/thread-423-1-7.html
6、能说说:MarketPosition和A_TotalPosition的区别吗?
[转载]交易开拓者对多周期交易的问题 发表于 2008-3-21 19:18 | 只看该作者
也搞了很长时间,体会如下:
1)MarketPosition 用于回溯帐户,A_TotalPosition的用于交易帐户;
2)两个标识在开仓时相互不会影响;
3)注意!平仓时,A_TotalPosition指示有仓位,而MarketPosition指示空仓,或相反仓位,交易帐户平不了仓!交易帐户平仓还要对应回溯帐户的仓位,不可思议!!我现在就这个问题一直解决不了!!!

试想:如果有不一致的地方,交易帐户的止损就实现不了,这还怎么实现自动交易,让人怎么能放心走开?不就失去了自动交易的意义吗?

自己的体会,不一定正确,希望有权威的回答,和权威的解决方案(有关信号消失、同步问题的处理,坛子里的帖子我都看了,解决的并不彻底或不可靠!)
再研究一阵子,如果还是解决不了,我就只好放弃了,重新研究MT了,民生银行现在用MT平台了。
发表于 2008-3-22 12:33 | 只看该作者

真实交易状态和测试状态不同步的问题我相信MT4一样存在。
委托单不能保证成交的从理论上就没有可能得到完全的解决。
要想完全控制可以考虑全部用A函数来实现。在测试上把系统的各项参数测试稳定了,然后做一个直接交易的版本,通过获取委托单的状态,自行控制撤单重发。当然复杂程度大增。
如果您觉得测试+交易助手的写法不能实现您的系统,那就研究一下A函数及全局变量控制吧。

7、刀疤老二:“风险报酬比”

http://www.tradeblazer.net/forum/thread-3967-1-29.html

 

刀疤老二:“风险报酬比”

这波强力的拉抬,很多人被轧空(看融券余额即知),必须提醒一件事,这波初期会做错很正常,但如果从头错到尾(被轧1000点!?),那就是操作的问题了。或者如果你目前为止操作的并不顺手,下面这个例子,务必反复看到懂为止,一定要领悟出何谓操盘,你会发现操盘并不难。
  我举个例子,我在12/29尾盘时放空台指,放空原因很简单:
  1、12/13-12/29是个下跌势;
  2、在下跌势中,未过12日线都是良好空点,12/28又大拉200点,下跌势中逢弹放空,天经地义;
  3、尾盘高点比早盘低,为衰弱现象。
  这笔交易最后停损出场,亏损在100点内。我在刚建立部位时,部位是有利润的,但是利润并不多。当我认为利润会有300点以上时,我会进场交易,停损在100点“内”(即使亏损只有50点,我认为我看错了就会平仓出场)。
  我的想法是,“这是个跌势的中途,所以我在反弹时放空”。12/28-1/2的5分线构成一个“组合”,这种组合为良好的交易良机,怎么说呢?12 /28大拉上攻,以10:30为中线,分两段攻击,所以10:30那个低点在5分线上就是个支撑。12/29回档(买卖差 -40几万),早盘高点就是压力,所以操作上只有两条路:
  1、看涨的:12/28中场支撑处(约4675)做多,卖压出笼(之所以强调要有卖压是怕假突破)杀破就停损;
  2、看跌的:12/29早盘高点压力处(约4810)放空,买卖差如为正数(同理,也是怕假突破)拉抬过此点就停损。
  当然不论选择哪个,亏损100点就强迫停损,这是最后底限。
  会看涨的理由,是因为10/19低点、11/21低点和12/28低点,3点连起来有一个下降信道,12/29仍在轨道下缘,有机会弹升。而我是看跌的,我认为破信道下缘会展开大跌的跌势,就像7月-9月那样,如按照我预期的走,会有一段可观的利润(就像9/5那笔交易,信道一跌破,放空利润可达 2000-3000点!),可能风报比(风险与报酬)超过1:10,能错过吗?
  不过,后来这笔交易在我看错之下,停损出场,但是思考一下,这笔交易如果我没出手对吗?
  要强调的是,不论你看对或看错,那都不重要,你必须要有自己的交易系统,必须知道何时该出手,何时不该出手。该出手时不一定会赚,但那些交易机会你必须把握。风报比1:3是我个人最低可接受范围,也就是说,当我认为会有300 点以上的行情时,我会进场交易,否则其它时刻不是我该出手的时机(因为当风报比为1:3时,10次交易只要抓到3次,报酬率就是正的,再将资本放大到 100万做一口,每笔最大损失约为总资本的2%,这样的资金控管为一个良好的配置,可能风险都在可接受范围,也不会对波动太为敏感)。如果中间抓到 1:10的机会,赚钱对你来说将是轻而易举,中间看错几次行情又如何呢?请记住,交易的目的是什么,不是当一个神准的算命师,而是要赚钱。你之所以来交易,目的是赚钱,而不是让自己变成一个预言家受人尊敬景仰。许多人花了太多时间想让自己的预测能力达到100%,中间大大小小的反弹都要抓出来,这样花下的时间过于庞大,且常会事倍功半。
  我认为许多人失败的原因不在看错行情,看错行情是交易的一部份,没有人可以避免看错,因为他不是神。许多老手进出了老半天,交易了10几年,报酬率还是负的,因为他仍停留在“猜行情”阶段,最大亏损与最大利润不成比例。只要简单问一个人他交易中每笔最大利润是多少,每笔最大亏损是多少,就知道他是赢家还是输家。
  基于以上所说的,研究盘势,只有一个目的,那就是找寻交易机会。永远将潜在利润与风险做为做大考量,不要对中间的小亏损斤斤计较,整个交易系统才是你要放最多心思的地方。
  下面是风报比为1:3时,交易进出为10次的盈亏情形,停损为100点,假设只做一口单:
  0胜:-1000点 = -20万
  1胜9负:-600点 = -12万
  2胜8负:-200点 = -4万
  3胜7负: 200点 = 4万(扣掉交易成本约2.5万还有赚)
  4胜6负: 600点 = 12万
  5胜5负:1000点 = 20万
  6胜4负:1400点 = 28万
  7胜3负:1800点 = 36万
  8胜2负:2200点 = 44万
  9胜1负:2600点 = 52万
  10胜:3000点 = 60万
  由上面得知,10次交易只要赢2次,亏损就会大幅减少,换言之,假设平均一个月进出10次,目标只要放在3胜即可,接下来都是获利。甚至于,我很肉脚,这个月进出10次全杠龟,只要某个月出现5胜5负,则又打平了。在这样的系统架构下,我们才会有较佳的获利机会。
  因为每个人的资金大小不同,操作风格也不同,能忍受的风险也不同,操作周期长短也不同,所以每个人自己的操作系统也不同。由这个观点,会出现一些情形:
  1、有些点,你知道他还会涨,但并不适合进场,因为风报比不佳;
  2、有些点,你并不知道他会涨或会跌,但仍可以进场,因为获利可能很可观;
  3、别人买进的点,并不一定适合你进场;
  4、你进场的点,别人也不一定适合进场;
  5、所以别人认为会涨或跌,对你来说可能没有意义。
  如果,这个部份可以真正领悟弄懂,“稳定的绩效“将不会再只是梦幻似的目标。“要成功必须跳脱猜行情阶段”,你一定要领悟这句话的含意。任何技术分析、基本分析、求神问卜…,都是猜行情。换言之,当你花下所有时间在判断行情走势时,你几乎无法成功。我们不能将命运交给上帝,不能将胜败ㄠ在行情的涨或跌上。系统的建立就是在为交易创造一个对交易者有益的环境,每个想成功的人都应该有一个适合他自己的交易系统。
  某位外国期货交易员,在自己建立一套成功的交易系统后,他说,交易很无趣,部位一建立,设好停损和停利后,中间的时间就很无聊,不知要怎么打发,呵,交易本来就是这么单纯,不是吗?

TB交易开拓者A函数和Q函数详解

 https://blog.csdn.net/weixin_30708329/article/details/99968108

 

//A函数详解///

//A函数主要在端口上进行下单操作

A_AccountID
说明 返回当前公式应用的交易帐户ID。
语法 String A_AccountID()
参数 无
备注 返回当前公式应用的交易帐户ID,返回值为字符串,无效时返回空串。
注:不能使用于历史测试,仅适用于实时行情交易。
示例:登录交易账号:Commentary("A_AccountID"+A_AccountID);


A_BrokerID
说明 返回当前公式应用的交易帐户对应的交易商ID。
语法 String A_BrokerID()
参数 无
备注 返回当前公式应用的交易帐户对应的交易商ID,返回值为字符串,无效时返回空串。
注:不能使用于历史测试,仅适用于实时行情交易。
示例:登录交易账号:Commentary("A_BrokerID"+A_BrokerID);

 

A_BuyAvgPrice
说明 返回当前公式应用的帐户下当前商品的买入持仓均价。
语法 Numeric A_BuyAvgPrice()
参数 无
备注 返回当前公式应用的帐户下当前商品的买入持仓均价,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例:登录交易账号+添加交易策略:PlotNumeric("A_BuyAvgPrice",A_BuyAvgPrice);

A_BuyPosition
说明 返回当前公式应用的帐户下当前商品的买入持仓。
语法 Numeric A_BuyPosition()
参数 无
备注 返回当前公式应用的帐户下当前商品的买入持仓,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 登录交易账号+添加交易策略当前持多仓2手,A_BuyPosition返回2。

A_BuyProfitLoss
说明 返回当前公式应用的帐户下当前商品的买入持仓盈亏。
语法 Numeric A_BuyProfitLoss()
参数 无
备注 返回当前公式应用的帐户下当前商品的买入持仓盈亏,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例:登录交易账号+添加交易策略:PlotNumeric("A_BuyProfitLoss",A_BuyProfitLoss);

A_CurrentEquity
说明 返回当前公式应用的交易帐户的动态权益。
语法 Numeric A_CurrentEquity()
参数 无
备注 返回当前公式应用的交易帐户的动态权益,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 登录交易账号+添加交易策略:

A_DeleteOrder
说明 针对当前公式应用的帐户、商品发送撤单指令。
语法 Bool A_DeleteOrder(String strContractNo = "")
参数 strContractNo 所要撤委托单的合同号。
strContractNo = "" 时撤该帐户,该商品所有未成交委托单。
备注 针对当前公式应用的帐户、商品发送撤单指令,发送成功返回True,发送失败返回False。
该函数可针对叠加商品进行处理,可用Data1.A_DeleteOrder(...)进行调用。
该函数直接发单,不经过任何确认,并会在每次公式计算时发送,一般需要配合著仓位头寸进行条件处理,在不清楚运行机制的情况下,请慎用。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 If (A_GetOpenOrderCount()>0)
{
A_DeleteOrder();
...
}
或者用如下方式撤最后发送的未成交单:
If(A_GetOpenOrderCount()>0) {
A_DeleteOrder(A_OpenOrderContractNo());
...
} //配合A_GetOpenOrderCount()函数和A_OpenOrderContractNo()函数一起使用;

A_FreeMargin
说明 返回当前公式应用的交易帐户的可用资金。
语法 Numeric A_FreeMargin()
参数 无
备注 返回当前公式应用的交易帐户的可用资金,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 登录交易账号+添加交易策略:

A_GetLastOpenOrderIndex
说明 返回当前公式应用的帐户下当前商品的最后一个未成交委托单索引,按输入参数为条件。
语法 Integer A_GetLastOpenOrderIndex(Integer BuyOrSell,Integer EntryOrExit)
参数 BuyOrSell 发送委托单的买卖类型,取值为Enum_Buy或Enum_Sell之一;
EntryOrExit 发送委托单的开平仓类型,取值为Enum_Entry,Enum_Exit,Enum_ExitToday之一;
备注 返回当前公式应用的帐户下当前商品的最后一个未成交委托单索引,按输入参数为条件,返回值为整型。
如果返回值不等于InvalidInteger,即为有效,可通过该索引获取相关的委托单状态,价格,数量等信息。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 LastIndex = A_GetLastOpenOrderIndex(Enum_Buy,Enum_Entry);
If(LastIndex != InvalidInteger)
{
orderPrice = A_OpenOrderPrice(LastIndex);
...
}

A_GetLastOrderIndex
说明 返回当前公式应用的帐户下当前商品的最后一个当日委托单索引,按输入参数为条件。
语法 Integer A_GetLastOrderIndex(Integer BuyOrSell,Integer EntryOrExit)
参数 BuyOrSell 发送委托单的买卖类型,取值为Enum_Buy或Enum_Sell之一;
EntryOrExit 发送委托单的开平仓类型,取值为Enum_Entry,Enum_Exit,Enum_ExitToday之一;
备注 返回当前公式应用的帐户下当前商品的最后一个当日委托单索引,按输入参数为条件,返回值为整型。
如果返回值不等于InvalidInteger,即为有效,可通过该索引获取相关的委托单状态,价格,数量等信息。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 LastIndex = A_GetLastOrderIndex(Enum_Buy,Enum_Entry);
If(LastIndex != InvalidInteger)
{
orderPrice = A_OrderPrice(LastIndex);
...
}

A_GetOpenOrderCount
说明 返回当前公式应用的帐户下当前商品的未成交委托单数量。
语法 Integer A_GetOpenOrderCount()
参数 无
备注 返回当前公式应用的帐户下当前商品的未成交委托单数量,返回值为整型。
该函数返回委托单数量中只包含未成交的类型:部分成交和已申报。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOpenOrderCount();
For i = 1 To nCount
{
nStatus = A_OpenOrderStatus(i);
...
}

A_GetOrderCount
说明 返回当前公式应用的帐户下当前商品的当日委托单数量。
语法 Integer A_GetOrderCount()
参数 无
备注 返回当前公式应用的帐户下当前商品的当日委托单数量,返回值为整型。
该函数返回委托单数量中包含所有的类型:全部成交,已申报,已撤单,部分成交等。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOrderCount();
For i = 1 To nCount
{
nStatus = A_OrderStatus(i);
...
}

A_OpenOrderBuyOrSell
说明 返回当前公式应用的帐户下当前商品的某个未成交委托单的买卖类型。
语法 Integer A_OpenOrderBuyOrSell(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个未成交委托单的买卖类型,返回值为整型。
该函数返回值可以与Enum_Buy、Enum_Sell等买卖状态枚举值进行比较,根据类型不同分别处理。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOpenOrderCount();
For i = 1 To nCount
{
nBorS = A_OpenOrderBuyOrSell(i);
If (nBorS == Enum_Buy())
...
}

A_OpenOrderContractNo
说明 返回当前公式应用的帐户下当前商品的某个未成交的委托单的合同号。(本函数范围是所有未成交的委托单的合同号,有区别于A_OrderContractNo)
语法 String A_OpenOrderContractNo(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个委托单的合同号,返回值为字符串。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOpenOrderCount();
For i = 1 To nCount
{
strContractNo = A_OpenOrderContractNo(i);
...
}

A_OpenOrderEntryOrExit
说明 返回当前公式应用的帐户下当前商品的某个未成交委托单的开平仓状态。
语法 Integer A_OpenOrderEntryOrExit(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个未成交委托单的开平仓状态,返回值为整型。
该函数返回值可以与Enum_Entry、Enum_Exit等开平仓状态枚举值进行比较,根据类型不同分别处理。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOpenOrderCount();
For i = 1 To nCount
{
nEntryFlag = A_OpenOrderEntryOrExit(i);
If(nEntryFlag == Enum_ExitToday())
...
}

A_OpenOrderFilledLot
说明 返回当前公式应用的帐户下当前商品的某个未成交委托单的成交数量。
语法 Numeric A_OpenOrderFilledLot(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个未成交委托单的成交数量,返回值为浮点数。
只有当前委托单为部分成交时,该函数才会返回有效值。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOpenOrderCount();
For i = 1 To nCount
{
OpenOrderFilledLot = A_OpenOrderFilledLot(i);
...
}

A_OpenOrderFilledPrice
说明 返回当前公式应用的帐户下当前商品的某个未成交委托单的成交价格。
语法 Numeric A_OpenOrderFilledPrice(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个未成交委托单的成交价格,返回值为浮点数。
只有当前委托单为部分成交时,该函数才会返回有效值。该成交价格可能为多个成交价格的平均值。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOpenOrderCount();
For i = 1 To nCount
{
OpenOrderFilledPrice = A_OpenOrderFilledPrice(i);
...
}

A_OpenOrderLot
说明 返回当前公式应用的帐户下当前商品的某个未成交委托单的委托数量。
语法 Numeric A_OpenOrderLot(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个未成交委托单的委托数量,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOpenOrderCount();
For i = 1 To nCount
{
OpenOrderLot = A_OpenOrderLot(i);
...
}

A_OpenOrderPrice
说明 返回当前公式应用的帐户下当前商品的某个未成交委托单的委托价格。
语法 Numeric A_OpenOrderPrice(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个未成交委托单的委托价格,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOpenOrderCount();
For i = 1 To nCount
{
OpenOrderPrice = A_OpenOrderPrice(i);
...
}

A_OpenOrderStatus
说明 返回当前公式应用的帐户下当前商品的某个未成交委托单的状态。
语法 Integer A_GetOpenOrderStatus(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个未成交委托单的状态,返回值为整型。
该函数返回值可以与Enum_Declared、Enum_FillPart委托状态枚举值进行比较,根据类型不同分别处理。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOpenOrderCount();
For i = 1 To nCount
{
nStatus = A_OpenOrderStatus(i);
If(nStatus == Enum_FillPart)
...
}

A_OpenOrderTime
说明 返回当前公式应用的帐户下当前商品的某个未成交委托单的委托时间。
语法 Numeric A_OpenOrderTime(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个未成交委托单的委托时间,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOpenOrderCount();
For i = 1 To nCount
{
OpenOrderTime = A_OpenOrderTime(i);
...
}

A_OrderBuyOrSell
说明 返回当前公式应用的帐户下当前商品的某个委托单的买卖类型。
语法 Integer A_OrderBuyOrSell(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个委托单的买卖类型,返回值为整型。
该函数返回值可以与Enum_Buy、Enum_Sell等买卖状态枚举值进行比较,根据类型不同分别处理。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOrderCount();
For i = 1 To nCount
{
nBorS = A_OrderBuyOrSell(i);
If (nBorS == Enum_Buy())
...
}

A_OrderCanceledLot
说明 返回当前公式应用的帐户下当前商品的某个委托单的撤单数量。
语法 Numeric A_OrderCanceledLot(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个委托单的撤单数量,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOrderCount();
For i = 1 To nCount
{
OrderCanceledLot = A_OrderCanceledLot(i);
...
}

A_OrderContractNo
说明 返回当前公式应用的帐户下当前商品的某个委托单的合同号。(本函数范围是所有的委托单的合同号,有区别于A_OpenOrderContractNo)
语法 String A_OrderContractNo(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个委托单的合同号,返回值为字符串。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOrderCount();
For i = 1 To nCount
{
strContractNo = A_OrderContractNo(i);
...
}

A_OrderEntryOrExit
说明 返回当前公式应用的帐户下当前商品的某个委托单的开平仓状态。
语法 Integer A_OrderEntryOrExit(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个委托单的开平仓状态,返回值为整型。
该函数返回值可以与Enum_Entry、Enum_Exit等开平仓状态枚举值进行比较,根据类型不同分别处理。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOrderCount();
For i = 1 To nCount
{
nEntryFlag = A_OrderEntryOrExit(i);
If(nEntryFlag == Enum_ExitToday())
...
}

A_OrderFilledLot
说明 返回当前公式应用的帐户下当前商品的某个委托单的成交数量。
语法 Numeric A_OrderFilledLot(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个委托单的成交数量,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOrderCount();
For i = 1 To nCount
{
OrderFilledLot = A_OrderFilledLot(i);
...
}

A_OrderFilledPrice
说明 返回当前公式应用的帐户下当前商品的某个委托单的成交价格。
语法 Numeric A_OrderFilledPrice(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个委托单的成交价格,返回值为浮点数。
该成交价格可能为多个成交价格的平均值。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOrderCount();
For i = 1 To nCount
{
OrderFilledPrice = A_OrderFilledPrice(i);
...
}

A_OrderLot
说明 返回当前公式应用的帐户下当前商品的某个委托单的委托数量。
语法 Numeric A_OrderLot(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个委托单的委托数量,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOrderCount();
For i = 1 To nCount
{
OrderLot = A_OrderLot(i);
...
}


A_OrderPrice
说明 返回当前公式应用的帐户下当前商品的某个委托单的委托价格。
语法 Numeric A_OrderPrice(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个委托单的委托价格,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOrderCount();
For i = 1 To nCount
{
OrderPrice = A_OrderPrice(i);
...
}

A_OrderStatus
说明 返回当前公式应用的帐户下当前商品的某个委托单的状态。
语法 Integer A_OrderStatus(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个委托单的状态,返回值为整型。
该函数返回值可以与Enum_Declare、Enum_Declared、Enum_Filled等委托状态枚举值进行比较,根据类型不同分别处理。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOrderCount();
For i = 1 To nCount
{
nStatus = A_OrderStatus(i);
If(nStatus == Enum_Filled)
...
}

A_OrderTime
说明 返回当前公式应用的帐户下当前商品的某个委托单的委托时间。
语法 Numeric A_OrderTime(Integer nIndex = 0)
参数 nIndex 当日委托单数组的索引值,以1为基值递增。
nIndex = 0 时取最后提交的委托单数据。
备注 返回当前公式应用的帐户下当前商品的某个委托单的委托时间,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 nCount = A_GetOrderCount();
For i = 1 To nCount
{
OrderTime = A_OrderTime(i);
...
}

A_PositionProfitLoss
说明 返回当前公式应用的帐户下当前商品的持仓盈亏。
语法 Numeric A_PositionProfitLoss()
参数 无
备注 返回当前公式应用的帐户下当前商品的持仓盈亏,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

A_PreviousEquity
说明 返回当前公式应用的交易帐户的昨日结存。
语法 Numeric A_PreviousEquity()
参数 无
备注 返回当前公式应用的交易帐户的昨日结存,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

A_ProfitLoss
说明 返回当前公式应用的交易帐户的浮动盈亏。
语法 Numeric A_ProfitLoss()
参数 无
备注 返回当前公式应用的交易帐户的浮动盈亏,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

A_SellAvgPrice
说明 返回当前公式应用的帐户下当前商品的卖出持仓均价。
语法 Numeric A_SellAvgPrice()
参数 无
备注 返回当前公式应用的帐户下当前商品的卖出持仓均价,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

A_SellPosition
说明 返回当前公式应用的帐户下当前商品的卖出持仓。
语法 Numeric A_SellPosition()
参数 无
备注 返回当前公式应用的帐户下当前商品的卖出持仓,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 当前持空仓3手,A_SellPosition返回3。

A_SellProfitLoss
说明 返回当前公式应用的帐户下当前商品的卖出持仓盈亏。
语法 Numeric A_SellProfitLoss()
参数 无
备注 返回当前公式应用的帐户下当前商品的卖出持仓盈亏,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

A_SendOrder
说明 针对当前公式应用的帐户、商品发送委托单。
语法 Bool A_SendOrder(Integer BuyOrSell,Integer EntryOrExit,Numeric Lot,Numeric Price,Numeric StopPrice,Numeric ProfitPrice)
参数 BuyOrSell 发送委托单的买卖类型,取值为Enum_Buy或Enum_Sell之一;
EntryOrExit 发送委托单的开平仓类型,取值为Enum_Entry,Enum_Exit,Enum_ExitToday之一;
Lot 委托单的交易数量;
Price 委托单的交易价格。
StopPrice 止损触发单触发价格。
ProfitPrice 止盈触发单触发价格。
备注 针对当前公式应用的帐户、商品发送委托单,发送成功返回True,发送失败返回False。
该函数可针对叠加商品进行处理,可用Data1.A_SendOrder(...)进行调用。
该函数直接发单,不经过任何确认,并会在每次公式计算时发送,一般需要配合著仓位头寸进行条件处理,在不清楚运行机制的情况下,请慎用。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 示例1:
If (A_BuyPosition()>0 && A_GetOpenOrderCount()==0)
{
A_SendOrder(Enum_Sell,Enum_Exit,A_BuyPosition(),Q_BidPrice());
...
}
注意:A_SendOrder不同于Buy和Sell指令,A_SendOrder只适用于实时行情中发送委托单,不可以用于测试。

示例2:控制A_SendOrder发单配合全局变量示例(开多仓)
if( /*开仓条件*/ && A_BuyPosition()==0 && GetGlobalVar(0)==0)
{
A_SendOrder(Enum_Buy,Enum_Entry,1,Q_AskPrice);
}

示例3:设置A_SendOrder止损止盈单触发价格(止盈触发价格7000,止损触发价格6000)
A_SendOrder(Enum_Buy,Enum_Entry,1,Q_AskPrice,6000,7000);


A_TodayBuyPosition
说明 返回当前公式应用的帐户下当前商品的当日买入持仓。
语法 Numeric A_TodayBuyPosition()
参数 无
备注 返回当前公式应用的帐户下当前商品的当日买入持仓,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

A_TodayDeposit
说明 返回当前公式应用的交易帐户的当日入金。
语法 Numeric A_TodayDeposit()
参数 无
备注 返回当前公式应用的交易帐户的当日入金,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

A_TodayDrawing
说明 返回当前公式应用的交易帐户的当日出金。
语法 Numeric A_TodayDrawing()
参数 无
备注 返回当前公式应用的交易帐户的当日出金,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

A_TodaySellPosition
说明 返回当前公式应用的帐户下当前商品的当日卖出持仓。
语法 Numeric A_TodaySellPosition()
参数 无
备注 返回当前公式应用的帐户下当前商品的当日卖出持仓,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

A_TotalAvgPrice
说明 返回当前公式应用的帐户下当前商品的持仓均价。
语法 Numeric A_TotalAvgPrice()
参数 无
备注 返回当前公式应用的帐户下当前商品的持仓均价,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

A_TotalFreeze
说明 返回当前公式应用的交易帐户的冻结资金。
语法 Numeric A_TotalFreeze()
参数 无
备注 返回当前公式应用的交易帐户的冻结资金,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

A_TotalMargin
说明 返回当前公式应用的交易帐户的保证金。
语法 Numeric A_TotalMargin()
参数 无
备注 返回当前公式应用的交易帐户的保证金,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

A_TotalPosition
说明 返回当前公式应用的帐户下当前商品的总持仓。
语法 Numeric A_TotalPosition()
参数 无
备注 返回当前公式应用的帐户下当前商品的总持仓,返回值为浮点数。
该持仓为所有持仓的合计值,正数表示多仓,负数表示空仓,零为无持仓。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无


///Q函数详解
//Q函数返回端口API的相关订阅数据。
//Q函数除了tick级别的周期,在其他周期都可以调用,但是只在最后一根bar
的位置显示tick每次订阅发送的当前数据。Q函数当中大多都是tick级别显示
的订阅数据。

Q_AskPrice
说明 当前公式应用商品的最新卖盘价格。
语法 Numeric Q_AskPrice(Integer nIndex=0)
参数 nIndex 买卖盘数组的索引值,以0为基值递增,默认值为0。
备注 当前公式应用商品的最新卖盘价格,返回值为浮点数。如果Index小于0或者大于等于BidAskSize,则返回无效值。
注:不能使用于历史测试,仅适用于实时行情交易。
示例:显示盘口的卖一的价格,或者有些软件中的盘口的卖出价位置的价格。

Q_AskPriceFlag
说明 当前公式应用商品的卖盘价格变化标志。
语法 Integer Q_AskPriceFlag()
参数 无
备注 当前公式应用商品的卖盘价格变化标志,返回值为整型,1为上涨,-1为下跌,0为不变。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_AskVol
说明 当前公式应用商品的最新卖盘量。
语法 Numeric Q_AskVol(Integer nIndex=0)
参数 nIndex 买卖盘数组的索引值,以0为基值递增,默认值为0。
备注 当前公式应用商品的最新卖盘量,返回值为浮点数。如果Index小于0或者大于等于BidAskSize,则返回无效值。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_AvgPrice
说明 当前公式应用商品的实时均价。
语法 Numeric Q_AvgPrice()
参数 无
备注 当前公式应用商品的实时均价,即结算价,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_BidPrice
说明 当前公式应用商品的最新买盘价格。
语法 Numeric Q_BidPrice(Integer nIndex=0)
参数 nIndex 买卖盘数组的索引值,以0为基值递增,默认值为0。
备注 当前公式应用商品的最新最新买盘价格,返回值为浮点数。如果Index小于0或者大于等于BidAskSize,则返回无效值。
注:不能使用于历史测试,仅适用于实时行情交易。
示例:显示盘口买一的价格。或者有些软件中的盘口的买入价位置的价格。

Q_BidPriceFlag
说明 当前公式应用商品的买盘价格变化标志。
语法 Integer Q_BidPriceFlag()
参数 无
备注 当前公式应用商品的买盘价格变化标志,返回值为整型,1为上涨,-1为下跌,0为不变。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_BidVol
说明 当前公式应用商品的最新买盘量。
语法 Numeric Q_BidVol(Integer nIndex=0)
参数 nIndex 买卖盘数组的索引值,以0为基值递增,默认值为0。
备注 当前公式应用商品的最新买盘量,返回值为浮点数。如果Index小于0或者大于等于BidAskSize,则返回无效值。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_Open
说明 当前公式应用商品的当日开盘价。
语法 Numeric Q_Open()
参数 无
备注 当前公式应用商品的当日开盘价,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_Close
说明 当前公式应用商品的当日收盘价。(当日未收盘则取得昨日收盘价。)
语法 Numeric Q_Close()
参数 无
备注 当前公式应用商品的当日收盘价,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_High
说明 当前公式应用商品的当日最高价。
语法 Numeric Q_High()
参数 无
备注 当前公式应用商品的当日最高价,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_HisHigh
说明 当前公式应用商品的历史最高价。(暂时不可用)
语法 Numeric Q_HisHigh()
参数 无
备注 当前公式应用商品的历史最高价,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_HisLow
说明 当前公式应用商品的历史最低价。(暂时不可用)
语法 Numeric Q_HisLow()
参数 无
备注 当前公式应用商品的历史最低价,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_InsideVol
说明 当前公式应用商品的内盘。
语法 Numeric Q_InsideVol()
参数 无
备注 当前公式应用商品的内盘,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_Last
说明 当前公式应用商品的最新价。
语法 Numeric Q_Last()
参数 无
备注 当前公式应用商品的最新价,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_LastDate
说明 当前公式应用商品的最新成交日期。
语法 Integer Q_LastDate()
参数 无
备注 当前公式应用商品的最新成交日期,返回值为Date类型。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_LastFlag
说明 当前公式应用商品的最新价变化标志。
语法 Integer Q_LastFlag()
参数 无
备注 当前公式应用商品的最新价变化标志,返回值为整型,1为上涨,-1为下跌,0为不变。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_LastTime
说明 当前公式应用商品的最新成交时间。
语法 Numeric Q_LastTime()
参数 无
备注 当前公式应用商品的最新成交时间,返回值为Time类型。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_LastVol
说明 当前公式应用商品的现手。
语法 Numeric Q_LastVol()
参数 无
备注 当前公式应用商品的现手,返回值为浮点数,单位为手。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_Low
说明 当前公式应用商品的当日最低价。
语法 Numeric Q_Low()
参数 无
备注 当前公式应用商品的当日最低价,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_LowerLimit
说明 当前公式应用商品的当日跌停板价。
语法 Numeric Q_LowerLimit()
参数 无
备注 当前公式应用商品的当日跌停板价,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_OpenInt
说明 当前公式应用商品的持仓量。
语法 Numeric Q_OpenInt()
参数 无
备注 当前公式应用商品的持仓量,返回值为浮点数,单位为手。仅对期货有效,其他商品返回无效值。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_OpenIntFlag
说明 当前公式应用商品的持仓量变化标志。
语法 Integer Q_OpenIntFlag()
参数 无
备注 当前公式应用商品的持仓量变化标志,返回值为整型,1为增加,-1为下降,0为不变。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_Oscillation
说明 当前公式应用商品的振幅。
语法 Numeric Q_Oscillation()
参数 无
备注 当前公式应用商品的振幅,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_OutsideVol
说明 当前公式应用商品的外盘。
语法 Numeric Q_OutsideVol()
参数 无
备注 当前公式应用商品的外盘,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_PreOpenInt
说明 当前公式应用商品的昨日持仓量。
语法 Numeric Q_PreOpenInt()
参数 无
备注 当前公式应用商品的昨日持仓量,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_PreSettlePrice
说明 当前公式应用商品的昨日结算价。
语法 Numeric Q_PreSettlePrice()
参数 无
备注 当前公式应用商品的昨日结算价,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_PriceChg
说明 当前公式应用商品的当日涨跌。
语法 Numeric Q_PriceChg()
参数 无
备注 当前公式应用商品的当日涨跌,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_PriceChgRatio
说明 当前公式应用商品的当日涨跌幅。
语法 Numeric Q_PriceChgRatio()
参数 无
备注 当前公式应用商品的当日涨跌幅,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_TickChg
说明 当前公式应用商品的最新笔升跌。
语法 Numeric Q_TickChg()
参数 无
备注 当前公式应用商品的最新笔升跌,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_TodayEntryVol
说明 当前公式应用商品的当日开仓量。
语法 Numeric Q_TodayEntryVol()
参数 无
备注 当前公式应用商品的当日开仓量,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_TodayExitVol
说明 当前公式应用商品的当日平仓量。
语法 Numeric Q_TodayExitVol()
参数 无
备注 当前公式应用商品的当日平仓量,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_TotalVol
说明 当前公式应用商品的当日成交量。
语法 Numeric Q_TotalVol()
参数 无
备注 当前公式应用商品的当日成交量,返回值为浮点数,单位为手。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_TurnOver
说明 当前公式应用商品的成交金额。
语法 Numeric Q_TurnOver()
参数 无
备注 当前公式应用商品的成交金额,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

Q_UpperLimit
说明 当前公式应用商品的当日涨停板价。
语法 Numeric Q_UpperLimit()
参数 无
备注 当前公式应用商品的当日涨停板价,返回值为浮点数。
注:不能使用于历史测试,仅适用于实时行情交易。
示例 无

QuoteDataExist
说明 当前公式应用商品的行情数据是否有效。
语法 Bool QuoteDataExist()
参数 无
备注 当前公式应用商品的行情数据是否有效,返回布尔值。如果数据已经准备好,返回True,则返回False。
示例 无

水热反应釜操作说明

 一 用途    水热合成反应釜又叫(压聚合反应釜,消解罐,高压消解罐、高压罐、反应釜、压力溶弹、消化罐、水热合成釜、实验用反应釜。)是为在一定温度、一定压力条件下合成化学物质提供的反应器。它广泛应用于新材料、能源、环境工程等领域的科研试验中,是高校教学、科研单位、化工实验室进行科学研究的常用小型反应器。       

二 特点 1.水热合成反应釜采用优质无磁性304不锈钢精加工而成。内胆有聚氟乙烯套、不锈钢等双层护理,可耐酸,碱等。外形美观,结构合理,操作简便,抗腐蚀性好等特点,是高校实验室,环境监测,卫生防疫,质量监督等科研领域做样品消化处理的理想产品。 2.釜体与釜盖拧紧即可起到密封作用、密封效果长期稳定无泄漏。相应的工作压力不超过3MPa,温度220度以内。可根据不同样品的技术指标,确定不同的加热温度及加热时间。    3.水热合成反应釜采用外加热方式,以缩小体积,并有利多反应釜处于同一反应操作温度(如将多个反应釜置于烘箱中加热)。    

三 技术参数 名称:水热合成反应釜 规格:25ml 50ml 100ml 150ml 200ml 250ml 300ml 400ml 500ml 材质:外壳材质为304优质不锈钢  内衬材质为PTFE聚四氟乙烯 温度:安全温度220℃ 压力:极限压力为3Mpa   

四 操作步骤 1.将反应物倒入聚四氟乙烯衬套内,并保证加料系数小于0.8。  2.确保釜体下垫片位置正确(凸起面向下),然后放入聚四氟乙烯衬套和上垫片,先拧紧釜盖,然后用螺杆把釜盖旋扭拧紧为止。   3.将水热合成反应釜置于加热器内,按照规定的升温速率升温至所需反应温度。(小于规定的安全使用温度)。   4.当确认腹内温度低于反应物系种溶剂沸点后方能打开釜盖进行后续操作。待反应结束将其降温时,也要严格按照规定的降温速率操作,以利安全和反应釜的使用寿命。   5.水热合成反应釜每次使用后要及时将其清洗干净,以免锈蚀。釜体、釜盖线密封处要格外注意清洗干净,并严防将其碰伤损坏。 

Friday, October 16, 2020

Writing Enhancement Tools

 http://discuss.cle.ust.hk/mediawiki/index.php?title=Writing_Enhancement_Tools

 

Contents

Introduction

English writing enhancement tools refer to those for writing enhancement purposes which are programs used to provide proofreading, polish writing for pupils and make some part of education more effective and efficient. It covers many categories which are including lexical resources, grammar check, writing polish, writing format tools, etc. English writing enhancement tools serve as tools both for native speakers (NS) and non-native speakers (NNS).

Background Theory

"Writing across the Curriculum"

This is an influential approach to teaching writing within the disciplines. Students' literacy problems become most obvious in their writing (Wingate,2018). As an important part of students' academic literacy, writing instruction within the discipline is of great importance for institutions, teachers and students. Like the Academic Word List, it provides 570-word families which aims at academic purpose could serve as a role for teachers and students in academic writing. Like the writing polish tools, currently, numerous tools could be used in the discipline's perspective. Aiming at enhancing and polishing writing, online writing enhancement tools are of utmost benefit in the movement of "Writing Across the Curriculum".

The SAMR Model

The SAMR Model

As a way for teachers to evaluate how their cooperating with technology into their instructional practice and evaluate how technology integrating in the classroom, the SAMR model, proposed by Puentedura (2010, 2013), is stratified into four levels, including Substitution, Augmentation, Modification and Redefinition. The SAMR model could serve as a role of evaluating the use of technology, designing tasks (targeting high order thinking skills), engaging students in rich learning experiences and impact students' achievements. Writing enhancement tools in the SAMR model could be illustrated with augmentation tool, which could enhance productivity via the tool of spell checking/ grammar checking; modification tool, which could aid creative writing via feedback and enhancement suggestions; redefinition tool, which would be of great benefits for students' creation, critical thinking, collaboration and communication.

Error Analysis (EA)

The fact that not all errors are explicable by Contrastive Analysis (CA) resulted in a disillusionment with contrastive analysis. Gradually CA was replaced by the error analysis movement; a major claim is that many errors made by L2 learners were caused by factors other than L1 interference.

(1) Error vs. Mistake: In the literature on error analysis, errors and mistakes are offer differentiated (Lyster & Ranta, 1997). Errors usually result from the leaners' lack of knowledge, which represents a lack of competence. In other words, learners do not know the right form or are unable to use language correctly. However, mistakes often occur when learners fail to perform their competence. In other words, the learner has already learned the knowledge or skill but simply cannot function correctly due to lack of attention or other factors.

(2) Different types of errors: interlingual errors and intra-lingual errors; omissions, additions, double markings, mis-formations and mis-orderings.

(3) The procedure of error analysis: Recognition -- Description -- Explanation Via various types of feedback and error analysis, writing enhancement tools are regarded as tools for enhancing students' academic writing. Besides, as the study of Yilmaz (2016) indicated that feedback exposure condition exerts influence on the extent to which learners benefit from feedback.

Input and Language Learning

Comprehensible input: According to Krashen's input hypothesis (1985), learners acquire language as a result of comprehending input addressed to them. Krashen brought forward the concept of the "i+1 principle". Input should neither be so far beyond their ability that they are overwhelmed, nor so close to their current stage that they are not challenged at all.

Input in SLA: The roles of frequency, form and function (Ellis, 2009): The investigations reported broadly adopt functional linguistic, cognitive-linguistic, psycholinguistic, corpus-linguistic and constructionist perspectives. Based on input frequency, input form and the function of input, input matters are regarded useful for L2 learners.

Situated Learning

Learning is situated in the activity in which it takes place. Learning is doing. Meaningful learning will only take place if it is embedded in the social and physical context within which it will be used. Knowledge is situated, being in part a product of the activity, context, and culture in which it is developed and used. Therefore, learning methods that are embedded in authentic situations are not merely useful; they are essential (Brown et al 1989)

Intelligent CALL

Informative and error-specific feedback, instructional guidance and scaffolding. Writing enhancement and polish tools could be seen as good examples for intelligent CALL.

Technology Enhanced Language Learning (TELL)

Considering the roles in TELL(Walker & White, 2013), it could be divided into role as a tutor, role as a tutee, role as a tool and role as a medium. As for the role as a tutor, it emphasize the language input through technology. Writing enhancement tools like corpus, lexical resources tools and polish writing tools can provide various kinds of language input through technology. Through trials and errors, writing enhancement tools enable learners to learn and acquire new knowledge in the process of learning.

Online Writing Enhancement Tools for ESL Learning

Corpus

Corpus of Contemporary America English (COCA)

COCA

Corpus of Contemporary American English (COCA) is currently the largest free English corpus. It consists of texts containing 520 million words. These texts are composed of five different types of spoken language, novels, popular magazines, newspapers, and academic articles. Stylistic composition. From 1990 to 2015, the corpus expanded at an annual rate of 20 million words to ensure the timeliness of the corpus content. Therefore, the American contemporary English corpus is considered to be the most suitable English corpus for observing the current development of American English.

Compared with traditional dictionaries, COCA has the following advantages:

(1) The text of the corpus is relatively real-time. Words such as life satisfaction and social media are not included in many traditional dictionaries, but can be found in the corpus.

(2) The corpus can provide word frequency information of a word, which helps us understand the frequency of occurrence of the word in practical applications and helps to achieve accurate word use.

(3) The corpus can also provide functions such as fuzzy search and word collocation.

Link: COCA

The British National Corpus (BNC)

The British National Corpus (BNC)

The British National Corpus is currently the largest corpus that can be used directly on the Internet. It is the British Oxford Press, Longman Publishing Company, Chambers-Hallop Publishing Company, Oxford University Computer Service Center, Lancaster English Computer Center and A large-scale corpus jointly developed and established by the British Library was completed in 1994. The British National Corpus is a sample of wide-ranging written and spoken languages. It contains 100 million words of electronic resources to present British English since the late 20th century, involving spoken and written English. The corpus of written and spoken languages coexists, with a word volume of more than 100 million, and 4124 articles representing a wide range of modern British English texts. Among them, written language accounts for 90%, and spoken language accounts for 10%.

Link: the British National Corpus

WebCorp

WebCorp

WebCorp is a suite of tools which allows access to the World Wide Web as a corpus - a large collection of texts from which facts about the language can be extracted. WebCorp was created and is operated and maintained by the Research and Development Unit for English Studies (RDUES) in the School of English at Birmingham City University.

Link: WebCorp

Lexical Resources

The Academic Word List (AWL)

The AWL

The Academic Word List is a useful English resource which serves as a role of English for Academic Purposes for lectures and students. It was developed and evaluated by Averil Coxhead (2000, 2011) from School of Linguistics and Applied Language Studies at Victoria University of Wellington, New Zealand. The list contains 570 word families which does not include words that are in the most frequent 2000 words of English. A written corpus of academic English was developed for the purpose of finding out which words occurred in a wide range of academic texts from a variety of subject areas. The Academic Corpus contained approximately 3,500,000 running words. It was divided into four faculty sections: Arts, Commerce, Law and Science. Each of these faculty sections contained approximately 875,000 running words. Each faculty section was divided into seven subject areas of approximately 125,000 running words. The headwords of the Academic Word List (AWL) are the stem form of the words. The number after each headword is the sublist the word family is in. The sublists have the word families of the AWL with the most frequently used member of the family in italics. The word list has been divided into sublists based on the frequency of occurrence of the words in the Academic Corpus. The words in Sublist 1 occur more frequently in the corpus than the other words in the list. Sublist 2 occurs with the next highest frequency.

Link: Website of the AWL

The Free Dictionary

the Free Dictionary

Applicable people: all English learners

This dictionary integrates the definitions of mainstream dictionaries, and you can find more complete definitions and usage without switching the dictionary. The dictionary also has functions of querying synonyms, antonyms, medical dictionary, legal dictionary, financial dictionary and so on. Meanwhile, this dictionary has a daily column, which could be used as a learning tool for all English learners. At present, the dictionary can be downloaded in the Apple store, or it can be searched directly on the web version.

Link: Website of the Free Dictionary

Phrase Bank

Phrase Bank

This website is created by Dr. John Morley of the University of Manchester. Based on the concept of "speech" proposed by John Swales, the website provides a wealth of academic writing phrases and sentence patterns from five parts: Introducing work, referring to sources, describing methods, discussing findings and writing conclusions. All phrases and sentence patterns are derived from academic papers of native English speakers, which can be used by teachers, students and researchers for academic writing.

Example sentences from the webpage:

Introducing questions, problems and limitations: theory or argument

•The main weakness with this theory is that …

•The key problem with this explanation is that …

•However, this theory does not fully explain why …


Link: Phrasebank.manchester

Thesaurus

Thesaurus

Thesaurus is a dictionary that lists synonyms and antonyms for each word. English includes too many words, and each meaning has many synonyms. Sometimes in order to avoid repetition, or find more accurate expression, Thesaurus is needed. For example, the simplest word is "see" when expressing the meaning of perceiving with eyes. Taping the word "see" in Thesaurus, the following words are accessible, like hold, descry, discern, distinguish, espy, eye, look (at), note, notice, observe, perceive, regard, remark, sight, spy, view, witness. As another example, the word "very" is used in an article about four times. Avoiding too many repetitions, Thesaurus would illustrate other words for replacing, like extremely, incredibly, awfully, exceptionally, exceedingly, especially, dreadfully, extraordinarily, enormously, fantastically, vastly. Considering non-native speakers' vocabulary is relatively limited, using Thesaurus as a tool would enrich the lexical resources of the article. Later, it was found that many native speakers are also used in this way since there are too many synonyms in English and they also need the help of dictionary.

Link: Thesaurus


Linggle

Linggle

Linggle could search the most correct English expression in different contexts, which helps to analyze more accurate English writing suggestions. In addition, it could also guess short sentences and sentences based on part of speech, and accurately analyze how to write complete English sentences.

Major functions of Linggle would be listed below:

•Writing Ahead

Typing a few words and then a couple of underscores _ . It allows you to find recurring phrases following the words.

•Checking Whether a Word Is Needed

A question mark ? followed by a word (e.g., to) allows you to check whether the word is needed in a phrase.

•Deciding on Alternative Phrases

Linggle not in the/a position to and you will get the frequency ratios of not in the position to (4%) and not in a position to (94%). Phrases with a high frequency count are usually preferred.

•Finding Collocations

Linggle's unique and very best feature is that keywords can be combined with any part of speech to create a search query for finding collocations.

•Precise Collocation Queries

Linggle uses a simple strategy to handle queries that involve parts of speech.

Link: Linggle

Urban Dictionary

Urban Dictionary

Applicable people: all English learners

Commonly used slang and Internet terms can be found in this dictionary for usage and interpretation, which is a function not available in other dictionaries. The homepage of this dictionary will set up a daily word item column, which will introduce a new vocabulary with pictures and example sentences everyday. For the most commonly used word explanations, it will be placed in the top definition column, and many unused or even unused usages which cannot be searched in other dictionaries would be included in this dictionary. In addition, the example sentences for word collocation are more life-oriented in this dictionary. This dictionary is suitable for the collection of European and American youth language, young man's mantra, slang colloquialism, internet language, song and film and television language, etc.

Link: Urban Dictionary

JustTheWord

JustTheWord

JustTheWord, a word query website, could be quickly queried the common collocation usage of a word, which is easy to operate. After the query is completed, the query result will be automatically returned.

Link: JustTheWord

Textranch

Textranch

The biggest feature of the word query website Textranch is that it has two search boxes. It could be entered two different words, phrases or sentences in these two search boxes to query which one is used most frequently.

Link: Textranch

Netspeak

Netspeak

Netspeak is a tool that provides free online translation of words, phrases and sentences. It can search and compare various English vocabulary, short sentences, grammar, word interpretation and other content online, and calculate the change of this term. In addition, Netspeak could also analyze the use frequency and situation, which is similar to "Linggle". After landing on Netspeak, the official example is to use "* #" to get synonyms, the effect obtained with "#" is more biased towards the replacement of synonyms of single words, and the result obtained with "*" is biased towards short sentences / phrases.

Link: Netspeak

OneLook Reverse Dictionary

Most people may have encountered such a situation that want to express a certain meaning, but can not remember which specific words should be used to describe. Or just know a common word but don't understand how to express it in more authentic English. OneLook Reverse Dictionary can help you solve this problem. As long as you search for the meaning you want to express in the search box, the software will give you a series of related words and phrases. For example, if you want to express that you are going to have a vacation, and want to travel "urge to travel" very much, the software gives wanderlust, itchy feet, and so on.

Link: Onelook

Polishing Tools

Count Wordsworth

Count Wordsworth

After entering the article on the page, the website can count the number of words and the number of sentences, and also count the frequency of nouns, verbs, adjectives, adverbs, prepositions, conjunctions, articles, etc. used in articles. Corresponding statistics will be made. This is a useful statistical tool for both students and teachers.

Grammarly

It is an online free proofreading + plagiarism inspection tool which could help you check several types of errors.

•Grammar and punctuation: It can detect grammatical and punctuation errors-from basic to advanced. It also provides real-time advice and guidance on how to correct these errors.

•Spell Check: It is also a powerful spell checking tool that can guarantee your writing without errors. It is also a powerful spell checking tool.

•Plagiarism check: Grammarly can detect plagiarism by comparing your writing to billions of web pages on the web.

•Writing style: It can also help you self-edit your work by providing real-time insights about your readability score, sentence length, etc. This is very useful for adjusting specific types of writing styles for specific audiences.

Who is suitable for Grammarly?

Grammarly is very useful for people whose native language is English and those who do not often write in English. People using Grammarly include:

•Blog: Content marketers and writers •Author: Any business professional who wants to draft accurate reports, presentations, emails or social media posts. •Students: For new writers and professional writers, this grammar checker can serve as another line of defense, even if they are native English speakers.

Link: Grammarly

SlickWrite

SlickWrite

Slick Write is a grammar checking tool that can be used without registration. This tool does not check spelling or grammatical errors, but analyzes the style of the sentence and proposes such as "too many adverbs used in the full text", "too many sentence heads used the same word The" and "the sentence used "Too many prepositional phrases" and other suggestions.

Link: SlickWrite

StyleWriter

StyleWrite

This software can be used with embedded words, the main function is to check spelling, grammar and other errors, polish the article. There will be tips about grammar choices to make the expression of the article more authentic. The three main indicators of Style's article retouching are: bog index, ave statement, and passive index. Among them, Bog index stands for the "pre-determinability" of the article, which is defined as Bog Index = sentence Bog + word Bog-Pep, and sentence-bog is determined by sentence length, which is equal to the square of the average sentence length divided by the maximum sentence length. Word-bog is about words, such as difficult words, big words, special words, etc., including passive voice. Pep is a very interesting concept, such as good arguments and questions, interesting expressions, etc. The Bog index includes according to the standards of Style-writer, good articles should be short and succinct sentences, clean and neat words, and use as few passive voices as possible. Conversely, if the sentence is long, the words are biased, and there are many passive voices, the Bog index can be used, and the lower the article level, the bog of good articles defined on this website should be below 20.

Link: StyleWriter

Nounplus

Nounplus

NounPlus is an online English grammar detection and correction tool that can be used for grammar problems in English. Nounplus tool's grammar algorithm mainly focuses on grammar and syntax, and has more than 1,000 commonly used grammar error screening mechanisms. In addition, you can also install mobile applications to use, providing Android and iOS mobile applications.

Link: Nounplus

Ginger

This tool can check grammar and spelling errors in Microsoft word, PowerPoint, Outlook, Gmail and web pages. Ginger's sentence Re-phraser can help you present your original writing in an authentic way; text-to-speech can also help you learn English best. After entering the text, you can choose English or American, male or female, absolutely absolutely pure and authentic; The translation function can translate your English thesis into authentic French, Greek and so on. Therefore, Ginger is only a grammar, pinyin proofing software, or English writing software, translation software, spoken language learning software, a universal software to improve English.

1Checker

1Checker

1checker is an English automatic checking and correction service tool. In addition to providing English writing skills to correct grammatical errors and automatic draft correction, it also has a specific composition scoring mode, stores commonly used typos and new words dictionary, and provides a wealth of commercial English letters and English Composition templates and other resources. It is completely free for individual users, providing online version, desktop version, Mac version, Windows 8 version application, word plug-in, writing template, such software is very practical for learning English, especially error correction function, intelligent software It is 100% accurate, but the degree of use is still sufficient.

Link: 1Checker

PolishMyWriting

PolishMyWriting

Pasting the written article or paragraph in the text box above, the system will automatically recognize the grammatical errors and spelling errors. All spelling errors will be marked in red, and grammatical errors will be marked in green. The most important thing is that PolishMyWriting will also intimately write suggestions in blue font.

Link: PolishMyWriting

Reverso Spell Checker

Reverso Spell Checker

In addition to checking grammar and spelling errors, it also helps to find synonyms for each word in the article. The most important thing is to make some suggestions to delete some words, add new words, change punctuation, etc.

Link: Reverso Spell Checker

The Writers' Diet

The Writer's Diet will help you energize your writing and strip unnecessary padding from your prose. First, diagnose your verbal fitness levels by taking the online WritersDiet Test. Next, follow the no-nonsense advice in each chapter of the book to strengthen and tone your verbal muscles. Writers at every level, from students to professionals, will benefit from the Writer's Diet workout. Before long, you will find your self producing stylish, energetic prose every time you put pen to paper.

Link: The Writers' Diet

Cliche Finder

Cliche Finder is a Cliche software that can help you find out the articles used in the article. All Cliche will be marked red, suitable for further inspection after writing.

Link: Cliche Finder

Hemingway

The analysis function of Hemingway Editor can analyze the words and readability of the article, which would be useful for verbose person. As long as the written paragraphs are copied and pasted onto the software, it will tell the author where to streamline and where to delete. Which sentences will make the reader Confuse, and which should use the active voice rather than passive. Of course, in addition to this, it will also give some tips on how to replace the original sentence, make the sentence more concise, and score the index for readability.

Link: Hemingway

Improvement Tools

Write & Improve

Cambridge officials have launched a heavyweight English writing online practice pen and evaluation system that serves the majority of candidates and English lovers. The website interface navigation is very clear. Click "Start writing" on the homepage to start the trial without registration. Selecting an entrance first is equivalent to setting a level goal you want to achieve, including beginner, intermediate and advanced. Immediately afterwards, you can enter the "Workbook" equivalent to the writing question bank that meets the goal of the level you just selected. The launch of the Write & Improve website is good news for candidates who want to prepare for Cambridge certification. The propositions of the writing test are very sophisticated. Can the dry text (Rubrics) guide students to complete the writing task while pointing out the writing requirements, and assist them in multiple review and correction, which is of great importance and difficulty. , Not a general "simulation problem". Therefore, Cambridge officials can launch this platform with its rigorous and professional proposition requirements in the form of AWE (Automated Writing Evaluation).

Virtual Writing Tutor

Virtual Writing Tutor's grammar detection function is very diverse. It can count words, detect spelling of words, check sentence grammar, look up dictionaries, print, etc. Coping the text to be detected into the text box and select the required function.

Format

Purdue Online Writing Lab (Purdue OWL)

Purdue OWL

It is Purdue's writing lab, all of which are instructions about writing in English. The website mainly provides guidelines for two common academic paper writing formats and some other writing reference resources that academic workers may use.

Educational Benefits of Writing Enhancement Tools

From Students' Perspective

•Students can polish their writing and acquire the knowledge of academic writing

It creates opportunities for students to practice and sharpen a number of writing skills, including the ability to check the spell and grammar errors in their own writing assignments, cultivate critical thinking via sorts of online feedbacks, and create in-depth reflective responses.

•Students are more likely to approach academic literacy

As an important part of academic literacy, writing assignments reflect students’ learning process of the target language. Via writing enhancement tools, students’ lexical resources would be more abundant, sentence structures would be more authentic, which would be a benefit to approaching academic literacy.

From Faculty Members' Perspective

•Provide metrics for teachers to assess students

•Faculty members spend less time on proofreading

Limitations

•Limitation in Accuracy: Because of the use of big data analysis and intelligent methods, there may be certain limitations about accuracy. Therefore, learners should pay attention to revision and improvement when using these tools. It would be a good choice for learners to occasionally use multiple writing enhancement and polish tools to achieve the article's polish and modified effect.

•Limitation in Network Speed: After attempts in Mainland China, Hong Kong, Japan and other areas by testers, some of the tools may collapse since sometimes there may have a capacity of thousands of members online during the peak time. In addition, due to some network limitations, some tools are unavailable or the Internet speed will be limited in some areas.

See also

TELL or CALL

Input Theory and Technology

Output Theory and Technology

Contrastive Analysis Hypothesis(CA)

The SAMR Model

Scaffold Students' Writing with Technology

References

Averil (2000) A New Academic Word List. TESOL Quarterly, 34(2): 213-238.

Brown, J.S., Collins, A., & Duguid, P. (1989). Situated cognition and the culture of learning. Educational Researcher, 18(1), 32–42.

Coxhead, A. (2000). A new academic word list. TESOL Quarterly, 34, 213–238.

Coxhead, A. (2011). The Academic Word List ten years on: Research and teaching implications. TESOL Quarterly, 45, 355–362.

Ellis, R. (2012). Language teaching research and language pedagogy. Malden, Mass.: Wiley-Blackwell.

Krashen, Stephen (1985). The Input Hypothesis: Issues and implications. London: Longman.

Lyster, R., & Ranta, L. (1997). Corrective feedback and learner uptake. Studies in Second Language Acquisition, 19, 37–66.

Puentedura, R. "SAMR and TPCK: Intro to advanced practice." Retrieved February 12 (2010): 2013.

Puentedura, R. (2010). SAMR and TPCK: Intro to advanced practice. Retrieved February, 12, 2013.

Walker, A. and White, G. (2013). Chapter 1: Learning. Preview the documentTechnology Enhanced Language Learning: Connecting Theory and Practice

Wingate, U. (2018). Academic literacy across the curriculum: Towards a collaborative instructional approach. Language Teaching, 51(3), 349-364.

Yilmaz, Y. (2016). The role of exposure condition in the effectiveness of explicit correction. Studies in Second Language Acquisition, 38, 65- 96.