金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 133|回复: 11

老师,如何在某个K线标注了"买"字后,根据条件在后续的K线中标注出“卖”字

[复制链接]

8

主题

35

帖子

35

积分

Rank: 1

等级: 新手上路

注册:
2025-8-7
曾用名:
发表于 2025-8-22 20:02 | 显示全部楼层 |阅读模式
本帖最后由 技术010 于 2025-8-25 09:16 编辑

以下是标注买字的代码,这个正常可以运行。
Begin
                        displayText := '买: ';
                        DRAWTEXT(1, L, displayText, COLORRED); // 在下一根K线的最低价位置标注“买”字
                        // 标记买入信号
                        buySignal := 1;
                    End;

标注卖字K线的条件如下,请帮忙写成完成的代码,谢谢!写了好几天了,一直写不出来,辛苦老师!
条件1:当根K线是阳线,且D值大于80,且当根K线价格创新高,且当根K线成交量小于前一根K线的成交量
条件2:当根K线收盘价小于买入信号所在K线的最低价


回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2025-8-25 09:15 | 显示全部楼层
你的这个条件中没有明确创新高的周期范围,且这个买入信号也没有定义。假设创30个周期内的信号,买入信号条件为BUYSIGNAL,参考如下代码:
CON1:C>O AND D>80 AND H>REF(HHV(H,30),1) AND VOL<REF(VOL,1);
CON2:C<REF(L,BARSLAST(BUYSIGNAL));
DRAWTEXT(CON1 AND CON2,H,'卖');
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

8

主题

35

帖子

35

积分

Rank: 1

等级: 新手上路

注册:
2025-8-7
曾用名:
 楼主| 发表于 2025-8-25 10:40 | 显示全部楼层
技术010 发表于 2025-8-25 09:15
你的这个条件中没有明确创新高的周期范围,且这个买入信号也没有定义。假设创30个周期内的信号,买入信号条 ...

老师,我要实现:当前K线成交量大于买入信号所在K线成交量。是这样写吗?按照这个写我看不对,成交量的判断不对,成交量是小于的,但是给出卖的信号(前一根给出买信号,成交量139万,这一根成交量98万)。
Vol >= REF(Vol,BARSLAST(BUYSIGNAL=1))
DRAWTEXT(1, LowPrice, '卖', COLORBLUE); // 在当前K线的低价位置标注“卖”
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2025-8-25 10:45 | 显示全部楼层
那就是buysignal的定义有问题啊,建议直接用买入信号的条件来定义这个变量,不要在if里面进行赋值为1。详细列出你的买入和卖出的条件,我们这重新给你来写。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

8

主题

35

帖子

35

积分

Rank: 1

等级: 新手上路

注册:
2025-8-7
曾用名:
 楼主| 发表于 2025-8-25 10:53 | 显示全部楼层
技术010 发表于 2025-8-25 10:45
那就是buysignal的定义有问题啊,建议直接用买入信号的条件来定义这个变量,不要在if里面进行赋值为1。详细 ...

买入条件太多了。买入的我已经实现了在K线上标注。买入的代码如下
   Begin
                        displayText := '买: ';
                        DRAWTEXT(1, L, displayText, COLORRED); // 在下一根K线的最低价位置标注“买”字
                        // 标记买入信号
                        buySignal := 1;
                    End;


卖出的条件:
        // 条件5
        if (ClosePrice < OpenPrice) AND // 当根K线是阴线
           ((HighPrice - ClosePrice) > 0.5 * (OpenPrice - ClosePrice)) AND // 阴线上影线大于实体的50%
           ((HighPrice - ClosePrice) > 1.5 * (OpenPrice - LowPrice)) AND // 上影线大于下影线的1.5倍
           (D > 75) AND (Vol >= REF(Vol,BARSLAST(BUYSIGNAL=1))) Then // 成交量大于买入信号所在K线成交量
        begin
            DRAWTEXT(1, LowPrice, '卖', COLORBLUE); // 在当前K线的低价位置标注“卖”
回复

使用道具 举报

8

主题

35

帖子

35

积分

Rank: 1

等级: 新手上路

注册:
2025-8-7
曾用名:
 楼主| 发表于 2025-8-25 10:56 | 显示全部楼层
潘枝荣 发表于 2025-8-25 10:53
买入条件太多了。买入的我已经实现了在K线上标注。买入的代码如下
   Begin
                        d ...

麻烦老师帮忙在写一下,能够准备的标注出卖的信号,谢谢老师!
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2025-8-25 11:01 | 显示全部楼层
不能直接拿buysignal变量来作为寻找一个上次买入信号成立的位置的啊,买入条件成立过后,那后面的K线上buysignal都成立啊。买入条件多没有关系啊,多个条件都赋值为一个变量就行啊,参考2楼卖出标记的写法,也不用在if里面用drawtext来标记。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

8

主题

35

帖子

35

积分

Rank: 1

等级: 新手上路

注册:
2025-8-7
曾用名:
 楼主| 发表于 2025-8-25 11:27 | 显示全部楼层
技术010 发表于 2025-8-25 11:01
不能直接拿buysignal变量来作为寻找一个上次买入信号成立的位置的啊,买入条件成立过后,那后面的K线上buys ...

还是没理解。我的需求就是找到最近的一个买信号的K线的位置。单纯的这个代码怎么写?
并且希望实现,只有前面有买信号的时候,才检查卖的条件是否符合。买和卖是一个组合。出现一个买,后面出现一个卖,不要出现多个卖的情况。
回复

使用道具 举报

8

主题

35

帖子

35

积分

Rank: 1

等级: 新手上路

注册:
2025-8-7
曾用名:
 楼主| 发表于 2025-8-25 12:25 | 显示全部楼层
老师,已经按照建议改了买入的信号。买入信号再怎么定义成变量?我要找到最近一个买入信号所在K线的成交量,怎么写?
Begin
                        displayText := '买 ';
                        DRAWTEXT(CON100 AND CON101 AND CON102 AND CON103 AND CON104 AND CON105 AND CON106 AND CON107 AND CON108 AND CON109 AND CON110 AND CON111, L, displayText, COLORRED); // 在下一根K线的最低价位置标注“买”字
                        // 标记买入信号
                        buySignal := 1;
                    End;
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2025-8-25 13:02 | 显示全部楼层
BUYSIGNAL:=CON100 AND CON101 AND CON102 AND CON103 AND CON104 AND CON105 AND CON106 AND CON107 AND CON108 AND CON109 AND CON110 AND CON111; //买入信号的条件
X:REF(VOL,BARSLAST(BUYSIGNAL));   //最近一个买入信号所在K线的成交量
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-28 04:09 , Processed in 0.100526 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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