金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 100020061

平仓

[复制链接]

35

主题

9348

帖子

9358

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-12-30 13:23 | 显示全部楼层
这个所谓第一个k如何定义呢,历史第一根k?那后续所有的k都和第一个k比较了?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

491

主题

2929

帖子

2939

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-12-30 16:16 | 显示全部楼层
技术008 发表于 2024-12-30 13:23
这个所谓第一个k如何定义呢,历史第一根k?那后续所有的k都和第一个k比较了?

09老师以前用 ISB:MAX(C,O)<REF(MAX(C,O),1)AND  MIN(C,O)>REF(MIN(C,O),1);  处理过,
现在就是说如果前一个是阳线,后一个K如果C,O都包含在前一个K里面,那这个就是一个包含K,
现在我想这样取,如果前一个K是阳性,后一个K被包含,那么这两个K就用HHV来取这4个K的4个价,,如果第三个K和前面用HHV取出来的4个价比较又属于包含K,那么同样使用HHV来取这3个K的4个价,以此类推,直到不被包含为止
回复

使用道具 举报

35

主题

9348

帖子

9358

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-12-30 16:27 | 显示全部楼层
我们想想把
这种你算法都不提供具体的,工作人员需要花好很多时间去考虑算法细节的
这个不是你把么简单的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

35

主题

9348

帖子

9358

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-12-30 16:31 | 显示全部楼层
// 定义变量
VARIABLE: HHV_PRICE:=0, LLV_PRICE:=0, CONTAINED:=0;

// 判断前一个K线是否为阳线
IS_UP:=REF(CLOSE, 1) > REF(OPEN, 1);

// 判断当前K线是否被包含
IS_CONTAINED:=OPEN <= REF(HIGH, 1) AND OPEN >= REF(LOW, 1) AND CLOSE <= REF(HIGH, 1) AND CLOSE >= REF(LOW, 1);

// 初始化包含K的处理
temp1:=HHV(HIGH, 2);
temp2:=LLV(LOW, 2);
IF IS_UP AND IS_CONTAINED THEN BEGIN
    HHV_PRICE:=temp1; // 取前两个K线的最高价
    LLV_PRICE:=temp2;  // 取前两个K线的最低价
    CONTAINED:=1; // 标记为包含K
END;

// 持续处理包含K
temp1:=HHV(HIGH, CONTAINED + 1); // 更新最高价
temp2:=LLV(LOW, CONTAINED + 1);  // 更新最低价
IF CONTAINED = 1 THEN BEGIN
    // 判断当前K线是否仍然被包含
    IF OPEN <= HHV_PRICE AND OPEN >= LLV_PRICE AND CLOSE <= HHV_PRICE AND CLOSE >= LLV_PRICE THEN BEGIN
        HHV_PRICE:=temp1; // 更新最高价
        LLV_PRICE:=temp2;  // 更新最低价
        CONTAINED:=CONTAINED + 1; // 增加包含K的计数
    END ELSE BEGIN
        CONTAINED:=0; // 结束包含K的处理
    END;
END;

// 输出结果
aa:HHV_PRICE;
bb:LLV_PRICE;
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

35

主题

9348

帖子

9358

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2024-12-30 16:31 | 显示全部楼层
试下上面是不是您要的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

491

主题

2929

帖子

2939

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-12-30 16:33 | 显示全部楼层
技术008 发表于 2024-12-30 16:27
我们想想把
这种你算法都不提供具体的,工作人员需要花好很多时间去考虑算法细节的
这个不是你把么简单的

逻辑大概就是,如果前面是阳线,后面的K被包含,那就取2个K中的最高的4个价,相当于组成了新K,然后新K再和第三个K比较,如果包含再组成新K就一直到不被包含为止。
回复

使用道具 举报

491

主题

2929

帖子

2939

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-12-30 16:40 | 显示全部楼层
技术008 发表于 2024-12-30 16:31
试下上面是不是您要的

好像差不多,但是aa,bb只在对应的K上面才出值就行了,相当于单个K的,H,L,鼠标放过去才有值
回复

使用道具 举报

491

主题

2929

帖子

2939

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-12-30 16:49 | 显示全部楼层
技术008 发表于 2024-12-30 16:31
试下上面是不是您要的

aa:if(IS_CONTAINED=1,HHV_PRICE,DRAWNULL);
bb:if(IS_CONTAINED=1,LLV_PRICE,DRAWNULL);
我这样,我先试下看我这个逻辑对不对,代码处理应该是对的了,我可以按这个方式处理
回复

使用道具 举报

491

主题

2929

帖子

2939

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-12-30 17:51 | 显示全部楼层
技术008 发表于 2024-12-30 16:31
// 定义变量
VARIABLE: HHV_PRICE:=0, LLV_PRICE:=0, CONTAINED:=0;

CONTAINED:=0; // 结束包含K的处理  这个重置可能没处理好,我先试试看能不能处理
回复

使用道具 举报

491

主题

2929

帖子

2939

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2024-12-30 20:52 | 显示全部楼层
技术008 发表于 2024-12-30 16:31
// 定义变量
VARIABLE: HHV_PRICE:=0, LLV_PRICE:=0, CONTAINED:=0;

老师,在这个基础上我整理了一下逻辑。
首先判断前一个K的高低点是否包含在当前K,如果存在包含关系,(就要在当前K取高低点的值)具体怎么取,要判断前一个K的位置的前2个已经处理过的K的高低点的关系,他们如果是高点抬高,低点也抬高,那前面取值就是取当前K和前一个K的最高的H和最高的L,反之就是取最低的低点和最高的低点。
然后依次往右做同样的判断,直到不存在包含关系为止。
也就是说在前面的代码中判断的H和L好像应该使用定义的HHV_PRICE 和LLV_PRICE来判断,而不能直接是用H和L,这样才能达到每次的判断都是处理过的高低点在进行比较,不需要在判断前面是阳还是阴,所有的逻辑都基于HHV_PRICE 和LLV_PRICE抬高和走低进行判断的。
老师我截图了你看下,不管什么包含K什么的,我最终就是取高低点的值,按你上面那种方式应该可以搞定,谢谢了
截图202412302051069385.png
截图202412302042252761.png
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-3-11 15:11 , Processed in 0.121059 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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