金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 45|回复: 5

你好。问题求助,(可否帮忙修改使用?)谢谢!

[复制链接]

1

主题

3

帖子

3

积分

Rank: 1

等级: 新手上路

注册:
2024-12-9
曾用名:
发表于 2024-12-9 13:24 | 显示全部楼层 |阅读模式
----------------------DETLA彩线--------------短期彩线公式-------------------------------
①纯公式:(注意需要设置“原点时间”作为参数)
日:=date;
年:year;nodraw;
月:month;nodraw;
号:DAY;nodraw;
QD:=Date>=原点时间;
QQ:=barslast(cross(date,原点时间))+1;
JC:=日-ref(日,1);
isColor:=if(日>ref(日,1) and Date>原点时间,1,0);
交易日总数:=count(ISCOLOR,QQ)+1;
PPP日:=if(JC<50 and JC>0,JC-1,0);
PPP大月:=if(月=2 or 月=4 or 月=6 or 月=8 or 月=9 or 月=11,JC-70,0);
PPP小月:=if(月=5 or 月=7 or 月=10 or 月=12,JC-71,0);
PPP跨年:=if(月=1,JC-8870,0);
PPP二闰月:=if(月=3 and mod(年,4)=0,JC-72,0);
PPP二平月:=if(月=3 and mod(年,4)<>0,JC-73,0);
PPP二月:=PPP二闰月+PPP二平月;
PPP宗:=PPP大月+PPP小月+PPP跨年+PPP二月;
PPP月:=if(JC>50 and JC<10000,PPP宗,0);
PPP世:=if(JC>10000,JC-18870,0);
PPPX:=PPP日+PPP月+PPP世;
空白日总数:=SUM(IF(JC>0 AND QD,PPPX,0),QQ);
NUM:=交易日总数+空白日总数;
VERTLINE(日>ref(日,1) and QD and mod(Num,4)=0),colormagenta;
VERTLINE(日>ref(日,1) and QD and mod(Num,4)=1),coloryellow;
VERTLINE(日>ref(日,1) and QD and mod(Num,4)=2),colorblue;
VERTLINE(日>ref(日,1) and QD and mod(Num,4)=3),colorwhite;
VERTLINE(Barslast(日=原点时间)=0 and FILTER(日=原点时间,100)),coloryellow;
KLINE(O,H,L,C,0);

②说明
之前也是只能编一些简单的公式,果然还是要不断的学习其它人,再加上自己思考才能慢慢提高。所以也是把我每一步所想的含义也与大家交流。万一我哪里想错了,或者表达错了,还能被大家及时纠正出来。以免自己或者大家误入歧途~~

③公式代码分解思路
日:=date;
年:year;nodraw;
月:month;nodraw;
号:DAY;nodraw; {显示年、月、号没什么意义,就是方便读取当天时间,可以不显示}

QD:=Date>=原点时间;
QQ:=barslast(cross(date,原点时间))+1; {从原点时间到目前的K线总数}

JC:=日-ref(日,1); {基础模型,为了方便以后书写}
{上一个交易日的自然日期减去下一个交易日自然日期}

isColor:=if(日>ref(日,1) and Date>原点时间,1,0); {如果日线变动了一天则返回1表示}
交易日总数:=count(ISCOLOR,QQ)+1; {从原点到目前范围,一共有多少个交易日}
{多加的1,是为了算上原点时间当日}

{后面几个重要参数的说明,这里就是公式最难理解的地方,就是这里我卡了1整天-_-}
{由于日期转换为数字的时候,同月之间,日期顺序是同数字顺序一样,连续变化的}
{但是,不同月之间,数字不是连续增加,会有跳跃}
{如:2018.4.30到2018.5.1日,实际上他们的自然日只增加了1日}
{但是转变为代码的时候为:1180430和1180501,那么其数字之间相差会多出71}
{同时还需要考虑大小月之间会有细微的差别,换大月数字为70,换小月为71}
{如果牵扯到2月换3月,还需要考虑是否是为闰年,闰年为72,非闰年为73}
{这个71或70和上面的1日,就是代码与实际之间的相差数字}
{上面是换月的时候出现的问题,同理,换年的时候也会出现这样的问题,相差为8870}
{同理,换世纪的时候也会出现这样的问题,相差为18870}
{当然在代码范围内,换世纪只用到1次,那就是1999年向2000年转变的时候}

{注意其中几个重要的数字:70、8870、18870}
{所以我们在判断是否有月份变化的时候,可以用差值介于什么位置之间,就能知道是同月的日期变化,还是有新的一个月转变,还是有新的一年转变,还是有新的是个世纪转变}
{所以我们取50、10000做为两个分割的标准数字}

PPP日:=if(JC<50 and JC>0,JC-1,0); {同一个月内,没有参与交易的自然日有几天}

{每次空白了几天}
{数字为0就是正常连续,数字为1就是休息了1天,数字为2就是休息了2天}
{对应的,0就更新一条彩线顺序,1就更新2条彩线的顺序,2就是更新3个彩线的顺序}

PPP大月:=if(月=2 or 月=4 or 月=6 or 月=8 or 月=9 or 月=11,JC-70,0); {如果是换大月}
PPP小月:=if(月=5 or 月=7 or 月=10 or 月=12,JC-71,0); {如果是换小月}
PPP跨年:=if(月=1,JC-8870,0); {如果是换年}

PPP二闰月:=if(月=3 and mod(年,4)=0,JC-72,0); {如果是闰年}
PPP二平月:=if(月=3 and mod(年,4)<>0,JC-73,0); {如果是平年}
PPP二月:=PPP二闰月+PPP二平月; {如果是换二月}

PPP宗:=PPP大月+PPP小月+PPP跨年+PPP二月;
{换月时,没有参与交易的自然日有几天}
PPP月:=if(JC>50 and JC<10000,PPP宗,0);
{当换月的那天才计算换月没有参与交易的自然日有几天}

PPP世:=if(JC>10000,JC-18870,0); {如果是世纪转换,没有参与交易的自然日有几天}

PPPX:=PPP日+PPP月+PPP世; {考虑了各种情况后的空白日数}

空白日总数:=SUM(IF(JC>0 AND QD,PPPX,0),QQ);

NUM:=交易日总数+空白日总数; {所有自然日的总数,就是交易日总数+空白日总数}

VERTLINE(日>ref(日,1) and QD and mod(Num,4)=0),colormagenta;
VERTLINE(日>ref(日,1) and QD and mod(Num,4)=1),coloryellow;
VERTLINE(日>ref(日,1) and QD and mod(Num,4)=2),colorblue;
VERTLINE(日>ref(日,1) and QD and mod(Num,4)=3),colorwhite;
{每4根线一个循环,按照:红--黄--蓝--白,的色彩顺序循环}

VERTLINE(Barslast(日=原点时间)=0 and FILTER(日=原点时间,100)),coloryellow;
{因为原点的竖线不显示,所以补画原点线,方便观察,以黄色表示}
{因为彩色循环的第一根都是从黄色开始}

KLINE(O,H,L,C,0); {绘制K线,以确保K线的上下影线不被彩线挡住}

④最后一些用法说明
设计“原点时间”的好处就是,由于分钟级别K线太多,不可能从上市第一根有效K线开始读取数据,所以随着数据选取的范围不同,可能造成彩线变化。
此外实际使用DETLA密码时,只要设置好原点彩线的颜色位置K线,就可以只调用最新的一些数据,保证数据量小,且彩线颜色不会发生变化。
该软件的时间参数书写规则:(举例你就明白了)
例子1: 2018年5月25日 ------------- 1180525;
例子2: 2017年3月21日 ------------- 1170321;
例子3: 2001年1月9日 ------------- 1010109;
例子4: 1999年1月9日 ------------- 990109;
例子5: 1991年12月19日 ------------- 911219;
如果你还不明白,我也没办法了- -, 也方便各软件书写格式不同,你好自行修改公式里的一些数据。
原点数据的彩线一定是黄色,但“原点时间”假如你一不小心设置的原点时间是非交易日,那么这个原点彩线虽然不在K线图上显示,但是会计算原点为这个非交易日的前面一个交易日。(举例:假如3.31日是交易日,4.1日、4.2日是非交易日,4.3日是交易日;那么如果“原点时间”设置在4.1日,那么实际上系统会把3.31日作为黄色,和你设置3.31日为原点的效果是一样的)

设计“原点时间”的实际用处是什么呢?也就是当如果数据太多,打算后期移动彩色原点的时候,只要找到一个之前是黄色的彩线位置,修改“原点时间”参数为这个彩线位置的时间,就可以保证把彩线顺利移动到后面啦!

回复

使用道具 举报

31

主题

7734

帖子

7744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-12-9 13:28 | 显示全部楼层
您需要具体说明是i修改什么,光着代码和文字说明堆在一起
工作人员看起来也无法理解是什么的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

3

帖子

3

积分

Rank: 1

等级: 新手上路

注册:
2024-12-9
曾用名:
 楼主| 发表于 2024-12-10 16:08 | 显示全部楼层
你好,我现在没法加载在金字塔分钟周期的行情上去使用,就是辛苦技术人员修改加载一下可以使用。祝工作顺意,谢谢!那些文字是写这个代码的作者的一些解释语言,这个画竖彩线指标代码应该就是这些:

---------------------DETLA彩线--------------短期彩线公式-------------------------------
①纯公式:(注意需要设置“原点时间”作为参数)
以下为代码

日:=date;
年:year;nodraw;
月:month;nodraw;
号:DAY;nodraw;
QD:=Date>=原点时间;
QQ:=barslast(cross(date,原点时间))+1;
JC:=日-ref(日,1);
isColor:=if(日>ref(日,1) and Date>原点时间,1,0);
交易日总数:=count(ISCOLOR,QQ)+1;
PPP日:=if(JC<50 and JC>0,JC-1,0);
PPP大月:=if(月=2 or 月=4 or 月=6 or 月=8 or 月=9 or 月=11,JC-70,0);
PPP小月:=if(月=5 or 月=7 or 月=10 or 月=12,JC-71,0);
PPP跨年:=if(月=1,JC-8870,0);
PPP二闰月:=if(月=3 and mod(年,4)=0,JC-72,0);
PPP二平月:=if(月=3 and mod(年,4)<>0,JC-73,0);
PPP二月:=PPP二闰月+PPP二平月;
PPP宗:=PPP大月+PPP小月+PPP跨年+PPP二月;
PPP月:=if(JC>50 and JC<10000,PPP宗,0);
PPP世:=if(JC>10000,JC-18870,0);
PPPX:=PPP日+PPP月+PPP世;
空白日总数:=SUM(IF(JC>0 AND QD,PPPX,0),QQ);
NUM:=交易日总数+空白日总数;
VERTLINE(日>ref(日,1) and QD and mod(Num,4)=0),colormagenta;
VERTLINE(日>ref(日,1) and QD and mod(Num,4)=1),coloryellow;
VERTLINE(日>ref(日,1) and QD and mod(Num,4)=2),colorblue;
VERTLINE(日>ref(日,1) and QD and mod(Num,4)=3),colorwhite;
VERTLINE(Barslast(日=原点时间)=0 and FILTER(日=原点时间,100)),coloryellow;
KLINE(O,H,L,C,0);
回复

使用道具 举报

31

主题

7734

帖子

7744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-12-10 16:13 | 显示全部楼层
日:=date;
年:year;nodraw;
月:month;nodraw;
号:DAY;nodraw;
原点时间:=20230101;
QD:Date+19000000>=原点时间;
QQ:barslast(cross(date,原点时间))+1;
JC:=日-ref(日,1);
isColor:if(日>ref(日,1) and Date>原点时间,1,0);
交易日总数:count(ISCOLOR,QQ)+1;
PPP日:=if(JC<50 and JC>0,JC-1,0);
PPP大月:=if(月=2 or 月=4 or 月=6 or 月=8 or 月=9 or 月=11,JC-70,0);
PPP小月:=if(月=5 or 月=7 or 月=10 or 月=12,JC-71,0);
PPP跨年:=if(月=1,JC-8870,0);
PPP二闰月:=if(月=3 and mod(年,4)=0,JC-72,0);
PPP二平月:=if(月=3 and mod(年,4)<>0,JC-73,0);
PPP二月:=PPP二闰月+PPP二平月;
PPP宗:=PPP大月+PPP小月+PPP跨年+PPP二月;
PPP月:=if(JC>50 and JC<10000,PPP宗,0);
PPP世:=if(JC>10000,JC-18870,0);
PPPX:=PPP日+PPP月+PPP世;
空白日总数:=SUM(IF(JC>0 AND QD,PPPX,0),QQ);
NUM:交易日总数+空白日总数;
VERTLINE(日>ref(日,1) and QD and mod(Num,4)=0),colormagenta;
VERTLINE(日>ref(日,1) and QD and mod(Num,4)=1),coloryellow;
VERTLINE(日>ref(日,1) and QD and mod(Num,4)=2),colorblue;
VERTLINE(日>ref(日,1) and QD and mod(Num,4)=3),colorwhite;
VERTLINE(Barslast(日=原点时间)=0 and FILTER(日=原点时间,100)),coloryellow;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

31

主题

7734

帖子

7744

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-12-10 16:18 | 显示全部楼层
上面代码直接编译能使用,但是你逻辑条件好像一直不满足所以后面没有线段什么的,这个需要您自己去分析下条件逻辑了
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

3

帖子

3

积分

Rank: 1

等级: 新手上路

注册:
2024-12-9
曾用名:
 楼主| 发表于 2024-12-10 22:59 | 显示全部楼层
谢谢,我再看看,有不明白的再联系你们。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 13:21 , Processed in 0.231509 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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