金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 100019689

请教一个代码编写问题

[复制链接]

6

主题

45

帖子

55

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-1-11 16:12 来自手机 | 显示全部楼层
好的,非常感谢!
回复

使用道具 举报

6

主题

45

帖子

55

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-1-17 10:02 | 显示全部楼层
老师好,这个指标过年前能贴出来吗。。。
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-1-17 10:49 | 显示全部楼层
抱歉,最近比较忙 搁置了后就忘记了。我今天试下能不能下出来。上次反正是卡在了一个 下跌后 横盘一段时间这个情况上,这种情况要额外设计逻辑去过滤,但是当时尝试时候发现不太好过滤。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

6

主题

45

帖子

55

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-1-18 09:15 | 显示全部楼层
hi 老师,您不用给我过滤,直接把代码贴出来就好了,别忘到明年去了啊
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-1-18 14:41 | 显示全部楼层
有几个点要说明下:
1.先进行位置标记 暂时还不是交易策略,先看信号位置是否合适。
2.目前涨跌幅 都是以收盘价来进行计算的。所以有些K如果按照最高最低价计算是满足买入标记的条件的
但是下面代码体现不了。 这个后期再改。先以收盘价实现这么个框架
3.笑脸是买入位置的提升,向下绿色箭头 是index点,即满足在小于N的周期内跌幅大于等于F%的K的位置。
4.里面使用的全局变量是处理横盘的情况,如果下跌后有一段横盘,这里会记录这些横盘的index点中的最低的那个点 来计算后续的涨幅。
5.提供了2个 参数n是之前讨论的跌幅的区间的限制,默认是100,f的跌幅数值 默认是30 ,即表示30%跌幅

[PEL] 复制代码
input:n(100,1,10000,1),f(30,1,100,1);

//申明:当前K位置  满足在小于等于N周期内下跌至少F% 的K的位置,我们称之为index点。


//使用全局变量location记录下在一段 index点中收盘价最低的index点的K线序列值。
//这个全局变量location的设计是为了处理 下跌后的横盘区间的问题。
VARIABLE:location:=0;
index:=0;//index数值表示距离当前K 跌幅达到F%的周期跨度,index不超过N
ZD:=0;//下跌区间具体跌幅的 绝对值,非百分比幅度

for i=1 to n-1 do 
begin 
len:=barpos-i;
if len<0 then break;
C1:=c[len];
ZD:=(C1-C);
if  ZD/C1>=(f/100)  then  
begin 
index:=i;
break;
end 		
end 

if location=0 and index<>0 then location:=BARPOS;

if (BARPOS-location)>index[location]/2 and location<>0 then location:=0;//每次距离上index点 超过跌幅周期一半的周期后 重置记录。
if  c<c[location] and index<>0 then location:=BARPOS;//始终记录C最低的index点的位置。


IF (C-C[LOCATION])>(ZD[LOCATION]/2) AND LOCATION<>0 THEN 
BEGIN
DRAWICON(1,H,1);//输出买入点位置 ,笑脸
location:=0	 ;
END 



DRAWICON(index<>0,h,3);//输出index点位置 


效果图:
截图202301181440584222.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

6

主题

45

帖子

55

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-1-19 09:50 | 显示全部楼层
老师代码我是完全看不懂。。。您的定义中len应该是个数字,是个K线数量,C1却是数字的收盘价我不明白。。。后面就更迷糊了。
看图片效果感觉跟我的想法是不一致的,按我的想法,至少笑脸位置应该是开空单的,因为前面都是下跌,现在它反弹没过前面高点。而且我把代码放到图上几乎没有信号。。。。就在日线上找到一个密集在一起的笑脸。 截图202301190949529485.png
能不能就简单的,比如在100个周期中,找出最高点和最低点连成一条线幅度用len表示,计算出它所用的K线用A表示,接下来的走势,如果它用的K线大于等于A,但是价格却没有反弹到len的一半或者30%,就开空单。例如图片中,在这个方框里,有6784一个高点,有6578和6550两个低点,如果我限制的周期时间放大点那么选择的就是6784链接6550这个线段,如果周期放小就是6784连接6578这个线段。以这个线段作为前提,如果这个线段用的时间是20个K,那么如果后来的走势用的时间大于等于20个K还没有反弹过前面前面线段的30%,那么就开空单。我这样描述是不是就会清晰一点。

补充内容 (2023-1-19 10:09):
突然想到震荡的话不用特意管它是什么,只要它时间超过前面的时间没有反弹到规定的幅度,那就做空。
回复

使用道具 举报

6

主题

45

帖子

55

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-1-19 09:51 | 显示全部楼层
这个是图片
截图202301190950468110.png
回复

使用道具 举报

6

主题

45

帖子

55

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-1-19 10:32 | 显示全部楼层
老师,请您直接帮我修改一下if前面这些代码吧:(有些我确实不知道该怎么写。。。)

截图202301191032189787.png

补充内容 (2023-1-19 10:32):
我也不知道我这种思路对不对
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2023-1-19 10:52 | 显示全部楼层
参考如下代码逻辑:之前的代码问题需要和技术009沟通,可能要年后了。
A:=HHV(H,20);
B:=LLV(L,20);
C1:IF(HHVBARS(H,20)>LLVBARS(L,20),HHVBARS(H,20)-LLVBARS(L,20),LLVBARS(L,20)-HHVBARS(H,20));
D:ABS(A-B);
E:LLVBARS(L,20)-1;
F:HHV(H,20)-D*0.3;
M:ABS(H-B);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

6

主题

45

帖子

55

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-1-19 11:04 | 显示全部楼层
好的,谢谢你们,等你们消息。顺祝过年开心快乐!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-9 20:40 , Processed in 0.113823 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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