- 精华
- 0
- 在线时间
- 231 小时
- UID
- 168964
- 积分
- 80
- 帖子
- 58
- 阅读权限
- 30
- 注册时间
- 2013-9-21
- 最后登录
- 2017-11-6
- 精华
- 0
- UID
- 168964
- 积分
- 80
- 帖子
- 58
- 主题
- 3
- 阅读权限
- 30
- 注册时间
- 2013-9-21
- 最后登录
- 2017-11-6
|
各位前辈,小弟有一个问题。我想在1分钟线上同时显示1分,3分和5分钟的KDJ的J指标。主要思路是用SETTBPROFILESTRING写三个函数,3分钟和5分钟分别运行一个,存入相应J值。然后在1分钟上读取。
3分钟代码如下,5分钟类似。- Params
- Numeric Length(19);
- Numeric SlowLength(18);
- Numeric SmoothLength(18);
- Vars
- NumericSeries HighestValue;
- NumericSeries LowestValue;
- NumericSeries KValue;
- Numeric SumHLValue;
- Numeric SumCLValue;
- Numeric DValue;
- Numeric JValue;
- StringSeries strkey;
- StringSeries strvalue;
-
- Begin
- HighestValue = HighestFC(High, Length);
- LowestValue = LowestFC(Low, Length);
- SumHLValue = SummationFC(HighestValue-LowestValue,SlowLength);
- SumCLValue = SummationFC(Close - LowestValue,SlowLength);
- If(SumHLValue <> 0)
- {
- KValue = SumCLValue/SumHLValue*100;
- }Else
- {
- KValue = 0;
- }
- DValue = AverageFC(KValue,SmoothLength);
- JValue = 3*KValue - 2*DValue;
-
- strkey = DateToString(date)+" "+TimeToString(Time);
- strvalue = Text(JValue);
- SetTBProfileString("mymin3kdj",strkey,strvalue);
- FileAppend("D:\\amm.txt",strkey+" "+strvalue);
- PlotNumeric("J",JValue);
- End
复制代码 1分钟代码如下- Params
- Numeric Length(19);
- Numeric SlowLength(18);
- Numeric SmoothLength(18);
- Vars
- NumericSeries HighestValue;
- NumericSeries LowestValue;
- NumericSeries KValue;
- Numeric SumHLValue;
- Numeric SumCLValue;
- Numeric DValue;
- Numeric J1;
- NumericSeries J3;
- NumericSeries J5;
- StringSeries strkey;
- StringSeries strvalue1;
- StringSeries strvalue2;
-
- Begin
- HighestValue = HighestFC(High, Length);
- LowestValue = LowestFC(Low, Length);
- SumHLValue = SummationFC(HighestValue-LowestValue,SlowLength);
- SumCLValue = SummationFC(Close - LowestValue,SlowLength);
- If(SumHLValue <> 0)
- {
- KValue = SumCLValue/SumHLValue*100;
- }Else
- {
- KValue = 0;
- }
- DValue = AverageFC(KValue,SmoothLength);
- J1 = 3*KValue - 2*DValue;
-
- strkey = DateToString(date)+" "+TimeToString(Time);
-
- strvalue2 = GetTBProfileString("mymin5kdj",strkey);
- If(strvalue2!=InvalidString)
- {
- J5=Value(strvalue2);
- }
- Else
- {
- J5=J5[1];
- }
-
- strvalue1 = GetTBProfileString("mymin3kdj",strkey);
- If(strvalue1!=InvalidString)
- {
- J3=Value(strvalue1);
- }
- Else
- {
- J3=J3[1];
- }
-
-
-
- PlotNumeric("J1",J1);
- PlotNumeric("J3",J3);
- PlotNumeric("J5",J5);
- End
复制代码 问题来了,先不管未来函数,3分钟和5分钟图上J值显示都正常。但是1分钟上,由某一段时间,三分钟和五分钟的J值都会呈现锯齿状。请高人指点下,怎么会这样的,这问题想了我半天了,百思不得其解。
问题截图如下
|
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
|