金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 5437|回复: 12

关于IF用法

[复制链接]

5

主题

28

帖子

28

积分

Rank: 1

等级: 新手上路

注册:
2022-11-18
曾用名:
发表于 2022-11-29 13:38 | 显示全部楼层 |阅读模式
        ztb:=C>REF(C,1)*1.099 And C<REF(C,1)*1.102 And C=H;
        Rztb:=REF(ZTB,1);
        STICKLINE(ZTB,C,O,8,0),COLORRED;
       
        IF ZTB THEN
        BEGIN
               
                ZTCLOSE:=CLOSE;
END
       
CON1:= OPEN>ZTCLOSE AND RZTB;
DRAWNUMBER(ZTB ,H*1.005,ZTCLOSE,2);
DRAWICON(CON1 ,L,1,0 );
//问,
当用IF语句后,ZTCLOSE的值是无效的,什么原因,要如何转换实现。



目的是要在后面语句中调用IF内的值

回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-11-29 13:42 | 显示全部楼层
如果你是想调用满足ztb时候的c.

直接:
ZTCLOSE:VALUEWHEN(ZTB,C);

你上面那个方式不奏效 是因为你这里的ZTCLOSE只是普通变量,所以换成全局变量其实也可以,但是不必要那么麻烦 直接VALUEWHEN函数处理就行。普遍变量本根K有效,在后续的K上并不会保持自身的值。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

5

主题

28

帖子

28

积分

Rank: 1

等级: 新手上路

注册:
2022-11-18
曾用名:
 楼主| 发表于 2022-11-29 14:09 | 显示全部楼层
技术009 发表于 2022-11-29 13:42
如果你是想调用满足ztb时候的c.

直接:

阴K实体:VALUEWHEN(C<O,O-C);
DRAWNUMBER(阴K实体 ,H*1.005,O-C,2);

回复

使用道具 举报

5

主题

28

帖子

28

积分

Rank: 1

等级: 新手上路

注册:
2022-11-18
曾用名:
 楼主| 发表于 2022-11-29 14:12 | 显示全部楼层
J。 发表于 2022-11-29 14:09
阴K实体:VALUEWHEN(C

截图202211291410128595.png
如图,1,计算阴K实体,2,连续3根阴实体比较,求出最大实体,3,用最大实体往后重复比较求最大;4,每次求出最大实体后输出对应K线的开盘和收盘价。
请帮忙
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-11-29 14:20 | 显示全部楼层

variable:mst:=0,lo:=0;

st:=abs(c-o);

if isdown and st>mst then
begin  
mst:=st;
lo:=barpos;
end

showmaxst:st;
showc:c[lo];
showo:o[lo];

用了全局变量,指标必须逐K下
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

5

主题

28

帖子

28

积分

Rank: 1

等级: 新手上路

注册:
2022-11-18
曾用名:
 楼主| 发表于 2022-11-29 14:43 | 显示全部楼层
技术009 发表于 2022-11-29 14:20
variable:mst:=0,lo:=0;

st:=abs(c-o);

上面代码测试后,发现还有些问题,要每3根阴K比较求值,就比方是今天是阴K,前1次和前2次与今天比较求最大值的K线,再求开收价。
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-11-29 14:47 | 显示全部楼层
本帖最后由 技术009 于 2022-11-29 14:49 编辑

前面没注意到是三根K统计。“连续3根阴实体比较” 这个是始终移动的三根K,还是固定切分的。
比如现在是当日第100根K,我在这个K位置 计算100,99,98(假设都是阴线),然后时间推移到101 根K,且也是阴线,那这时候我使用99,100,101三个K算。还是以101位起点重新算。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

5

主题

28

帖子

28

积分

Rank: 1

等级: 新手上路

注册:
2022-11-18
曾用名:
 楼主| 发表于 2022-11-29 14:52 | 显示全部楼层
技术009 发表于 2022-11-29 14:47
前面没注意到是三根K统计。“连续3根阴实体比较” 这个是始终移动的三根K,还是固定切分的。
比如现在是当 ...

009,你太棒了
回复

使用道具 举报

5

主题

28

帖子

28

积分

Rank: 1

等级: 新手上路

注册:
2022-11-18
曾用名:
 楼主| 发表于 2022-11-29 16:21 | 显示全部楼层
技术009 发表于 2022-11-29 14:47
前面没注意到是三根K统计。“连续3根阴实体比较” 这个是始终移动的三根K,还是固定切分的。
比如现在是当 ...


{倍量}
VOB:=V/REF(V,1);
beivol:=VOB>=1.9;
beivoldn := beivol && ISDOWN;
beivolup := beivol && isup;

dnbvc:=ref(c,beivoldn);
dnbvo:=ref(o,beivoldn);
upbvc:=ref(c,beivolup);
upbvo:=ref(o,beivolup);

//实体MAX
dnst:=if(isdown || c<ref(c,1) ,abs(c-o),-1);

dnlen:=sumbars(dnst>0,5);

maxdnst:=hhv(dnst,dnlen);
dnlenx:=hhvbars(dnst,dnlen);

dnshowc:=ref(c,dnlenx);
dnshowo:=ref(o,dnlenx);
dnmaxst:= maxdnst<>REF(maxdnst,1);

upst:=if(ISUP || c>ref(c,1),abs(c-o),-1);
uplen:=sumbars(upst>0,5);

maxupst:=hhv(upst,uplen);
uplenx:=hhvbars(upst,uplen);

upshowc:=ref(c,uplenx);
upshowo:=ref(o,uplenx);
upmaxst:= maxupst<>REF(maxupst,1);

dnseckx:= dnmaxst || beivoldn;
upseckx:= upmaxst || beivolup;
//增加条件,1,假如倍阴 beivoldn 成立 选择beivoldn对应的开收价,否则输出实体MAX的开收价 ;阳K反之;
回复

使用道具 举报

5

主题

28

帖子

28

积分

Rank: 1

等级: 新手上路

注册:
2022-11-18
曾用名:
 楼主| 发表于 2022-11-29 16:21 | 显示全部楼层
J。 发表于 2022-11-29 16:21
{倍量}
VOB:=V/REF(V,1);
beivol:=VOB>=1.9;

用转折时的值不等于前值可以定位K线,再计算出定位后的值
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-6-9 02:37 , Processed in 0.217172 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表