什么样的福瑞斯外汇怎么样网站好一些,专业性技术分析这块的

外汇交易技术分析基础大全_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者
评价文档:
外汇交易技术分析基础大全
你​心​目​中​的​“​小​王​子​”​还​在​吗​?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:71.69KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢LOR'S DEGREE THESIS OF WUHAN UNIVERSITYThe development of Technical Analysis module of Forex Trading SystemCollege Subject Name:International School of Software :Software Engineering :Directed by :May 20092 郑 重 声 明本人呈交的学位论文,是在导师的指导下,独立进行研究工作所 取得的成果,所有数据、图片资料真实可靠。尽我所知,除文中已经 注明引用的内容外, 本学位论文的研究成果不包含他人享有著作权的 内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已 在文中以明确的方式标明。本学位论文的知识产权归属于培养单位。本人签名:日期:3 摘要外汇市场是目前世界上最大的金融市场, 由于其操作的灵活性, 不需佣金, 且市场 24 小时不间断的运作,吸引了越来越多的投资者选择进入外汇市场, 其每天交易量达到 1-3 万亿美元。因此,外汇市场充满机遇,同时也伴随着 风险。投资者要想在外汇交易中获利,则需在合理分析的基础上得出正确 的投资决策。而技术分析是外汇交易中重要的分析方法,与基础分析相对,是 根据外汇汇率的过去及现在表现预测未来趋势的方法。因此,投资者只有掌握了 技术分析工具,才能更好的规避风险,获得最大的投资回报。本论文阐述了技 术分析的概念、技术分析的理论基础;分析了技术分析与基础分析之间的区别、 描述了技术分析在外汇交易中的应用,介绍了移动平均线、布林带、MACD、相 对强弱指标等常用的几种技术分析手段。 而后,本文在技术分析的理论前提下,进行了外汇交易系统技术分析模块的 开发, 包括模块的需求分析、 设计以及实现。 开发语言选择的是 C#, 应用 MSChart 插件技术实现技术分析图表。关键词: 关键词:技术分析;外汇交易;C#;MSChart4 ABSTRACTForex Market is the largest finance market in the world for its high trading volume about one to three trillion dollars per day. Its flexible exchange fashion, twopenny commission and 24 hour’s running get more and more people in the market. So there is full of opportunity but also following with risk. To get more gain from the trading, the investors must make a correct decision based on the logically analyze. Technical Analysis is an important analyze method which bases on the bypast uptrend to dope out the intending uptrend in Forex trading, versus Fundamental Analysis. Since the investors know how to use the Technical Analysis, they can elude the risk and get better gain for their investment. This paper will expatiate on the difference between Technical Analysis and Fundamental A introduce some important Technical A and then describe the application of Technical Analysis in Forex trading. At last, we will make an analysis, design and implement for the Technical Analysis Module of a Forex Trading System. The develop language is C#, the technology of drawing Forex chart is MSChart.Key words: Technical Analysis;Forex trading;C#;MSChart5 目录第一章 绪论 ..............................................................................................81.1 研究背景.......................................................................................................... 8 1.2 研究现状......................................................................................................... 9 1.3 研究内容......................................................................................................... 9第二章 技术分析概述 ............................................................................10什么是技术分析........................................................................................... 10 技术分析的理论前提................................................................................... 10 技术分析与基础分析的比较....................................................................... 11 技术分析在外汇交易中的应用................................................................... 12 2.4.1 技术分析在外汇交易中的应用程度................................................ 12 2.4.2 技术分析在外汇交易中的应用技巧................................................ 12 2.5 系统用到的几种技术分析手段................................................................... 13 2.5.1 移动平均线(MA) ......................................................................... 14 2.5.2 相对强弱指数(RSI) ..................................................................... 14 2.5.3 布林带指标(Bollinger Bands) ..................................................... 15 2.5.4 指数平滑异同移动平均线指标(MACD).................................... 16 2.1 2.2 2.3 2.4第三章 模块开发中用到的技术 ............................................................183.1 统一建模语言 UML..................................................................................... 18 3.1.1 UML 概述 ........................................................................................... 18 3.1.2 UML 图形分类 ................................................................................... 18 3.1.3 UML 在开发过程中的应用 ............................................................... 19 3.2 ASP.NET 技术 ............................................................................................... 20 3.2.1 ASP.NET 技术概述 ........................................................................... 20 3.2.2 ASP.NET 页和控件框架 ................................................................... 21 3.2.3 ASP.NET 安全基础结构 ................................................................... 21 3.3 开发语言 C# ................................................................................................. 22 3.3.1 C#概述 ................................................................................................ 22 3.3.2 C#语言特点 ........................................................................................ 23 3.4 MSCHART 画图控件 ................................................................................... 23 3.4.1 MSChart 控件概述 ............................................................................. 24 3.4.2 MSChart 控件使用要点 ..................................................................... 24 3.5 OLEDB .......................................................................................................... 26 3.5.1 OLEDB 概述 ...................................................................................... 26 3.5.2 OLEDB 的组合部分 .......................................................................... 26 3.5.3 OLEDB 连接 ACCESS 数据库 ......................................................... 26第四章 外汇交易技术分析模块的需求分析 ........................................284.1 系统概述....................................................................................................... 286 4.1.1 项目背景............................................................................................ 28 4.1.2 项目目标............................................................................................ 28 4.1.3 系统的使用者.................................................................................... 28 4.2 技术分析模块功能需求............................................................................... 28 4.2.1 模块功能............................................................................................ 29 4.2.2 模块角色及用例图............................................................................ 29 4.2.3 基本事件流........................................................................................ 29 4.3 模块其它需求............................................................................................... 31 4.3.1 性能要求............................................................................................ 31 4.3.2 接口需求............................................................................................ 31第五章 外汇交易技术分析模块的设计 ................................................325.1 技术分析模块设计原则............................................................................... 32 5.2 技术分析模块概要设计............................................................................... 32 5.2.1 模块功能定义.................................................................................... 32 5.2.2 模块结构图........................................................................................ 33 5.2.3 模块类图............................................................................................ 34 5.3 技术分析模块详细设计............................................................................... 34 5.3.1 DrawChart 类详细设计 ...................................................................... 34 5.3.2 Analyse 类详细设计 .......................................................................... 38第六章 外汇交易技术分析模块的实现 ................................................416.1 模块界面实现............................................................................................... 41 6.2 趋势线图实现............................................................................................... 42 6.2.1 趋势图实现........................................................ 错误!未定义书签。 错误!未定义书签。 6.2.2 移动平均线图实现............................................................................ 42 6.2.3 布林带图的实现................................................................................ 43 6.3 技术指标分析图实现................................................................................... 43 6.3.1 MACD 图实现.................................................................................... 44 6.3.2 RSI 图实现 ......................................................................................... 44第七章 结论 ............................................................................................457.1 完成的工作................................................................................................... 45 7.2 改进与展望................................................................................................... 45参考文献 ..................................................................................................46 致谢...........................................................................................................487 第一章 绪论本章主要介绍论文的研究背景,从外汇市场的特点出发,联系当今外汇交易 中的实际,引出论文研究现状,并叙述本论文研究的主要内容。1.1 研究背景外汇市场是目前世界上最大的金融市场,每天交易量达到 1-3 万亿美元[1]。外汇市场 建立于 1971 年,当时国际贸易从固定汇率转向浮动汇率。从此,一种货币相对于另一种货币的汇率通常以显式的方式来表示――双方都同意的交换 关系。外汇市场每天 24 小时不停工作,外币交易在一周内的工作日中不会中断。 从 1971 年直到几年前,该市场的真正投资者是银行,跨国公司和大型经纪商社。 如果独立个人希望把资金投入到该市场,那么他应该同银行合作,投入大约一百 万美元的资金,以满足获得五百万到一千万美元交易的需要。但是现在,外汇交 易市场已经对小型投资者开放。与先前银行和经纪商要求的巨额资金相比,现在 的保证金需求已经大大地降低了,终于,使得众多个人可以与“大鲨鱼”一同游 戏。 由于市场高度的流动性,大多数的交易可能是按统一市场价执行的,而 且其操作的灵活性,不需佣金,且市场 24 小时不间断的运作,吸引了越来 越多的投资者选择进入外汇市场 , 由于外汇市场参与者众多、 成交量极为庞大, 令任何机构和个人都无法操作,这样,投资者不用劳神于每支股票的业绩,不用 担心期货多空双方的内幕交易。只需要专注于分析外汇价格走势而做出投资决 策。 在这样一种背景下,技术分析对外汇交易者变得重要。投资者要想在外汇市 场中获利,就需在对市场有效分析的前提下进行投资,而技术分析无疑是一种非 常好的分析工具。特别是在现今金融危机的冲击下,全球众多的投资者在各种投 资领域铩羽而归。因此个人投资者需要更好的了解金融市场,更好的掌握技术分 析工具,才能在这波动性大、风险奇高的投资环境下,把投资风险控制在一个合 理的范围内,并进而从中获利。 本课题从技术分析方法出发,通过对各种技术分析手段的介绍,进而实现一8[2] 个简单的技术分析系统。帮助外汇投资者提高理论实际运用技巧,并方便的实现 各种技术分析,以便其更好的进行决策,规避风险,从而在外汇市场获得更大的 利益。1.2 研究现状随着中国经济的高速发展、中国政府对资本发展的支持、中国资本市场逐渐 对外开放,人民的理财观念也发生了很大的变化:为了让自己的资产保值或着增 值,一定要以一定的方式去打理它。就这样,越来越多的个人进入金融市场,投 资于股票和外汇及其他的金融衍生品。 其中外汇作为全球性交易投资最活跃的理 财渠道而倍受投资者的关注和喜爱! 然而相当多的投资者对外汇的基本知识并不 了解,当然也缺乏外汇交易的实际操作经验。其在进行投资时,只能借助外汇网 站的相关建议、评论做出决策,而不能根据自己的分析、判断做出自己的投资决 策。而根据国内外外汇市场从业经验,投资者只要系统的掌握外汇市场技术分析 方法,再配合比较良好的投资心态和理念,通常都可以避免重大的投资失误,降 低投资风险。而现今大部分外汇网站上,多为各种投资建议,而没有提供即时的 技术分析实现,让投资者自己进行决策的服务,典型的“授之以鱼” ,而非“授 之以渔” 。1.3 研究内容本论文研究内容包括技术分析的基本手段,外汇交易中技术分析模块的分 析、设计与实现。 其中第二章为技术分析的相关介绍、 第三章为实现技术分析模块所用到的技 术、第四章为技术分析模块的分析、第五章为模块设计、第六章为模块的实现。 最后一章为结论。9 第二章 技术分析概述本章主要介绍技术分析的概念,提出技术分析的三大理论前提,分析了技术 分析与基础分析的区别。而后简要阐述技术分析在现今外汇交易中的应用,并介 绍了技术分析模块中所用到的几种分析手段。2.1 什么是技术分析技术分析是指根据过往的金融商品价格走势的过去表现,以图表为主要依 据,应用数学和逻辑的方法,在合理假设的基础上,探索出一些典型的规律并据 此判断未来可能的价格变化趋势的分析方法 。 外汇技术分析,即将技术分析运用在外汇交易中,根据过去的汇率水平对未 来的汇率水平进行判断。其核心思想是外汇汇率由供求关系决定,而供求关系则 是基本面、人们的预期及各种理性或非理性因素的共同反映,因此外汇市场的供 求关系是全部也是唯一需要研究的问题。[3]2.2 技术分析的理论前提技术分析建立在三大假设之上,这三大假设共同构成了技术分析的理论前 提[4]。 第一条假设是市场行为涵盖了一切信息。技术分析的使用者承认一国的经 济政策及市场参与者的心理等因素对汇率水平的影响, 并认为该影响已经反映在 市场行为即价格中。因此,对于技术分析者而言,既然所有的信息都包含在市场 中,那么其只需关心这些因素对市场所造成的影响,而不关心为什么这些因素会 导致这些影响以及这些因素是如何发挥作用的。 这样既降低了对技术分析者能 力的要求、也减少了对信息获取等的限制 第二条假设是汇率以趋势方式演变。汇率的变动是按一定规律发生的,汇率 水平有保持原来方向运动的惯性, 这与牛顿的惯性定律也是一致的。 从趋势上看, 如果要改变这一既定的运动方向, 必定先会出现汇率上升势头减缓并给出一定回 转信号的情况。这是因为,外汇市场参与者的对市场的把握能力总是不一致的,10 当外汇交易专家通过分析认为某种货币有升值潜力时便会做出买入的行为, 而跟 进者则根据专家的行为决定自己的头寸。 这些有先有后的买盘增加了该种货币的 需求,从而形成一次上升通道。只要有足够多的跟进者买入,此种上升的态势就 会持续下去。而当人们开始认为此种货币的上升潜力变得有限时,便会不再买入 甚至开始抛出此种货币, 造成的结果就是该种货币汇率的上升势头减缓并最终发 生回转。这样的过程最终形成了市场趋势。 第三条假设是历史会重演。人的心理本质上是受到某些规律的制约的,在面 临与历史相似的情景时,同一个人必定有相同或者相近的市场反应。图表形态在 过去的 100 多年中已被辨别、分类,很多模式的重复明显的反映在外汇走势中, 技术分析即是利用了人类心理的该种特征,利用已有的规律性图表,在归纳过去 类似市场行为最终结果的基础上对价格走势做出预测。2.3 技术分析与基础分析的比较基础分析又称基本面分析,基本面是指一切影响供求关系的因素,如政治、 经济政策,突发事件,流言、谣传和大众期待等。基础分析即指对基本面因素进 行分析,从而从宏观的角度把握汇市的态势及汇率的波动方向、程度 。 技术分析与基础分析都是为了预测价格的变化方向。 但二者又有着很大的区 别 ,主要表现在:首先,研究对象不同。技术分析主要是研究市场行为,通过 对图形技术形态、指标的记录研究市场的过去表现和现在的市场反映,推断未来 的价格走向,而基础分析则是对印象供求关系的基本因素进行分析,从而确定商 品的内在价值,通过内在价值与市场价值的比较来确定价格的走向。其次,理论 依据不同。技术分析的理论支持更多的来源于以综合混沌理论、心理学、社会学 和行为科学发展起来的金融心理学, 而基础分析的理论属于经济学与金融学的范 畴。再次,二者应用侧重点不同,因技术分析是用现期价格预期未来走势,因此 其反应较迅速,比较适合预测短期走势,而基础分析一般用于预测中长期走势。 最后,对分析者的要求不同。基础分析要求分析者具有极高的专业理论修养、拥 有完备的即时资料。 而技术分析则只需要有价格资料, 无须拥有专业的理论修养, 因此更适合大众投资者。[6] [5]11 2.4 技术分析在外汇交易中的应用2.4.1 技术分析在外汇交易中的应用程度 Taylor 和 Allen 在 1990 年和 1992 年对伦敦外汇市场的 240 位经纪人就技术 分析的使用程度做了一次调查 , 有四项主要发现: 首先, 在进行短期交易时 (不 长于一个星期)90%的受访者表示会使用一些技术分析;其次,有 60%的受访者 表示他们认为技术分析至少与基本面分析是同等重要的; 第三, 随交易期的延长, 人们会越来越重视基础分析,在超过一年的长期交易中,有三分之一的受访者表 示他们会完全依赖于基本面分析;最后,有极少数的人(大约 2%)表示,他们 从不使用任何基本分析的方法,而完全依赖于技术分析。根据这些事实,他们得 出结论:技术分析与基本面分析是相互补充的,技术分析可以为基本面分析得出 的预测提供定量化的支撑,从而得到关于汇率变化时机的更进一步指导。几年以 后(1998 年) ,Luis 和 Mole 在香港也进行了一项相似的调查,涉及香港外汇市 场的 153 位经纪人。结果显示,有很大一部分人认为技术分析与基本面分析同等 重要,但在短期会比较注重技术分析。此外,受访者认为技术分析对趋势的预测 力只略微强于基本面分析,但在预测回转点时的表现明显好于基本面分析 。 综上所述,说明技术分析在外汇分析领域占有非常重要的地位,特别是在针 对短期趋势进行分析时,技术分析发挥的作用更大。 2.4.2 技术分析在外汇交易中的应用技巧 既然技术分析是如此的重要,那么,我们应该如何使用技术分析,才能让它 的分析效果达到最佳呢?以下是技术分析的一些技巧。 首先,技术分析应与基础分析结合使用,这样才能提高其准确程度,否则单 纯的技术分析是不全面的。虽然基础分析与技术分析的分析理论与分析对象不 同,但其有着共同的出发点,那就是预测价格走势。因为技术分析在使用时仅考 虑市场过去的价格,而忽略影响市场变化的基本因素,因此,有时候难免会不可 靠,而基本面分析则从基本因素出发,寻找价格变化的原因,这样,当将两种分 析手段结合起来使用时,能提高预测的准确程度。在实际操作中,可先通过基本 面分析,找出某个确定周期内对价格影响最大的因素,然后分析这一主要因素将 对价格产生怎样的影响,其他次要因素在何种情况下可能转化成主要因素,通过12[8] [7] 这一分析来确定做多还是做空。然后参考技术分析确定什么时候应该做这笔交 易。而在考虑应该什么时候结束交易以及终止该交易计划的时候,要综合基本面 情况和技术面情况。 如果基本面分析得到的结论没有改变而技术分析给出了必须 离场的信号,则离场侯仍需继续关注是否会出现新的入场信号,而如果基本面分 析显示市场条件已经发生了改变,则终止其计划。在使用基本面分析方法和技术 分析方法来做判断时,必须注意分析的周期与自己可操作的周期是不是一致;注 意出场的标准和当初进场的标准是不是对应,在将两种方法结合起来使用的时 候,要注意不能造成进场和出场标准的混乱。分析方法本身没有好坏之分,之所 以有人盈利有人亏损,是因为有人使用得好,有人使用得不好。投资者要根据自 身的条件找到一个自我最适应的方法。 其次,各种技术分析手段应该结合起来使用。技术分析的手段很多,各有各 的侧重点,各有各的优势和功能,同时,也各有各的缺陷和不足。当运用单一的 技术分析方法进行分析时,有时候可能会得出错误的投资决策。所以,将不同的 技术分析方法结合起来使用,是非常必要的。不同的分析手段结合使用,互相弥 补各自的不足, 并对结果互相印证, 才能减少分析的错误率, 提高分析的准确度。 如果每种方法得到同一结论,那么这一结论出错的可能性就很小,这是已经被实 践证明了的真理。 如果仅靠一种方法得到的结论出错的机会就大。 实践中 MACD 指标可与 KDJ 指标结合使用,价格趋势分析与摆动指数分析结合使用等等。 再次,在使用技术分析时,不能迷信技术分析的结果,外汇市场是一个全球 性的市场, 参与者众多, 流动性极强。 因而市场上的各种不可预见的因素也较多, 根据技术分析结果得出的结论也非 100%可靠。因此,在根据分析结果进行投资 时,需做好投资失败的准备。 然后,不能迷信前人的经验,也不可迷信别人的分析结果,只有将前人经验 和自己的实践相验证了才能放心使用。 前人和别人得到的结论是在一定的特殊条 件和特定环境中得到的,随着环境的改变,前人和别人成功的方法落到自己头上 有可能会失败。因而,我们要根据环境的不同和自己的特点,在借鉴别人经验的 基础上,进行自己的分析。2.5 系统用到的几种技术分析手段13 2.5.1 移动平均线(MA) 移动平均线( ) 移动平均线是指最近 n 天收市价格的算术平均线;&移动&是指在计算中,始 终采用最近 n 天的价格数据。 因此,被平均的数组(最近 n 天的收市价格)随着新的 交易日的更迭,逐日向前推移。在我们计算移动平均值时,通常采用最近 n 天的收 市价格。我们把新的收市价格逐日地加入数组,而往前倒数的第 n+1 个收市价则 被剔去。然后,再把新的总和除以 n,就得到了新的一天的平均值(n 天平均值)。依 时间长短可分为:短期移动平均线(以 5 到 10 天为计算周期) ,中期移动平均线 (一般以一个月到一个季度为计算周期) ,及长期移动平均线(一般以 200 天为 计算周期) 。 移 动 平 均 线 的 绘 制 方 法 是 : 以 周 期 为 N 为 例 , 先 依 公 式 MA= (C1+C2+C3+...+Cn)/N (C:某日收盘价 N:移动平均周期)算出 N 天的平 均值,并将这些平均值连成线,就形成了以 N 天为周期的移动平均线。 移动平均线对我们的投资有着重要的指导意义。 有葛南维移动平均线八大法 则说明了如何使用移动平均线指导我们的投资:1、移动平均线从下降逐渐走 平且略向上方抬头,而价格从移动平均线下方向上方突破,为买进信号。2、 价格位于移动平均线之上运行,回档时未跌破移动平均线后又再度上升时 为买进时机。3、价格位于移动平均线之上运行,回档时跌破移动平均线, 但短期移动平均线继续呈上升趋势,此时为买进时机。4、价格位于移动平 均线以下运行,突然暴跌,距离移动平均线太远,极有可能向移动平均线 靠近(物极必反,下跌反弹),此时为买进时机。5、价格位于移动平均线之 上运行,连续数日大涨,离移动平均线愈来愈远,说明近期内购买者获利 丰厚,随时都会产生获利回吐的卖压,应暂时卖出。6、移动平均线从上升 逐渐走平,而价格从移动平均线上方向下跌破移动平均线时说明卖压渐重, 应卖出。7、价格位于移动平均线下方运行,反弹时未突破移动平均线,且 移动平均线跌势减缓,趋于水平后又出现下跌趋势,此时为卖出时机。8、 价格反弹后在移动平均线上方徘徊,而移动平均线却继续下跌,宜卖出。 2.5.2 相对强弱指数(RSI) 相对强弱指数( ) 相对强弱指数(RSI)是指一个值位于 0-100 之间的反应市场强弱程度的指14 数 。是目前流行最广,使用最多的技术指标之一,由技术分析大师威尔德创造。 在技术分析中,其运用的广泛程度和准确度仅次于移动平均线。 RSI 指标实际上是计算一定时间内股价涨幅与跌幅之比。一定时间内涨幅与 跌幅相等,RSI 值等于 50,涨幅大于跌幅,RSI 大于 50,反之,则小于 50。RSI 值在 60 以上,表明市场在多头控制之下,称为强势市场;小于 40,表明市场空 头势盛,称为弱势市场;在 40-60 之间,表明大势盘整,称牛皮市场。 相对强弱指标的应用如下:首先,当运用 RSI 单值分析时,50 是一个重要 的值, RSI 值为 50 时, 当 表明一段时间内价格的上涨幅度与下降幅度相差无几, 即此时价格处于横盘状态,因为 RSI 指标值会在 50 上下浮动,因此,此时 RSI 指数无用武之地;而当 RSI 指数值超过 80 时,表明市场处于超买状态,构成卖 出信号;而当 RSI 指数值低于 20 时,表明市场处于超卖状态,构成卖出信号。 其次,当运用短期 RSI 线与长期 RSI 线结合分析时,短期(一般为 9 日)RSI 线在超买区由上向下与较长期(一般为 14 日)RSI 线交叉,构成卖出信号;短 期 RSI 线在超卖区由下向上交叉较长期 RSI 线,构成买入信号。再次,价格走 势一波比一波高, RSI 却一波比一波低, 则构成顶背离。 价格走势一波比一波低, RSI 值却一波比一波高,则构成底背离。顶背离是价格见顶的预警信号,底背离 是价格见底的预警信号。 总之, RSI 对投资者低进高出规避风险极为有用,在市场正常的情况下, 尤其是超买超卖指标,其准确性很高,是技术分析者们最喜欢的分析工具之一。 2.5.3 布林带指标(Bollinger Bands) 布林带指标( ) 布林带, 英文称呼是 Bollinger Bands, 布林带是由约翰布林格 (John Bollinger) 在 1980 年发明的技术分析工具,有些资料上也称之为保力加通道。实际运用中, 人们常取其英文缩写 Boll 来简称该指标。在技术指标中,布林带属于比较特别 的一类。从设计原理上看,该指标与其他指标有着显著不同之处。绝大部分技术 指标都是通过数量方法构造出来的,它们本身不依赖于趋势分析和形态分析,甚 至不直接与之相关。但布林线却不同,它本质上更接近属于通道的范畴,只是因 为它也是由数量方法构造出,所以被归入指标类中。布林带由三条轨道线组成, 一般情况价格线在由上下轨道组成的带状区间游走, 而且随价格的变化而自动调[9]15 整轨道的位置。其中中轨= N-时间段的简单移动平均线,上轨= 中轨+ K * N-时 间段的标准偏差,下轨= 中轨- K * N-时间段的标准偏差,一般情况下 K 和 N 值 分别是 20 和 2。布林带作为股市中一种技术分析的工具,近几年来一直受到市 场的关注.利用布林带进行高抛低收也是股市上炒股的一种常用手段[10]。作为一个通道类指标,布林线的主要作用表现在压力支撑上,其应用的规则 如下; 1、股价向上穿越布林线上轨,短线将回档,为短线卖出信号;股价向下 击穿下轨,短线将反弹,为短线买入信号。 观察布林线,投资者会发现,价格 似乎有自动纠偏机能。在通常情况下,一旦超出布林线的范围,很快会重新回到 布林线内,所以布林线才会产生短线交易信号。2、布林线上下轨不断收敛,彼 此已经很靠近,且无法进一步靠近,此为行情爆发的前兆。 布林线的这一用法 十分实用,很多行情无论是上扬还是下跌,都是在布林线开口收得很窄时才爆发 的。3、当布林通道由窄变宽时,说明价格波动增大,交易活跃。如果价格向上 逼近或穿越布林线,表明超买力量增强,价格可能会短期下跌,反之,如果价格 向下逼近或穿过布林线,表明超卖力量增强,价格可能会短期反弹。 2.5.4 指数平滑异同移动平均线指标(MACD) 指数平滑异同移动平均线指标( ) MACD 指标称为指数平滑异同移动平均线指标[11],是一种移动平均线的波动指标,不过它使用的不是普通移动平均线,而是将长期与中期的平 滑移动平均线 (EMA) 的累积差距计算出来。 在 MACD 图形中显示两条图 线 , 一 条 是 实线 就 是 MACD 线 , 而 另 一 条 线 为 虚 线 (Trigger line) 就是 MACD 的移动平均线。在 MACD 线与 Trigger 线之间的差距可以画成柱状 垂直线图 (Oscillators), 且以零 (0) 为中心轴, 以柱状垂直线图 (Oscillators) 图的正负表示 MACD 线与 Trigger 线何者在上, 何者在下以作为研判买卖的 最佳时机。 计算方法是:以 EMA1 的参数为 12 日,EMA2 的参数为 26 日,DIF 的参 数为 9 日为例来看看 MACD 的计算过程 1、 计算移动平均值(EMA) 12 日 EMA 的算式为 EMA(12)=前一日 EMA(12)×11/13+今日收盘价×2/1316 26 日 EMA 的算式为 EMA(26)=前一日 EMA(26)×25/27+今日收盘价×2/27 2、 计算离差值(DIF) DIF=今日 EMA(12)-今日 EMA(26) 3、 计算 DIF 的 9 日 EMA 根据离差值计算其 9 日的 EMA,即离差平均值,是所求的 MACD 值。 为了不与指标原名相混淆,此值又名 DEA 或 DEM。 今日 DEA(MACD)=前一日 DEA×8/10+今日 DIF×2/10 计算出的 DIF 和 DEA 的数值均为正值或负值。 在实际运用中,MACD 有几个应用法则:1、利用 DIF 和 DEA 的取值和这 两者之间的相对取值进行行情预测。 (1)DIF 和 DEA 均为正值时,属多头市场, DIF 向上突破 DEA 是买入信号, DIF 向下跌破 DEA 只能认为是回档。 ( 2 ) DIF 和 DEA 均为负值时,属空头市场,DIF 向下突破 DEA 是卖出信号,DIF 向 上突破只能认为是反弹。2、当 DEA 线与 K 线趋势发生背离时为反转信号。3、 分析 MACD 柱形图,由正变负时往往指示该卖,反之往往为买入信号。17 第三章 模块开发中用到的技术本章主要介绍在技术分析模块开发过程中用到的集中主要技术,如建模语 言,开发语言,绘图技术以及数据库技术等。3.1 统一建模语言 UML3.1.1 UML 概述 UML,即统一建模语言,是一种基于面向对象的可视化建模语言,它提供了 图形符号表示的模型元素,它可消除一些潜在的不必要的差异,还可通过统一语 义和符号表示,使项目根植于一个成熟的标准建模语言,从而可以拓宽所研制与 开发的软件系统的使用范围,并提高其灵活程度[12]。UML 展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构 层次已经被验证有效。UML 作为一种模型语言,它使开发人员专注于建立产品 的模型和结构,而不是选用什么程序语言和算法实现。当模型建立之后,模型可 以被 UML 工具转化成指定的程序语言代码。 3.1.2 UML 图形分类 标准建模语言 UML 的重要内容可以由下列五类图 (共 9 种图形) 来定义[13]:第一类是用例图,从用户角度描述系统功能,并指出各功能的操作者。 第二类是静态图 (Static diagram),包括类图、对象图和包图。其中类图 描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依 赖、聚合等,也包括类的内部结构(类的属性和操作) 。类图描述的是一种静态 关系,在系统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类 图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实 际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只 能在系统某一时间段存在。包由包或类组成,表示包与包之间的关系。包图用于 描述系统的分层结构。 第三类是行为图(Behavior diagram) ,描述系统的动态模型和组成对象间 的交互关系。 其中状态图描述类的对象所有可能的状态以及事件发生时状态的转18 移条件。 通常, 状态图是对类图的补充。 在实用上并不需要为所有的类画状态图, 仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。 而活 动图描述满足用例要求所要进行的活动以及活动间的约束关系, 有利于识别并行 活动。 第四类是交互图(Interactive diagram) ,描述对象间的交互关系。其中顺 序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示 对象之间的交互;合作图描述对象间的协作关系,合作图跟顺序图相似,显示对 象间的动态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关 系。 如果强调时间和顺序, 则使用顺序图; 如果强调上下级关系, 则选择合作图。 这两种图合称为交互图。 第五类是实现图 ( Implementation diagram )。其中构件图描述代码部件 的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个 二进制部件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助 于分析和理解部件之间的相互影响程度。 3.1.3 UML 在开发过程中的应用 UML 适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶 段。在需求分析阶段,可以用用例来捕获用户需求。通过用例建模,描述对系统 感兴趣的外部角色及其对系统(用例)的功能要求。分析阶段主要关心问题域中 的主要概念(如抽象、类和对象等)和机制,需要识别这些类以及它们相互间的 关系,并用 UML 类图来描述。为实现用例,类之间需要协作,这可以用 UML 动态模型来描述。在分析阶段,只对问题域的对象(现实世界的概念)建模,而 不考虑定义软件系统中技术细节的类(如处理用户接口、数据库、通讯和并行性 等问题的类) 。这些技术细节将在设计阶段引入,因此设计阶段为构造阶段提供 更详细的规格说明。 UML 模型还可作为测试阶段的依据。系统通常需要经过单元测试、集成测 试、系统测试和验收测试。不同的测试小组使用不同的 UML 图作为测试依据: 单元测试使用类图和类规格说明;集成测试使用部件图和合作图;系统测试使用 用例图来验证系统的行为;验收测试由用户进行,以验证系统测试的结果是否满19 足在分析阶段确定的需求。 总之,标准建模语言 UML 适用于以面向对象技术来描述任何类型的系统, 而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维 护。 在本模块的开发中,分析和设计阶段都用到 UML 建模技术,包括分析阶段 的用例图及设计阶段的类图和流程图等。3.2 ASP.NET 技术3.2.1 ASP.NET 技术概述 ASP 称为活动服务器页面, 它可以根据不同的用户, 在不同的时间向用户显 示不同的内容。然而,由于 ASP 程序和网页的 HTML 混合在一起,这就使地程 序看上去相当杂乱。在开发过程中常常产生一些问题,同时 ASP 页面是由脚本 语言解释执行,使得其速度收到影响。由于以上种种限制,微软推出了 ASP.NET[14]。2000 年 6 月 22 日,.NET 被微软正式推出,这项计划将使微软现有的软件 在 Web 时代不仅适用于传统的 PC,而且也能够满足目前呈强劲增长势头的新设 备的需要[15]。ASP.NET 首先是一 个 开发平台, 它定义 了 一种公用语 言子集 (Common Language Subject,CLS),这是一种为符合其规范的语言与类库之间提供无缝集成 的混合语。.NET 统一了编程类库,提供了对下一代网络通信标准,可扩展标记 语言(Extensible Markup Language,XML)的完全支持, 使应用程序的开发变得更容 易、更简单。Microsoft.NET 计划还将实现人机交互方面的革命,微软计划将在 其软件中添加手写和语音识别的功能,让人们能够与计算机进行更好的交流,并 在此基础上继续扩展功能,增加对各种用户终端的支持能力。最为重要的 是,.NET 将改变因特网的行为方式:软件将变为服务。与 Microsoft 的其它产品 一样,.NET 与 Windows 平台紧密集成,并且与其他微软产品相比它更进一步: 由于其运行库已经与操作系统融合在一起, 从广义上把它称为一个运行库也不为 过。 ASP.NET 是一个统一的.NET Framework 框架下的 Web 开发模型,它包括使20 用尽可能少的代码生成企业级 Web 应用程序所必需的各种服务。ASP.NET 作 为.NET Framework 的一部分,在通过 HTTP 请求建立文档时,它可以在 Web 服 务器上动态创建文档,该文档大部分是 HTML 文档。当编写 ASP.NET 应用程序 的代码时,可以访问.NET Framework 中的类。下面概述 ASP.NET 中的页和控件 框架与安全基础结构。 3.2.2 ASP.NET 页和控件框架 ASP.NET 页和控件框架是一种编程框架,它在 Web 服务器上运行,可以动 态地生成和呈现 ASP.NET 网页。可以从任何浏览器或客户端设备请求 ASP.NET 网页,ASP.NET 会向请求浏览器呈现标记(例如 HTML) 。通常,可以对多个浏 览器使用相同的页,因为 ASP.NET 会为发出请求的浏览器呈现适当的标记。 ASP.NET 网页是完全面向对象的。在 ASP.NET 网页中,可以使用属性、方法和 事件来处理 HTML 元素。ASP.NET 页框架为响应在服务器上运行的代码中的客 户端事件提供统一的模型,从而不必考虑基于 Web 的应用程序中固有的客户端 和服务器隔离的实现细节。 该框架还会在页处理生命周期中自动维护页及该页上 控件的状态。 ASP.NET 页和控件框架还提供各种功能,以便可以通过主题和外观来控制 网站的整体外观和感觉。可以先定义主题和外观,然后在页面级或控件级应用这 些主题和外观。 此外, 还可以定义母版页, 以使应用程序中的页具有一致的布局。 一个母版页可以定义希望在应用程序中的所有页(或一组页)所具有的布局和标 准行为。然后可以创建包含要显示的页特定内容的各个内容页。当用户请求内容 页时,这些内容页与母版页合并,产生将母版页的布局与内容页中的内容组合在 一起的输出。 3.2.3 ASP.NET 安全基础结构 除了.NET 的安全功能外,ASP.NET 还提供了高级的安全基础结构,以便对 用户进行身份验证和授权,并执行其他与安全相关的功能。可以使用由 IIS 提供 的 Windows 身份验证对用户进行身份验证,也可以通过自己的用户数据库使用 ASP.NET Forms 身份验证和 ASP.NET 成员资格来管理身份验证。此外,可以使 用 Windows 组或自定义角色数据库(使用 ASP.NET 角色)来管理 Web 应用程序21 的功能和信息方面的授权。可以根据应用程序的需要方便地移除、添加或替换这 些方案。 简而言之,.NET 是一种面向网络、支持各种用户终端的开发平台环境。微 软的宏伟目标是让 Microsoft.NET 彻底改变软件的开发方式、发行方式、使用方 式等,并且不止是针对微软一家,而是面向所有开发商与运营商!.NET 的核心 内容之一就是要搭建第三代因特网平台, 这个网络平台将解决网站之间的协同合 作问题,从而最大限度地获取信息。在.NET 平台上,不同网站之间通过相关的 协定联系在一起,网站之间形成自动交流,协同工作,提供最全面的服务。3.3 开发语言 C#3.3.1 C#概述 概述 C#是微软公司发布的一种面向对象的、运行于.NET Framework 之上的高级 程序设计语言[16]。 它松散的基于 C/C++, 并且有很多方面和 Java 类似, Microsoft是这样描述 C#的: “C#是从 C 和 C++派生来的一种简单、现代、面向对象和类 型安全的编程语言。C#主要是从 C/C++编程语言家族移植过来的,C 和 C++的 程序员会马上熟悉它,C#试图结合 Visual Basic 的快速开发能力和 C++的强大灵 活的能力。 ” 在最近很长的一段时间里,C 和 C++一直是最有生命力的程序设计语言。这 两种语言为程序员提供了丰富的功能,高度的灵活性和强大的底层控制能力。而 这一切都不得不在效率上作出不同程序的牺牲。今天,人们改进、开发出了许多 语言以提高软件生产率,但这些或多或少都以牺牲 C 和 C++所需的灵活性为代 价。这样的解决方案在程序员身上套了太多的枷锁,限制了他们能力的发挥。它 们不能很好地与原有的系统兼容,更为令人头痛的是,它们并不总是与当前的 Web 应用结合得很好。 理想的解决方案, 是将快速的应用开发与对底层平台所有 功能的访问紧密结合在一起。程序员们需要一种环境:它与 Web 标准完全同步, 并且具备与现存应用间方便地进行集成的能力。除此之外,程序员们喜欢它允许 自己在需要时使用底层代码。针对此问题,微软的解决方案是一种称之为 C#的 语言。C#是一种现代的面向对象的程序开发语言,它使得程序员能够在新的微 软.NET 平台上快速开发种类丰富的应用程序。 .NET 平台提供了大量的工具和服22 务,能够最大限度地发掘和使用计算机通信能力。 3.3.2 C#语言特点 语言特点 C#语言具有以下特点: (1)面向对象。C#作为一种新语言,其具有面向对象语言的所有特性,如 封装、继承、多态。在 C#的类型系统中,每种类型都可以看作一个对象。C#提 供了一个叫做装箱(boxing)与拆箱(unboxing)的机制来完成这种操作, 而不给使用 者带来麻烦。 (2)语法简洁。 C#语言没有指针,没有各种各样的字符类型等等。使得 C#没有 C 和 C++中众多冗余形式。 (3)版本控制。 C#可以最好地支持版本控制。尽管 C#不能确保正确的版 本控制,但是它可以为程序员保证版本控制成为可能。有这种支持,一个开发人 员就可以确保当他的类库升级时, 仍保留着对已存在的客户应用程序的二进制兼 容。 (4)安全性。语言的安全性与错误处理能力,是衡量一种语言是否优秀的 重要依据。C#的先进设计思想可以消除软件开发中的许多常见错误,并提供了 包括类型安全在内的完整的安全性能。为了减少开发中的错误,C#会帮助开发 者通过更少的代码完成相同的功能,这不但减轻了编程人员的工作量,同时更有 效地避免了错误的发生。 但是,C# 也有弱点。首先,在大量的现有 Windows 平台上,C# 的程序还 不能运行,因为 C# 程序需要 .NET 运行库作为基础,而 .NET 运行库将作为新 一代的 Windows(Whistler)的一部分发行, 或以 Service Pack 的形式提交给 Windows Me 和 Windows 2000 用户。所以在近期,C# 会主要在服务器上得到 应用。其次,C# 能够使用的组件或库还只有 .NET 运行库等很少的选择,没有 丰富的第三方软件库可用,这需要有一个过程,同时各软件开发商的支持也很重 要。第三,JAVA 的成功因素里有一些是反微软阵营的吹捧,虽然“只写一次,到 处运行”只是一句口号,但毕竟已经是一种成熟的技术。而 C# 的鼓吹者目前只 有名声不佳的微软,且只能运行在 Windows 上。3.4 MSCHART 画图控件23 3.4.1 MSChart 控件概述 图表由于其直观明了的特性,在实际应用中十分很广泛。我们常常希望数据 能通过图表来显示其特性。例如在 Delphi 和 C++Builder 编程中,我们可以很方 便地实现数据图表。MSChart 是 Windows 系统中 Visual studio 自带的一个 ACTIVEX 控件[17],它功能强大,应用广泛,具有以下特点:支持随机数据和随机数组,动态显示;支持所有主要的图表类型;支持三维显示 MSChart 图表中将数据分组显示。一组相关的数据在绘图中称为一个“系 列”,一张图表可由一个或多个系列构成。 若 MSChart 控件被赋值一个一维数组数据,则它所显示的数据图形只绘制 出一个系列的图表。若一维数组中的数据被绘制为直方图,则数组中的数据会被 逐一绘制为直方图中的彩条。若一维数组中的数据被绘制为圆饼图,则数组中的 数据会被逐一绘制为饼图中的彩色扇形。 若 MSChart 控件被赋值一个二维数组数据,则它所显示的数据图形将绘制 出多个系列的图表。若二维数组中的数据被绘制为直方图,则数组中的数据会被 分组逐一绘制为直方图中的彩条。若二维数组中的数据被绘制为圆饼图,则 MSChart 控件将绘制出多个圆饼图, 每个系列的数据会被逐一绘制为饼图中的彩 色扇形。 使用 MSCHART 可画如下图表:二维或三维条形图、二维或三维折线图、 二维或三维面积图、二维或三维阶梯形图、二维或三维联合图表、二维饼图、二 维坐标图等[18]。要使用 MSChart 控件画图,得配置其 DataSource 属性。我们只要将需按图 形表示的数据装入数组中,然后将数组数据赋值给 MSChart 控件的 DataSource 属性,再进行一些简单的图形标题、背景、图例、注脚方面的定义,就可以得到 所期望的数据分析图形。 3.4.2 MSChart 控件使用要点 MSChart 控件使用要点如下: 1、要使用该图表首先要了解该图表的元素组成 图表主要包含: Annotations (图形注解集合) ChartAreas 、 (图表区域集合) 、24 Legends(图例集合) 、Series 图表序列集合即图表数据对象集合) 、Title(图标的 标题集合) 2、需在 Web.config 中加入下列代码: 在&&system.web&&pages&&controls&&中添加如下: &add tagPrefix=&asp& namespace=&System.Web.UI.DataVisualization.Charting& assembly=&System.Web.DataVisualization, PublicKeyToken=31bf&/& 在&&httpHandlers&&中添加如下部分: &add path=&ChartImg.axd& verb=&GET,HEAD& type=&System.Web.UI. DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf& validate=&false&/& 图表的呈现 Chart 控件的 ImageStorageMode 属性是决定如片的存储方式 3、 的。 当 Chart.ImageStorageMode=UseHttpHandler 时, 使用的是 web.config 中的配 置。即指定由 HTTP 处理程序来存储图形文件,web.config 的配置如下: &add key=&ChartImageHandler&value=&storage=timeout=20; dir=c:\TempImageFiles\;deleteAfterServicing=webDevServerUseConfigSettings =false& /&其中 c:\TempImageFiles\就是 HTTP 处理程序来存储图形文件的目录。 当 Chart.ImageStorageMode= UseImageLocation 时 图表会存储在我们指定的 文件夹中,我们也可以指定图片生成的命名规则。 其中 Chart.ImageType 表示生 成图形文件的格式,可以是 BMG、JPEG、PNG、EMF。 Chart.RenderType 属 性决定 MSChart 生成的图形以何种方式送到客户端,有三种: ImageTag,图形 在服务端保存为临时文件,并将临时文件的 URL 作为 HTML 中&IMG&标签的 SRC 属性值。 而此临时文件的 URL 规则及临时文件如何生成可由 ImageLocation 属性确定。 BinaryStreaming,不在服务端生成图形文件,&IMG&标签的 SRC 属 性值将指向另一个负责生成图形的.aspx 页面。 ImageMap,不显示实际的图形, 仅创建图片热区(image map) 。默认值是 ImageTag,就是会在服务端生成临时 文件。25Version=3.5.0.0,Culture=neutral, 本分析模块中,实现外汇趋势图及分析图所用的工具为 MSChart 控件。3.5 OLEDB3.5.1 OLEDB 概述 OLEDB(Object Linking and Embedding, Database, 又 称 为 OLE DB 或 OLE-DB),一个基于 COM 的数据存储对象,能提供对所有类型的数据的操作,甚 至能在离线的情况下存取数据(比方说,你使用的是你的便携机,你可以毫不费力 地看到最后一次数据同步时的数据映像)。 OLEDB(OLEDB)是微软的战略性的通向不同的数据源的低级应用程序接 口。OLE DB 不仅包括微软资助的标准数据接口开放数据库连接(ODBC)的结 构化查询语言(SQL)能力,还具有面向其他非 SQL 数据类型的通路。作为微 软的组件对象模型(COM)的一种设计,OLE DB 是一组读写数据的方法(在 过去可能被称为渠道) 。OLE DB 中的对象主要包括数据源对象、阶段对象、命 令对象和行组对象。使用 OLE DB 的应用程序会用到如下的请求序列:初始化 OLE、 连接到数据源、 发出命令、 处理结果、 释放数据源对象并停止初始化 OLE 。 3.5.2 OLEDB 的组合部分 OLE DB 最主要是由三个部分组合而成[19]:1.Data Providers 数据提供者。凡是透过 OLEDB 将数据提供出来的,就是 数据提供者。 例如 SQL Server 数据库中的数据表, 或是文件名为 mdb 的 Access 数据库档案等,都是 Data Provider。 2.Data Consumers 数据使用者。凡是使用 OLEDB 提供数据的程序或组件, 都是 OLEDB 的数据使用者。换句话说,凡是使用 ADO 的应用程序或网页都是 OLE DB 的数据使用者。 3.Service Components 服务组件。数据服务组件可以执行数据提供者以及数 据使用者之间数据传递的工作,数据使用者要向数据提供者要求数据时,是透过 OLEDB 服务组件的查询处理器执行查询的工作, 而查询到的结果则由指针引擎 来管理。 3.5.3 OLEDB 连接 ACCESS 数据库26 本模块使用的数据库为 ACCESS,数据提供程序为 OLEDB。 OLEDB 数据源包含具有 OLEDB 驱动程序的任何数据源,如 SQL Server, Access、Excel、Oracle 等数据源。OLEDB 数据源链接字符串必须提供 Provider 属性及其值。链接 OLEDB 数据源的链接字符串是以“键/值”对的形式的语句 组合而成, “键”一般表示链接字符串的属性, “值”一般表示属性的值,其中常 用的属性及其说明如下: data source,表示数据源,一般为数据文件的物理地址。 provider, 表示数据源提供程序, 它的一个可能值是 Microsoft.Jet.OLEDB.4.0. database,表示数据库名称,一般为应用程序使用的数据库名称。 Connection timeout ,表示连接超时的时间,系统默认值为 15 秒。 通过对以上属性赋值,就可链接 ACCESS 数据库,具体操作如下: 在 Web.config 文件中配置链接字符串,如下: &appSettings& &connectionString& &!--链接 OLEDB 数据源的链接字符串 -- & &add Name=”OLEDBCONNECTIONSTRING” connectionString=”provider=Microsoft.Jet.OLEDB.4.0;Data Source=”& &/add& &/connectionStrings& &/appSettings& 配置完成后,获取该字符串,方法如下: private string myConnectionString=ConfigurationManager.ConnectionString[ “OLEDBCONNECTIONSTRING”].ConnectionS 然后,根据字符串创建连接,方法如下: myConnectionString+=Server.MapPath(“Accessdb.mdb”); OleDbConnection ocon = new OleDbConnection(myConnectionString); 至此,数据库连接就已经完成,可以对数据进行性相关操作了。27 第四章 外汇交易技术分析模块的需求分析技术分析模块为外汇交易系统的核心模块。本章将对整个系统进行概述,并 对系统的核心模块即技术分析模块进行分析, 包括模块功能需求及性能需求等方 面的分析。4.1 系统概述 系统概述4.1.1 项目背景 随着外汇市场日益成熟和完善及中国互联网业的迅猛发展,越来越多的中 国投资者选择在互联网上进行外汇投资。然而,大多数投资者缺乏必要的理论指 导和有效的分析手段, 使得他们在交易中无法得到较好的收益。 因此, 一个好的、 基于互联网的、 能够让众多投资者使用到的外汇交易技术分析系统就有存在在必 要。本项目就是基于这样一个背景,通过遍布全球的互联网络,给广大外汇投资 者一个辅助分析平台。从而更好的指导投资者制定交易策略、获得更好的投资回 报。 4.1.2 项目目标 本项目旨在帮助外汇投资者提供辅助分析以便其作出更好的投资决策,因 此,系统应解决以下问题: 1、提供用户最实时的外汇数据和全面的外汇信息,使用户了解市场的最新 动态。 2、提供全面的经整理的历史外汇数据下载,以便用户能通过对历史数据的 分析,得出更准确的投资决策。 3、将复杂的技术分析手段工具化,提供客户投资时必要的辅助分析信息。 4.1.3 系统的使用者 本系统的使用者为所有能连上互联网的、需要技术分析支持的外汇投资者。 使用者只要能连上互联网, 就能使用本系统, 从而通过相关操作, 得出投资决策。4.2 技术分析模块功能需求 技术分析模块功能需求28 4.2.1 模块功能 本模块主要功能包括:用户根据货币对、时间间隔查看趋势线,并选择相应 的技术分析手段对选定的货币对对应的时间段进行分析,画出图形。 4.2.2 模块角色及用例图 本模块只有一个角色,即用户。 用户在本模块中,可以执行的操作有:查看趋势和进行技术分析,其中查看 趋势包括根据货币对查看和根据时间间隔查看。 进行技术分析包括进行 MA 分析、 进行 BOLL 分析、进行 MACD 分析和进行 RSI 分析。其中,进行 MA 分析和 BOLL 分析时,其分析结果跟趋势图在同一个图中,而在进行 MACD 和 RSI 分 析时,分析结果在另外一个图中显示。 用户角色的模块用例图如下:根据货币对查看** * *查看趋势*根据时间间隔查看* * *MA分析** * *用户 进行技术分析*BOLL分析**RSI分析*MACD分析图 4.1 用户角色用例图 用户使用本模块的前置条件为已成为系统注册用户并登录系统, 进入技术分 析页面。 用户使用本模块的后置条件为能成功根据所选的货币对进行技术分析。 4.2.3 基本事件流29 基本事件流描述了用户能进行的操作,以及这些操作的步骤、前置条件与后 置条件。 1、用户根据货币对查看外汇走势。基本事件流如下图所示: 表4-1 用户根据货币对查看外汇走势 .用户根据货币对查看外汇走势 简要说明 前置条件 后置条件 角色 触发条件 基本事件流描述、步骤 特殊需求 成功后置条件 失败后置条件 用户通过选择币种来查看该币种的 价格走势 用户登录系统 用户能够看到该币种的走势图 用户无法看到该币种的走势图 用户 用户选择相关币种。 用户登录系统后,进入技术分析页 面,选择相关币种进行查看 无2、用户根据时间间隔查看外汇走势,基本事件流如下所示: 表4-2 用户根据时间间隔查看外汇走势 .用户根据时间间隔查看外汇走势 简要说明 前置条件 成功后置条件 后置条件 失败后置条件 角色 触发条件 基本事件流描述、步骤 用户通过选择时间间隔来查看该币 种的价格走势 用户登录系统 用户能够看到某币种在该时间间隔 下的走势图 用户无法看到某币种在该时间间隔 下的走势图 用户 用户选择时间间隔 用户登录系统后,进入技术分析页 面,选定特定币种,选择时间间隔, 查看走势 无特殊需求3.用户进行技术分析,基本事件流如下图所示: 表4-3 用户进行技术分析 .用户进行技术分析 简要说明 前置条件 成功后置条件 后置条件 失败后置条件30用户进行技术分析 用户登录系统 用户能够得出技术分析结果 用户无法得出技术分析结果 角色 触发条件 基本事件流描述、步骤特殊需求用户 用户选择相关技术分析方法。 用户登录系统后,进入技术分析页 面,选择相关技术分析指标,进行 分析 无4.3 模块其它需求 模块其它需求4.3.1 性能要求 本模块的性能需求有: 数据库容量需求:一般来说现今的数据库都能满足需求。 机器配置要求:因本系统要在大量数据基础上进行技术分析,因此,对硬件 系统有一定的需求。 时间性能要求:在进行技术分析时,技术分析时间最大不能超过5秒,平均 分析时间应介于2-4秒之间。 4.3.2 接口需求 本模块的接口需求有: 用户接口:本系统基于B/S模式,本模块提供给用户的操作界面主要是技术 分析界面。交互界面采用PC机显示屏,能在的分辨率下很好地显示, 并自动适应其它分辨率的显示。 软件接口:本系统数据库采用 ACEESS 2007。数据库连接引擎为 OLEDB; 本系统主要运行在 Windows 操作系统下。31 第五章 外汇交易技术分析模块的设计本章将在模块需求分析的基础上对模块进行设计, 包括模块的概要设计及详 细设计。5.1 技术分析模块设计原则 技术分析模块设计原则模块在实现中应遵行以下原则: 1.可扩展性。在本模块的设计中,应遵循可扩充的原则,模块必须能够随业 务发展的需要进行功能扩充。此外,模块的升级必须保证在不停止服务的前提下 无缝实现。 2.可维护性。系统采用 B/S 应用架构,只需维护服务器端程序,无须随时更 新客户端程序,可以很好的解决维护性问题。采用面向对象编程方法,以利于日 后对系统的扩充和修改;数据库设计中在表中预留字段,以利于对数据库进行扩 充,从而提高可维护性。在尽可能减少投资的前提下,综合考虑系统结构、网络 结构、技术措施、设备选型等,确保系统实现不间断服务。 3.界面友好性。最大程度征求用户的意见,界面设计以功能清晰、直观,流 程简单,便于操作为原则。提供一致的用户界面,避免屏幕上的内容太多、同一 界面运用太多不同的颜色以及避免字符和图形符号太小难以辨认; 能够自行引导 用户进行系统的操作,无须用户记忆太多、太复杂的操作命令;对于某个业务操 作,省去用户不关心的细节和页面,保证用户工作的高效率。5.2 技术分析模块概要设计5.2.1 模块功能定义 模块功能定义描述了本模块应提供给用户操作的功能。模块功能定义如下: 表 5.1 模块功能定义 序号 1 2 功能点 外汇走势 功能点详细内容 根据用户选择的货币对种类显示相应的趋势图 根据货币对查看 用户在下拉列表中选择货币对的种类,系统会 根据时间间隔查 对于特定的货币对,用户可以通过选择不同的32 看外汇走势 3时间间隔来查看同一货币对在不同时间段内的 走势。用户进行 MA 分 用户在下拉列表中选择移动平均线分析手段, 析 系统将进行相应的移动平均线分析。并在趋势 图上显示出移动平均线。 用户进行 BOLL 用户在下拉列表中选择布林带分析手段,系统 分析 将进行相应的柏林带分析。并在趋势图上显示 出带上中下三轨的布林带。 用户进行 RSI 分 用户在下拉列表中选择相对强弱指标分析手 析 段,系统将进行相应的相对强弱指数分析。并 在趋势图上显示出 RSI 线 用户进行 MACD 用户在下拉列表中选择 MACD 分析手段,系统 分析 将进行相应的 MACD 分析。并在趋势图上显示 出 MACD 线4565.2.2 模块结构图 模块结构图描述了整个模块的体系结构,因本系统采用 B/S 三层构架,故本 模块结构也分为三层,及数据层、应用层和 WEB 层。其中数据层用于存储外汇 数据,应用层负责接收用户请求并对请求进行响应,从数据库读取数据并进行分 析,并将分析结果反馈给用户,WEB 层是页面层,是用户跟系统之间的接口。 本模块的结构图如下:技术分析界面提出分析请求 返回分析结果技术分析业务层要求数据返回数据数据库图 5.1 技术分析模块结构图33 5.2.3 模块类图 模块类图描述了本模块中所有的类,以及类的属性、方法和类间关系等。 本模块中,共由两个类组成。分别命名为 DrawChart 类和 Analyse 类。其中 DrawChart 类为逻辑类,负责从数据库中读取数据,并进行各种外汇分析,并将 分析结果存储在以行列形式组织的数据结构中。并提供两个接口函数 DrawWtrendChart 和 DrawIndexChart 给 Analyse 类调用以生成趋势图表和分析图 表。Analyse 类为界面类,负责处理界面事件,返回事件处理结果,以及显示图 像。两个类之间的关系为,Analyse 类引用 DrawChart 类。Analyse 类通过调用 DrawChart 类的方法实现画图功能。 以下为技术分析模块类图:图 5.2 技术分析模块类图5.3 技术分析模块详细设计5.3.1 DrawChart 类详细设计 5.3.1.1 类功能 本类主要用于根据数据库中的外汇数据使用各种技术分析算法生成可用于 配置 MSChart 数据源的数据结构,并应用此生成的数据配置 MSChart 图表从而 形成各各种不同的外汇图表。34 5.3.1.2 类数据成员 类是数据成员是类的成员变量。DrawChart 类的数据成员如下表所示: 表 5-2 DrawChart 类数据成员成员变量名称 conn connectionString forexType TimeType 访问控制 public public public public 描述 OleDbConnection 类型的变量,用于进行数据库连接。 String 类型的变量,用于初始化 conn 变量。 String 类型的变量,表示用户所选择的货币对类型。 String 类型的变量,表示用户所选择的时间间隔类型。5.3.1.3 类成员函数 1、DrawChart DrawChart 函数是 DrawChart 类的构造函数,用于构造该类的对象。其带有 四个 String 类型的参数,用于初始化 DrawChart 对象的 forexType、timeType、wtrendType、indexType 等成员变量。DrawChart 函数设计表如下: 表 5.3 DrawChart 函数设计表函数名 类名 功能概要 参数 类型 String String 返回值 详细说明 1.本函数为 DrawChart 类的构造函数 2.本函数用于构造该类的对象,并初始化 forexType、timeType 等成员变量 变量名 forexType timeType 类型 void 说明 I/O 说明 货币对种类 时间间隔 DrawChart DrawChart 构造函数 函数使用权 函数使用权 Public2、DrawMaChart/DrawBollChart/DrawRsiChart/DrawMacdChart35 DrawMaChart 函数用于画外汇移动平均线分析图, 根据用户选择的货币对类 型、时间间隔类型绘制出移动平均线分析图。 DrawBollChart 函数用于画外汇布林带分析图, 根据用户选择的货币对类型、 时间间隔类型绘制出布林带分析图。 DrawRsiChart 函数用于画相对强弱指标分析图,根据用户选择的货币对类 型、时间间隔类型绘制出 RSI 分析图。 DrawMacdChart 函数用于画外汇 MACD 分析图,根据用户选择的货币对类 型、时间间隔类型绘制出 MACD 分析图。 因 DrawBollChart、DrawRsiChart、DrawMacdChart 与 DrawMaChart 形式及 功能类似,因此只描述 DrawMaChart 的设计。 DrawMaChart 函数设计表如下: 表 5.4 DrawMaChart 函数设计表函数名 类名 功能概要 参数 类型 无 返回值 类型 值 ChartX 图形 说明 根据货币对类型和时间间 隔类型画出的移动平均线 图 详细说明 本函数用于根据用户选择的货币对类型、时间间隔类型绘制出相应的外汇趋势图。 变量名 I/O 说明 DrawMaChart DrawChart 用于绘制移动平均线趋势图 函数使用权 Public36 函数处理逻辑(流程图) :开 始 执 行 声 明 chart1 配 置 Chart1的 数 据 源 为 MA数 据 源设 置 chart1的 相 关 属 性返 回 图 表 chart1 结 束 执 行图 5.3 DrawMaChart 函数流程图 3、 CreateMacdDataSource/ CreateWtrendDataSource/ CreateRsiDataSource/ CreateMDataSource/ CreateBollDataSource CreateMacdDataSource 函数用于创建生成 MACD 分析图表的数据源,从数 据库中读取数据后,进行 MACD 算法处理后,形成分析过后的数据,并将分析 后的数据存储在以行列组织的数据结构中。 因 CreateWtrendDataSource、 CreateRsiDataSource、CreateMDataSource、 CreateBollDataSource 与 CreateMacdDataSource 函数形式及功能类似。故只对 CreateMacdDataSource 函数进行设计 表 5.5 CreateMacdDataSource 函数设计表函数名 类名 功能概要 参数 类型 无37CreateMacdDataSourceDrawChart 用于配置 MACD 图的数据源函数使用权Public变量名I/O说明 返回值类型 值DataTable 采用行列组织 的数据集合说明 基 于 配 置 ChartX 图 形 的 DataSource 属性详细说明 本函数通过读取数据库中的数据,应用相关算法进行 MACD 分析,并将计算结果存储 在以行列组织的数据集合中。函数处理逻辑(流程图) :开 始 执 行 从 数 据 库 获 取 数 据对 数 据 进 行 MACD分 析将 分 析 结 果 写 入 DataTable返 回 DataTable结 束 执 行图 5.4 CreateMacdDataSource 函数流程图 5.3.2 Analyse 类详细设计 5.3.2.1 类功能 Analyse 类为技术分析的界面类,主要用于处理界面中产生的事件。 5.3.2.2 类数据成员 表 5.6 Analyse 类数据成员成员变量名称 flag forexType 访问控制 public public 描述 Bool 类型的变量,用于判断是否第一次进入页面。 String 类型的静态变量,用于存储用户在下拉列表中选 择的货币对类型38 timeTypepublicString 类型的变量,表示存储用户在下拉列表中所选择 的时间间隔类型。5.3.2.3 类成员函数 由于本类为一界面类故其成员函数为 Page_Load 函数和事件处理函数。本类 中事件处理函数只有一个,即 Analyse_Click 函数。 1、 Page_Load Page_Load 函数是系统自动生成的随页面存在的函数。其操作流程图如下:开始执行 获 取 默 认 的 forexType 、 timeType 值根 据 上 述 值 初 始 化 DrawChart 对 象 通 过 DrawChart 对 象 调 用 其 DrawMaChart 、 DrawBollChart 、 DrawMacdChart 、 DrawRsiChart 函 数 画 图 显示图表 结束执行图 5.5 Page_Load 函数流程图 2、 Analyse_Click39 Analyse_Click 是个事件处理函数,当用户点击 AnylyseButton 时,便会调用 此函数进行处理。其函数流程图如下:开始执行 获取用户在下拉列表中选择的各种类型分 别赋值给forexType、timeType根据上述值初始化DrawChart对象 通过DrawChart对象调用其DrawMaChart、 DrawBollChart、DrawMacdChart、 DrawRsiChart函数画图 显示图表 结束执行图 5.6 Analyse_Click 函数流程图40 第六章 外汇交易技术分析模块的实现本章基于第四章和第五章的分析与设计,描述对技术分析模块的实现,包括 实现手段及效果。6.1 模块界面实现本模块界面除系统母版页外,有 2 个下拉列表(DropDownList) ,供用户选 择货币对类型、时间间隔类型;有一个 Button,用于完成分析功能,四个 Panel, 用于显示移动平均线图、布林带图、MACD 图和 RSI 图。 在使用本模块前,用户必须先登录系统,否则将不能进行技术分析。 实现此功能的伪代码如下: If(用户未登录)//用 session 对象存储用户登录信息,若 session 为 //空,则说明用户未登录 Alert(必须先登录才能使用技术分析) Else 获取下拉列表中的 text 属性 根据属性 drawchart(); 若用户在未登录系统时,进入技术分析模块,将收获如下消息:图 6.1 限制未登录用户使用技术分析的实现 当用户登录系统后, 再进入技术分析页面将可以进行技术分析, 用户进入后, 页面如下图显示:41 图 6.2 技术分析界面实现6.2 趋势线图实现 趋势线图本模块在分析时根据用户选择的货币对类型、时间间隔共产生两种图表,一 个是趋势线图表,另一种则为指标分析图表。 趋势线的实现包括移动平均线图和布林带图的实现。以下以货币对美元/日 元、时间间隔为月,来描述趋势线的实现。 本模块中,系统根据用户选择的货币对和时间间隔,从数据库中读出数据, 进行相应的处理后, 将数据附给 Chart 图的 DataSource 属性, 并在 Panel1 中输出 出来。 6.2.1 移动平均线图实现 移动平均线图 移动平均线的实现,是根据用户选择的货币对和时间间隔,显示出该货币对42 在在该时间间隔内的走势图,并对走势进行移动平均线分析,将分析结果也显示 在走势图中。效果如下图所示:图 6.4 移动平均线图的实现 6.2.2 布林带图的实现 布林带图的实现,是根据用户选择的货币对和时间间隔,显示出该货币对在 在该时间间隔内的走势图,并对走势进行布林带分析,将分析结果也显示在走势 图中。效果如下图所示:图 6.5 布林带图的实现6.3 技术指标分析图实现技术指标分析图的实现包括 MACD 图的实现和 RSI 图的实现。以下以货币43 对美元/日元、时间间隔为月,来描述技术指标分析图的实现。 本模块中,系统根据用户选择的货币对和时间间隔,从数据库中读出数据, 进行相应的技术分析手段进行分析后,将分析得到的数据附给 Chart 图的 DataSource 属性,并在 Panel2 中输出出来。 6.3.1 MACD 图实现 MACD 图的实现,是根据用户选择的货币对和时间间隔,对该货币对在在 该时间间隔内的走势进行 MACD 分析,将分析结果显示在分析图中。效果如下 图所示:图 6.6 MACD 图的实现 6.3.2 RSI 图实现 RSI 图的实现,是根据用户选择的货币对和时间间隔,对该货币对在在该时 间间隔内的走势进行 RSI 分析, 将分析结果显示在技术指标分析图中。 效果如下 图所示:图 6.7 RSI 图的实现44 第七章 结论7.1 完成的工作本文主要讲述了技术分析在外汇中应用以及几种主要的技术分析手段, 以及 完成了外汇交易系统中技术分析模块的分析、设计和实现。 在整个论文完成的过程及模块开发的过程中,有过许多疑问并一一解决,取 得的成果有: 1、明白了技术分析的概念,知道了其与基础分析的区别及二者的应用范围。 认识到了技术分析在外汇交易中受到广泛应用, 了解了技术分析几种重要的分析 手段。清楚了技术分析对于外汇交易的重要意义。 2、在外汇交易系统技术分析模块开发过程中,对于 MSChart 画图技术有了 一定的理解。 3、对一个小型网站的构架有了更清楚的认识。 除本文中着重描述的技术分析模块外,还与 xx 同学合作完成了外汇交易系 统其它模块的开发,包括身份验证模块、下载模块、外汇信息模块和实时数据浏 览功能等。在这个开发过程中,让我更好的掌握了.NET 开发技术,并深刻的认 识到团队合作的重要性。虽然我们团队只有两个人,但也需要紧密团结的合作。7.2 改进与展望在本模块中,外汇技术分析所用的数据是历史数据,而不是实时的变化着的 数据,这是由于数据的局限性造成的,由于实时数据的获取很难而且需花费高昂 的费用,所以本模块并没有使用实时数据。不过其意义是一样的,在今后如果实 时数据能够方便获取的时候,在本模块的基础上稍做修改,就能实现对实时数据 的分析。而在进行技术分析,涉及到数据量很大的分析时,速度较慢,其中有一 部分原因是算法效率不够高,这也是改进的一个方向。 另外在本系统中,功能相对来说不够丰富,在毕业设计结束后,在系统中加 入其它功能如在线咨询、用户交流模块应是我们要做的工作。45 参考文献[1]魏本华.全球外汇市场、储备管理与主权财富基金[J]. 财经界,2008-01. [2]中国外汇网.为什么越来越多的人看好外汇市场?[EB/OL]. /shichang/5055.html, . [3]陈展鹏.外汇市场技术分析[M].广州:广东经济出版社, 2008. [4]天下财经网.技术分析的理论基础[EB/OL]. /thread-.html, . [5]李庆艳.基本面分析与技术面分析[N].期货日报, 第 004 版. [6]双赢金融.技术分析与基础分析的比较[EB/OL]. /%CB%AB%D3%AE%BD%F0%C8%DA/blog/item/06c8b854b2 58b.html ,. [7]Mark P. Taylor, Lucio Sarno. Microstructure of the Foreign-Exchange Market: A Selective Survey of the Literature[M].普林斯顿大学出版社,2001. [8]王珏.技术分析在外汇交易中的应用理论与争议[J].商业时代,. [9]焦华. RSI 指标探讨[N].贵州商专学报, 2001-3. [10]夏强.关于布林带的门限分析[DB/OL].中国优秀硕士学位论文数据库, 2006 [11]MACD 指标实际运用[N]. 江苏经济报, . [12] 孙亮, 张永强, 乔世权, 赵金宝.面向对象 UML 技术在软件设计中的应用[J]. 现代工贸商业,2008-2. [13]Michael Blaha,James Rumbaugh.Object-Oriented Modeling and Design with UML[M].POST&TELECOM PRESS, 2006. [14]李玉林,王岩. ASP.NET2.0 网络编程从入门到精通[M].北京:清华大学出版 社,2006-9. [15]智达网络论坛.Microsoft.NET:一场新的革命[EB/OL]. /bbs/ShowPost.asp?ThreadID=-01-13. [16] 金华,华进.C #网络编程技术教程[M].北京:人民邮电出版社,. [17]赵仁铠. Mschart 图表控件应用方法[J].实践与经验,2000-1. [18]杨宗长,匡虹.基于 MSChart 的数据库图表应用编程[J].工程地质计算机应用,46 2005-01. [19]熊林. 试论 ODBC 与 OLEDB 的差异[J].电脑知识与技术,2005-7.47 致谢48
外汇交易系统技术分析模块的开发―汇集和整理大量word文档,专业文献,应用文书,考试资料,教学教材,办公文档,教程攻略,文档搜索下载下载,拥有海量中文文档库,关注高价值的实用信息,我们一直在努力,争取提供更多下载资源。}

我要回帖

更多关于 福瑞斯外汇怎么样 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信