基于Java语言开发的个性化股票分析技术:随机指数(KDJ)
- 格式:doc
- 大小:178.50 KB
- 文档页数:18
随机指数(KDJ)
一、随机指标
??? 随机指标是在威廉指标的基础上,引入移动平均线快、慢的概念,通过计算一定时间内的最高、最低价和收市价间的波幅,反映价格走势的强弱及超买超买动态,分析中、短期股市走势,是比较实用的技术指标。
二、公式
* 国内计算随机指标的周期为9天,K值D值为3天
* RSV(9)=(今日收盘价-9日内最低价)÷(9日内最高价-9日内最低价)×100
* K(n)=(当日RSV值+前一日K值)÷N
* D(n)=(当日K值+前一日D值)÷N
* J=3K-2D
三、KDJ分析要领
1. KDJ是中短期技术指标,但需要配合其他技术指标共同分析。
2. KD线活动范围在1--100之间。
D值向上趋近70或超过70时,说明买盘力量大,进入超买区,股市可能下跌。
D值向下趋近30 或跌破30时,说明卖方力量很强,进入超卖区,股市的反弹性增强。
J值>100%超买,J值<10%超卖。
3. 当K线与D线交叉时,如果K>D,说明股市上涨,K线从下方突破D线,行情上涨,可适当买进;如果K<D,K线从上向下跌破D线,行情转跌,可适当卖出。
如果KD线交叉突破反复在50左右震荡,说明行情正在整理,此时要结合J值,观察KD偏离的动态,再决定投资行为。
4. 如果股市层层拔高而KD线层层降低,或完全相反,这种情况称为"价线背离",预示着股市行情要转向,进入一个多头或空头区位,投资者要及时变换投资行为。
股价变动过快时,不适用该指标。
用java做股票分析系统可行性股票分析系统是基于股票市场数据进行分析和预测的系统。
使用Java开发股票分析系统的可行性将在以下几个方面进行讨论:1. 语言特性:Java是一种面向对象编程语言,具有良好的封装性、继承性和多态性,能够更好地管理和组织系统中的各个模块和功能。
Java还有丰富的类库和工具支持,使得开发过程更加高效方便。
2. 数据处理能力:股票分析系统需要处理大量的历史和实时的股票市场数据,包括股票价格、股票交易量、财务数据等。
Java具有强大的数据处理能力,可以通过结合各种数据处理框架(如Hadoop和Spark等)和数据库(如MySql和MongoDB等)来实现高效地存储和分析大规模数据。
3. 数据可视化:股票分析系统需要通过图表和报表等形式直观地展示数据分析结果。
Java有丰富的图形界面开发库和数据可视化工具,如JavaFX、JFreeChart等,可以方便地实现各种图表的绘制和数据展示。
4. 算法支持:股票分析系统需要使用各种算法来对股票数据进行分析和预测,如趋势分析、技术指标分析、机器学习算法等。
Java有强大的算法支持,可以使用各种开源的机器学习库(如Weka、TensorFlow等)和数值计算库(如Apache Commons Math等)来实现各种分析算法的应用。
5. 应用场景:股票分析系统可以应用于个人投资者、股票分析师、研究机构、金融机构等多个场景。
Java是跨平台的编程语言,可以在不同操作系统上运行,能够满足不同用户需求的同时具备灵活性和扩展性。
6. 安全性和稳定性:股票市场数据的安全性和稳定性对于股票分析系统至关重要。
Java具有严格的安全机制和稳定的运行环境,可以保护系统免受恶意攻击和崩溃。
7. 开发成本和人力资源:Java是一种广泛使用的编程语言,具有较大的开发社区和丰富的资源,可以快速解决开发过程中的问题。
另外,Java开发人员也相对较容易招聘和培养,可以降低开发成本和风险。
python skdj指标摘要:I.简介- 介绍SKDJ 指标- 阐述其在股票分析中的作用II.SKDJ 指标的原理- 解释SKDJ 指标的计算方法- 详述SKDJ 指标的特性III.SKDJ 指标的应用- 分析SKDJ 指标在股票投资中的优势- 阐述SKDJ 指标的实战技巧IV.SKDJ 指标的局限性- 讨论SKDJ 指标的不足之处- 分析SKDJ 指标的适用范围V.总结- 总结SKDJ 指标的特点和应用- 提出未来可能的改进方向正文:I.简介SKDJ 指标,全称为“随机指标”,是一种在技术分析中广泛应用的动量指标。
它通过计算股票价格在一定时间内的变化幅度,以及变化趋势,来判断股票未来的走势。
SKDJ 指标不仅可以用于股票分析,还可以用于其他金融产品,如外汇、期货等。
在股票投资中,SKDJ 指标可以帮助投资者判断市场趋势,选择合适的买卖点,从而获得更好的投资收益。
II.SKDJ 指标的原理SKDJ 指标的计算方法比较复杂,主要包括以下几个步骤:1.计算K 线和D 线的值K 线是当前价格与过去N 天内最低价之间的差异,D 线是过去N 天内K 线的平均值。
通常情况下,N 的取值范围为9。
2.计算J 线的值J 线是K 线与D 线的比值,通常情况下,J 线的取值范围为0 到100。
当J 线大于100 时,表示市场处于超买状态;当J 线小于0 时,表示市场处于超卖状态。
III.SKDJ 指标的应用SKDJ 指标在股票投资中有以下优势:1.简单易懂:SKDJ 指标的计算方法相对简单,投资者容易理解和掌握。
2.实用性:SKDJ 指标可以帮助投资者判断市场趋势,选择合适的买卖点。
3.适用范围广:SKDJ 指标不仅可以用于股票分析,还可以用于其他金融产品,如外汇、期货等。
在实际操作中,投资者可以结合其他技术指标和市场信息,运用SKDJ 指标进行股票投资。
例如,当SKDJ 指标显示市场处于超卖状态时,投资者可以考虑买入股票;当SKDJ 指标显示市场处于超买状态时,投资者可以考虑卖出股票。
java kdj计算代码最近,我在学习Java编程语言的时候,遇到了一个很有趣的问题。
这个问题是关于如何使用Java代码来计算两个数的差值的。
虽然这个问题可能看起来很简单,但是在实际编写代码的过程中,我发现有一些技巧和细节需要注意。
我决定使用Java的基本算术运算符来计算差值。
这些运算符包括加法、减法、乘法和除法。
为了保证计算结果的准确性,我还考虑了数据类型的选择。
在这个问题中,我选择使用整数类型来进行计算,因为整数类型可以保证计算结果的精确性。
接下来,我开始编写代码。
首先,我声明了两个整数变量,分别表示两个需要计算差值的数。
然后,我使用减法运算符来计算这两个数的差值,并将结果赋给一个新的变量。
最后,我使用System.out.println()方法将计算结果输出到控制台。
下面是代码的具体实现:```javapublic class CalculateDifference {public static void main(String[] args) {int num1 = 10;int num2 = 5;int difference = num1 - num2;System.out.println("两个数的差值为:" + difference); }}```通过运行上述代码,我得到了两个数的差值为5的结果。
这个结果符合我的预期,并且与实际计算结果一致。
在编写这段代码的过程中,我注意到了一些细节。
首先,我在声明变量时选择了有意义的变量名,以提高代码的可读性。
其次,我使用了适当的注释来解释代码的功能和实现细节。
这样做可以让其他人更容易理解和阅读我的代码。
总的来说,通过这个问题的实践,我对Java编程语言的基本算术运算有了更深入的了解。
我学会了如何使用Java代码来计算两个数的差值,并且在编写代码的过程中,我还注意到了一些细节和技巧。
这个问题的解决过程让我更加熟悉了Java编程语言,并提高了我的编程能力。
KDJ随机指数计算公式及应用打开应用保存高清大图KDJ随机指数计算公式及应用1.KD指标的计算公式以9日周期的KD 线为例,首先须计算出最近9日的“RSV值”,即“未成熟随机值” 。
RSV值即在最近9日周期中,为第九日收盘价在9日行情的最高价与最低价间的位置(百分比)。
RSV值 = 100 X (第9日收盘价 - 9日内最低价)/(9日内最高价 - 9日内最低价)注:RSV值恰为%R的相反值,两者之和等于100%,而RSV 值也永远介于0与100之间。
在这里,K线即为RSV 的三日平滑移动平均线;而D线又为K线的三日平滑移动平均线。
根据快速、慢速移动平均线原理,K线向上突破D线(即K值>D 值)为买进信号,K线跌破D线(即K值K值 = 当日RSV ×1/3 + 前一日K值× 2/3 即:%Kt = RSV ×1/3 + %Kt-1 × 2/3D值 = 当日K值× 1/3 + 前一日D值× 2/3 即:%Dt = %Kt × 1/3 + %Dt-1 × 2/3在介绍KD时,往往还附带一个J指标,计算公式为: J=3D-2K其实,J=D十2(D-K),可见J是D加上一个修正值。
J的实质是反映D和D与K的差值。
在实际中,J被使用得相对较少,这里不作重点介绍。
2.KD指标应用KD线有以下5个功能上的应用:1)超买区与超卖区的判断。
D值在70以上时,市场呈现超买现象。
D值在30以下时,市场则呈现超卖现象。
2)当K线发生倾斜度趋于平缓时,是为警告信号。
3)差离信号产生时,也为非常正确的买进、卖出时机。
当价格出现一新高点后回软,再度上升到另一高点,同时,相对应的%D出现一个高点后回软,无法出现新高,则为熊差离走势。
显示市道将出现下降趋势。
相反,当价格出现一新低点反弹后再回落出现新低点,同时,相对应的%D出现一个新低点后无法突破该低点,则为一个牛差离走势,显示市道将扭转向上。
用java做股票分析系统可行性股票分析系统是一个应用程序,旨在为投资者提供有关股票市场的信息和分析工具,帮助他们做出更明智的投资决策。
通过使用Java编程语言,可以开发一个功能强大且易于使用的股票分析系统。
下面将详细讨论Java在股票分析系统中的可行性。
首先,Java是一种跨平台的编程语言,可以在不同的操作系统上运行,包括Windows,Mac和Linux等。
这意味着无论投资者使用什么类型的设备,他们都可以方便地访问和使用股票分析系统。
这使得Java成为开发股票分析系统的理想选择,因为它提供了更广泛的使用范围,可以满足不同投资者的需求。
其次,Java具有广泛的开发库和框架,使得开发股票分析系统变得更加简单和高效。
例如,Java提供了强大的图表库,可以帮助开发者创建各种类型的图表,如股票价格走势图和技术指标图表。
此外,Java还提供了许多用于数据处理和分析的库,例如Apache Commons Math和Weka等,可以用于计算股票指标和执行各种数据分析任务。
这些库和框架大大简化了股票分析系统的开发过程,并提高了系统的性能和效率。
第三,Java具有良好的安全性和可靠性。
股票分析系统需要处理大量敏感的投资数据,例如股票价格,交易量和财务数据等。
Java提供了强大的安全特性,例如访问控制,异常处理和数据加密等,可以保护用户的数据和隐私。
此外,Java 的垃圾回收机制和异常处理机制可以有效地管理系统资源并减少系统崩溃的风险,提高了系统的可靠性。
此外,Java还具有良好的可扩展性和易维护性。
随着时间的推移,投资者可能需要添加新的功能或调整现有功能来满足不断变化的需求。
Java的面向对象编程模型和模块化设计原则使得系统的扩展和维护变得更加容易。
通过使用Java 编程,可以将系统拆分为独立的模块,每个模块负责不同的功能。
这样,可以在不影响其他模块的情况下对系统进行修改和升级,减少了系统的复杂性和维护成本。
最后,Java有一个庞大和活跃的开发社区。
随机指标KDJ使用入门KDJ指标的中文名称是随机指数,最早起源于期货市场。
KDJ指标的应用法则KDJ指标是三条曲线,在应用时主要从五个方面进行考虑:KD的取值的绝对数字;KD曲线的形态;KD指标的交叉;KD指标的背离;J 指标的取值大小。
第一,从KD的取值方面考虑。
KD的取值范围都是0~100,将其划分为几个区域:80以上为超买区,20以下为超卖区,其余为徘徊区。
根据这种划分,KD超过80就应该考虑卖出了,低于20就应该考虑买入了。
应该说明的是,上述划分只是一个应用KD指标的初步过程,仅仅是信号,完全按这种方法进行操作很容易招致损失。
第二,从KD指标曲线的形态方面考虑。
当KD指标在较高或较低的位置形成了头肩形和多重顶(底)时,是采取行动的信号。
注意,这些形态一定要在较高位置或较低位置出现,位置越高或越低,结论越可靠。
第三,从KD指标的交叉方面考虑。
K与D的关系就如同股价与MA的关系一样,也有死亡交叉和黄金交叉的问题,不过这里交叉的应用是很复杂的,还附带很多其他条件。
以K从下向上与D交叉为例:K上穿D是金叉,为买入信号。
但是出现了金叉是否应该买入,还要看别的条件。
第一个条件是金叉的位置应该比较低,是在超卖区的位置,越低越好。
第二个条件是与D相交的次数。
有时在低位,K、D要来回交叉好几次。
交叉的次数以2次为最少,越多越好。
第三个条件是交叉点相对于KD线低点的位置,这就是常说的“右侧相交”原则。
K是在D已经抬头向上时才同D相交,比D还在下降时与之相交要可靠得多。
第四,从KD指标的背离方面考虑。
在KD处在高位或低位,如果出现与股价走向的背离,则是采取行动的信号。
第五,J指标取值超过100和低于0,都属于价格的非正常区域,大于100为超买,小0为超卖。
综合考察KDJ强调技术指标的重要性,多是从技术分析这一理论的整体角度而言。
实际操作中,投资者应该注意多种技术分析的运用和实践。
由于技术分析理论随着时间的推移,林林总总、纷繁复杂。
kdj指标的编写方法-概述说明以及解释1.引言1.1 概述概述KD指标(KDJ指标)是一种比较常用的技术分析工具,用于衡量一定周期内收盘价在价格区间内的涨跌幅度及其变动速度,以辅助投资者进行交易决策。
KD指标是根据收盘价在一段时间内的最高价和最低价计算出来的,具有相对简单的计算方法和直观的表现形式,因此受到广泛关注和应用。
本文将详细介绍KD指标的定义、计算方法、应用场景以及其重要性和局限性,同时探讨未来KD指标的发展方向,旨在帮助读者更好地理解和应用KD指标,并提高投资决策的准确性和效率。
1.2 文章结构文章结构部分应该包括对本文的整体架构和各部分内容的简要介绍。
在这里,我们可以介绍文章的整体分为引言、正文和结论三个部分。
引言部分主要概述kdj指标的重要性和背景,正文部分将详细介绍什么是kdj 指标、其计算方法以及应用场景,最后结论部分将总结kdj指标的重要性,并探讨其局限性和未来发展方向。
整体上,本文将全面介绍kdj指标的编写方法,为读者提供一个清晰的了解和掌握这一重要指标的指南。
1.3 目的本文的目的是通过对kdj指标的编写方法进行深入探讨,帮助读者更好地了解和掌握kdj指标的计算原理和应用场景。
通过对kdj指标的详细解析,读者可以更加全面地了解该指标在技术分析中的作用和意义,并能够运用于实际的交易操作中。
同时,本文也将对kdj指标的局限性和未来发展方向进行探讨,帮助读者更好地把握该指标的使用范围和局限性,以及未来可能的改进方向。
通过本文的阐述,读者可以更好地理解kdj指标的研究意义,为其在实际交易中的应用提供理论支持和指导。
2.正文2.1 什么是kdj指标:KDJ指标又称随机指标,是一种技术分析指标,用来衡量股票价格的波动情况。
KDJ指标源自于美国,主要运用在股票市场,但也广泛应用于期货、外汇等金融市场。
KDJ指标是通过对股票的价格走势进行计算,来帮助投资者判断股价的走势,并作出相应的投资决策。
KDJ随机指标随机指标是由乔治·莱恩首创的,它在通过当日或最近几日最高价、最低价及收盘价等价格波动的波幅,反映价格趋势的强弱.KDJ指标的中文名称是随机指数,最早起源于期货市场。
随机指标在图表上共有三根线,K线、D线和J线。
随机指标在计算中考虑了计算周期内的最高价、最低价,兼顾了股价波动中的随机振幅,因而人们认为随机指标更真实地反映股价的波动,其提示作用更加明显。
随机指标KD线的意义:KD线称之为随机指标,K为快速指标,D为慢速指标,当K线向上突破D线时,表示为上升趋势,可以买进;当K线向下突破D线时,可以卖出,又当KD值升到90以上时表示偏高,跌到20以下时表示偏低。
太高就有下跌的可能,而太低就有上涨的机会。
一、KDJ的计算(N日收盘价- N日内最低价) ÷(N日内最高价- N日内最低价) ×100 = N 日RSV当日K值= 1/3当日RSV + 2/3前1日K值;当日D值= 2/3前1日D值+ 1/3当日K值;当日J值= 3当日K值- 2当日D值.K、D初始值取50.二、KDJ的原理1、KDJ以今日收盘价(也即N日以来多空双方的最终言和价格)作为买力与卖力的平衡点,收盘价以下至最低价的价格距离表征买力的大小,而最高价以下至最低价的价格距离表征买卖力的总力。
这样,RSV的买力与总力之比,正是用以表征N 日以来市场买力的大小比例,反映了市场的多空形势。
2、KDJ指标的后来修正者,放弃把RSV直接作为K值,而只把RSV作为新K 值里面的1/3比例的内容。
这是一种权值处理手法,表明更重视(2/3重视)近期趋势的作用。
3、在乔治。
蓝恩的发明里,D值原来是N日K值的平滑平均值。
现直接从算式上可见,D值只把K值作1/3的权重加以考虑,同样表明对近期趋势的重视。
同时,D值的变化率也就小于K值的变化率,因此,K线成为随机指标中较敏感的快速线,D线则为较沉稳的慢速线。
4、J值本意为D值与K值之乖离,系数3和2也表现了权值的处理,表明在K D指标中,D指标应被更重视一些,这与趋势分析中认为慢速线较具趋势的示向性三、KDJ的应用1、一般而言,D线由下转上为买入信号,由上转下为卖出信号。
关于炒股软件上SKDJ这个炒股技术指标的再探讨关于炒股软件上SKDJ 这个炒股技术指标的再探讨我在自己的博客上多次提到炒股软件上的一个炒股技术指标SKDJ 炒股指标,我为啥反复提到这个炒股技术指标?原因有以下几个方面:一是这个炒股技术指标就两根线,比较适合初学股票者运用,再者是这个炒股技术指标一般的炒股交易软件上是自带的,很容易找到。
另一个原因是:这个炒股技术指标在80位置时股价容易下跌,在20值附近容易上涨,其中百分之80的股票品种的行情走势大致符合这个规律。
建议朋友们没事了可以利用这个炒股技术指标对照以下两市的大盘指数和个股行情,多验证几个品种,先感觉感觉,是不是股市行情个个股行情多数时候遵循这个规律行走。
三是近期我对这个炒股技术指标的生成原理比较熟悉,这个炒股技术指标是根据以往一个周期内最高股价,最低股价,和收市价之间的波幅,反应股价走势的一个随机指标,只适用与短线比较合适的一个炒股技术指标。
因为他的随机性,故此有些股票品种的走势偏偏不太符合“20到80值”就涨就跌的规律,也就可以理解了,有的股票品种到了80值不跌,反倒涨的更快,这种现象是存在的,这类股票品种能占到20%的比例,这都是事实。
利用这个炒股技术指标看大盘指数,研判行情,要比看个股准确率要大的多,朋友们可以查一查股市以往走出来的历史趋势,验证一下。
还有一个原因是:目前很多股评家在公开场合最喜欢用这个指标说事,当然人家肯定不会说这个指标到多少位置,他们会说“近期大盘技术上有回调的要求,近期大盘近期有上涨的要求”,“某股票目前价位在高位,某股票价格是目前在低位”。
其实他们就是从这个KDJ 指标或者是SKDJ 指标上论的,我有时候也看股评节目,看完之后,赶紧找出这个指标来看,几乎都能和他们的股票预测言论用这个指标能对的上号。
我还留意观察过不少专业炒股人士平时炒股时的软件画面,发现多数炒股专业人士的炒股软件第一副画面上都带有KDJ 这个炒股技术指标曲线图。
基于Java语言开发的个性化股票分析技术:随机指数(KDJ)KDJ指标又叫随机指标,是由乔治·蓝恩博士(GeorgeLane)最早提出的,是一种相当新颖、实用的技术分析指标,它起先用于期货市场的分析,后被广泛用于汇市的中短期趋势分析,是期货和外汇市场上最常用的技术分析工具。
有K线,D线和J线三条线组成。
XML描述:<?xml version="1.0" encoding="UTF-8" ?><indicator shortName="KDJ"fullName="随机指数"class="com.shengrensoft.stock.model.indicator.dailykdj.DailyKDJIndicator"dataUnit="D"><!-- 仅限:分钟、每日、每周、每月四种情况允许 --><!-- 参数列表 --><paramList><param shortName="N" value="9" fullName="N天数" /><param shortName="M1" value="3" fullName="M1天数" /><param shortName="M2" value="3" fullName="M2天数" /></paramList><!-- 数据列表 --><dataList><data shortName="StkDailyK" /><data shortName="IdxDailyK" /><data shortName="BlkDailyK" /></dataList><!-- 输出列表 --><valueList><value shortName="K" fullName="K值" /><value shortName="D" fullName="D值" /><value shortName="J" fullName="J值" /></valueList><!-- 图形:K线 --><drawChart name="K" region="IndicatorB"><line thickness="1" color="#FFFFFF" opacity="1"><!-- 白色线形图 --><valueList><value shortName="K" name="value" /></valueList></line></drawChart><!-- 图形:D线 --><drawChart name="D" region="IndicatorB"><line thickness="1" color="#FFFF00" opacity="1"><!-- 黄色线形图 --><valueList><value shortName="D" name="value" /></valueList></line></drawChart><!-- 图形:J线 --><drawChart name="J" region="IndicatorB"><line thickness="1" color="#FF00FF" opacity="1"><!-- 粉色线形图 --><valueList><value shortName="J" name="value" /></valueList></line></drawChart><description>KDJ指标又叫随机指标,是由乔治·蓝恩博士(GeorgeLane)最早提出的,是一种相当新颖、实用的技术分析指标,它起先用于期货市场的分析,后被广泛用于汇市的中短期趋势分析,是期货和外汇市场上最常用的技术分析工具。
有K线,D线和J线三条线组成。
</description></indicator>Java代码:/** @(#)DailyKDJIndicator.java** Copyright @ Hangzhou Shengren Software Tech. Co., Ltd.*/package com.shengrensoft.stock.model.indicator.dailykdj;import java.rmi.RemoteException;import java.text.DecimalFormat;import java.util.ArrayList;import java.util.LinkedHashMap;import java.util.List;import ng.math.NumberUtils;import mon.util.DateUtil;import mon.util.StkAnalysisUtil; import com.shengrensoft.stock.center.data.Data;import com.shengrensoft.stock.center.data.GettingDataList;import com.shengrensoft.stock.center.data.BlkDailyK.BlkDailyKData; import com.shengrensoft.stock.center.data.Data.DataName;import com.shengrensoft.stock.center.data.IdxDailyK.IdxDailyKData; import com.shengrensoft.stock.center.data.StkDailyK.StkDailyKData; import com.shengrensoft.stock.center.model.ModelParam;import com.shengrensoft.stock.center.model.indicator.AbstractIndicator; import com.shengrensoft.stock.center.model.indicator.IndicatorValue;/*** KDJ随机指数的实现类。
** @author 迅动平台 2012/08/02 新建*/public class DailyKDJIndicator extends AbstractIndicator {/** 序列版本ID */private static final long serialVersionUID = 6146654415916101973L;// 参数名定义/** 参数名:N天数 */private static final String PARAM_N = "N";/** 参数名:M1天数 */private static final String PARAM_M1 = "M1";/** 参数名:M2天数 */private static final String PARAM_M2 = "M2";// 计算值定义/** 计算值:K值 */private static final String VALUE_K = "K";/** 计算值:D值 */private static final String VALUE_D = "D";/** 计算值:J值 */private static final String VALUE_J = "J";/*** 构造方法。
*/public DailyKDJIndicator() throws RemoteException {}/*** 计算出指定时间范围内KDJ随机指数的值序列。
** @param stkCode 证券代码* @param beginDate 起始日期* @param closeDate 终止日期* @param paramsList 指标参数列表** @return KDJ随机指数的值序列*/public LinkedHashMap<java.util.Date, IndicatorValue> calculate ( String stkCode,java.util.Date beginDate,java.util.Date closeDate,List<ModelParam> paramsList) throws RemoteException {// 如果未指定起始日期,则返回空的值序列if (beginDate == null) {return null;}// 如果未指定终止日期,则以当前日期作为终止日期if (closeDate == null) {closeDate = DateUtil.getSystemTime();}// 起始日期、终止日期的前后关系检查if (beginDate.after(closeDate)) {return null;}// 取得指标的各个参数int paramN = 0; // 参数:N天数int paramM1 = 0; // 参数:M1天数int paramM2 = 0; // 参数:M2天数for (ModelParam param : paramsList) {if (PARAM_N.equals(param.getShortName())) {paramN = NumberUtils.toInt(param.getValue());} else if (PARAM_M1.equals(param.getShortName())) {paramM1 = NumberUtils.toInt(param.getValue());} else if (PARAM_M2.equals(param.getShortName())) {paramM2 = NumberUtils.toInt(param.getValue());} else {return null;}}// 判别证券代码类型(股票代码、股指代码、或板指代码),分别计算KDJ随机指数的值序列 StkAnalysisUtil stkAnalysisUtil = super.getStkAnalysisUtil();if (stkAnalysisUtil.isStkCode(stkCode)) {return this.calcStkDailyKDJ(stkCode, beginDate, closeDate,paramN, paramM1, paramM2);} else if (stkAnalysisUtil.isIdxCode(stkCode)) {return this.calcIdxDailyKDJ(stkCode, beginDate, closeDate,paramN, paramM1, paramM2);} else if (stkAnalysisUtil.isBlkCode(super.getUserId(), stkCode)) {return this.calcBlkDailyKDJ(stkCode, beginDate, closeDate,paramN, paramM1, paramM2);} else {return null;}}/*** 计算出指定股票指定日期范围的KDJ随机指数值序列。