金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 4484|回复: 8

再问当根K线开平仓问题

[复制链接]

100

主题

260

帖子

260

积分

等级: 免费版

注册:
2021-6-20
曾用名:
发表于 2022-9-15 14:04 | 显示全部楼层 |阅读模式
之前请教过利用开平仓语句先后顺序和不加HOLDING=0来实现当根K线平仓后再次开仓问题。这个已经解决了。那么怎么才能实现当根K线开仓后,满足条件立即平仓,并且不再开新仓?尝试了几次都达不到预期。
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-9-15 14:13 | 显示全部楼层
你重复开仓的是不同的语句?

贴下大概的代码看下。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

100

主题

260

帖子

260

积分

等级: 免费版

注册:
2021-6-20
曾用名:
 楼主| 发表于 2022-9-15 14:18 | 显示全部楼层
如果去掉HOLDING=0的话,可以实现当根K开平仓,但是会出现多个周期多次买入或者卖出的情况,怎么过滤从而只开仓一次?
回复

使用道具 举报

100

主题

260

帖子

260

积分

等级: 免费版

注册:
2021-6-20
曾用名:
 楼主| 发表于 2022-9-15 14:38 | 显示全部楼层
KD:=H>REF(C,1);   //不加HOLDING=0就会连续出现多次买入信号。
PD:=CONA;
开多:(KD,1,LIMITR,KDJ);
平多:(PD,HOLDING,LIMITR,PDJ);
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-9-15 14:45 | 显示全部楼层
还是不怎么明白。你是要当前这个K  开仓了又平仓。 后面K就不开仓了?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

100

主题

260

帖子

260

积分

等级: 免费版

注册:
2021-6-20
曾用名:
 楼主| 发表于 2022-9-15 14:49 | 显示全部楼层
当前K开仓后又平仓,如果下一个K有开仓信号,当然继续开仓。现在的问题是后面有若干个K都满足了开仓信号,但是还没出现平仓信号,不加HOLDING=0,这若干个K上都会开仓,一直到平仓为止。这个问题怎么解决。现在矛盾在去掉HOLDING=0能实现当根K开仓又平仓,但是会出现上面的问题。加上HOLDING=0,就没有多次重复开仓的问题,但是又没法实现当前K开仓后又平仓的目的。
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-9-15 15:16 | 显示全部楼层
你这个语句开仓是在前面的。如果开仓了,然后后面的平仓条件满足的话,那也是会平仓的。不会不平仓的。

你这个CONA是怎么定义的。是不是这个里面包含对仓位的判断了?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

100

主题

260

帖子

260

积分

等级: 免费版

注册:
2021-6-20
曾用名:
 楼主| 发表于 2022-9-15 15:54 | 显示全部楼层
刚刚写错了顺序了。应该是这样:
PD:=CONA;
KD:=H>REF(C,1);   //不加HOLDING=0就会连续出现多次买入信号。
平多:(PD,HOLDING,LIMITR,PDJ);
开多:(KD,1,LIMITR,KDJ);
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-9-15 16:14 | 显示全部楼层
那这个不行了。你这个代码顺序摆在着。开多在后。
或者你可以这样子,你再写一个在开多后面的 平仓语句。但是条件上除了原先的PD 额外加一个条件,类似这样:
平多1:sell(PD,HOLDING,LIMITR,c);
开多:buy(KD and holding=0,1,LIMITR,c);
平多2:sell(PD and ENTERBARS=0,HOLDING,LIMITR,c);

但是这样 就又可能出现 你这个K平仓了,又开仓了,然后又平了。你这个没办法杜绝所有情况的。
你应该考虑下 如果一个K上开仓条件和平仓条件都满足情况下 哪一个是优先执行的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-20 23:33 , Processed in 0.163132 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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