设为首页收藏本站

 找回密码
 注册
楼主: zyxsir
打印 上一主题 下一主题

先后关系的表达 [复制链接]

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
11#
发表于 2011-9-8 09:15:26 |只看该作者
回复 10# zyxsir


if(k001<20)   
{
    kbool20 = true;
}else if(k001>80 && kbool20)
{
    kbool80over = true;
}else if(k001<80 && kbool20 && kbool80over)
{
    kbool80under = false;
}else if(k001>80 && kbool20 && kbool80over && !kbool80under)
{
    kbool80over2 = false;
}else
{
    kbool20 = kbool20[1];
    kbool80over = kbool80over[1];
    kbool80under = kbool80under[1];
    kbool80over2 = kbool80over2[1];
}

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15934
积分
681
帖子
188
主题
70
阅读权限
60
注册时间
2010-9-9
最后登录
2021-9-1
12#
发表于 2011-9-23 08:03:17 |只看该作者
下面的公式想表达K值先下20,再上80的关系,具体见9楼的描述。可不能正常表示,请高手们帮助修改,谢谢!
Params
    Numeric Length(9);                        
    Numeric SlowLength(3);        
    Numeric SmoothLength(3);
Vars
    NumericSeries HighestValue;                                
    NumericSeries LowestValue;                                       
    NumericSeries RSV001;
    NumericSeries K001;
    BoolSeries   kbool20;
    BoolSeries   kbool80over;
BoolSeries   kbool80under;
BoolSeries   kbool80over2;


Begin
    HighestValue = HighestFC(High, Length);
    LowestValue = LowestFC(Low, Length);
    RSV001 = (Close-LowestValue)/(HighestValue-LowestValue)*100;
    K001 = SMA(RSV001,SlowLength,1);
if(k001<20)   
{
    kbool20 = true;
}else if(k001>80 && kbool20)
{
    kbool80over = true;
}else if(k001<80 && kbool20 && kbool80over)
{
    kbool80under = false;
}else if(k001>80 && kbool20 && kbool80over && kbool80under==True)
{
    kbool80over2 = false;
}else
{
    kbool20 = kbool20[1];
    kbool80over = kbool80over[1];
    kbool80under = kbool80under[1];
    kbool80over2 = kbool80over2[1];
}
Commentary("kbool80over"+IIFString(kbool80over,"True","False"));
End
天道酬勤,随遇而安

使用道具 举报

初级大户

酱油

Rank: 5Rank: 5

精华
0
UID
37561
积分
1108
帖子
395
主题
9
阅读权限
60
注册时间
2011-5-4
最后登录
2014-11-3
13#
发表于 2011-9-23 08:14:24 |只看该作者
LZ的意思就是,K小于20时,开始标记,直到K大于80后,得到一个为真的判断值,然后一直检测K值,若K值又小于80了,则那个判断值重置为假,标记值重置为假,重新从K小于20开始判断?
期货IT

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15934
积分
681
帖子
188
主题
70
阅读权限
60
注册时间
2010-9-9
最后登录
2021-9-1
14#
发表于 2011-9-23 21:09:15 |只看该作者
谢谢解释!请问具体怎样改?
天道酬勤,随遇而安

使用道具 举报

Rank: 2

精华
0
UID
959
积分
96
帖子
18
主题
2
阅读权限
30
注册时间
2007-12-22
最后登录
2013-7-29
15#
发表于 2011-10-7 23:38:41 |只看该作者
本帖最后由 qw123 于 2011-10-8 00:09 编辑

if(k<20)
    kbool 1= true;
else
    kbool 1= kbool1[1];

if(kbool1 == true && k>80)
     {  kbool1=FALSE;
         kbool= true;
     }
else IF(kbool[1] == true && k<=80)
     kbool =FALSE ;
  

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-20 22:28

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部