金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 212|回复: 9

同一公式开仓K线走完,止损盘中触发

[复制链接]

16

主题

49

帖子

49

积分

Rank: 4

等级: 专业版

注册:
2023-12-7
曾用名:
发表于 2024-9-26 00:48 | 显示全部楼层 |阅读模式
同一个公式,开仓是使用收盘价走完K线模式,止损需要盘中触发立即止损,应该怎么实现?公式大概是:
VARIABLE:ZS:=100000000;
VARIABLE:突破:=0;
VARIABLE:突破G:=0;

//平空止损
IF ENTERBARS=1 THEN ZS:=HHVH;
PKZS:=HOLDING<0 AND H>ZS;
IF PKZS THEN
BEGIN
    平空ZS:SELLSHORT(1,SS,LIMITR,MAX(ZS,OPEN));//实盘这里要用轮询
   ZS:=1000000000;
END

//中间省略部分
//开仓,这里需要收盘执行
均线:REF(MA(C,M),1);
KK1:持仓量条件 AND C<突破G AND 突破=1 AND HOLDING=0 AND C<均线;
IF  KK1   THEN
BEGIN
        SS:=CEILING((7*ZJ)/(C*MULTIPLIER));
开空1:BUYSHORT(1,SS,LIMITR,C);
                 突破:=0;
  突破G:=0;
END       

请问应该怎么实现?我考虑把开仓信号改为REF(KK1,1)=1进行3秒的固定轮询基本实现,如下修改请问是否可以?
VARIABLE:ZS:=100000000;
VARIABLE:突破:=0;
VARIABLE:突破G:=0;

//平空止损
//IF ENTERBARS=1 THEN ZS:=HHVH;(这条删除,把ZS:=HHVH放到后面开仓,这样也实现了开仓后面一根K线设置止损加的目的)
PKZS:=HOLDING<0 AND H>ZS;
IF PKZS THEN
BEGIN
    平空ZS:SELLSHORT(1,SS,LIMITR,MAX(ZS,OPEN));//实盘这里要用轮询
   ZS:=1000000000;
END

//中间省略部分
//开仓,这里需要收盘执行
均线:REF(MA(C,M),1);
KK1:持仓量条件 AND C<突破G AND 突破=1 AND HOLDING=0 AND C<均线;
IF  REF(KK1,1)=1   THEN
BEGIN
        SS:=CEILING((7*ZJ)/(C*MULTIPLIER));
开空1:BUYSHORT(1,SS,LIMITR,C);
                 突破:=0;
  突破G:=0;
ZS:=HHVH;(增加设置止损)
END       


请帮忙看看应该怎么样实现?谢谢!
回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-9-26 08:47 | 显示全部楼层
“REF(KK1,1)=1” 这样就可以了。

回复

使用道具 举报

16

主题

49

帖子

49

积分

Rank: 4

等级: 专业版

注册:
2023-12-7
曾用名:
 楼主| 发表于 2024-9-26 09:48 | 显示全部楼层
请看看ZS:=HHVH是不是也这样改?
回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-9-26 09:58 | 显示全部楼层
对的 这样可以。 取值位置和前面代码效果一样。
回复

使用道具 举报

16

主题

49

帖子

49

积分

Rank: 4

等级: 专业版

注册:
2023-12-7
曾用名:
 楼主| 发表于 2024-9-26 11:19 | 显示全部楼层
我修改为REF(KK1,1)=1后加载在图表上,发现在KK1=1之后的下一根与再下一根分别开仓,就是重复开仓一次,这是什么原因,实盘固定轮询中不会出现这种情况吧?需要再修改公式吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-9-26 13:11 | 显示全部楼层
KK1:持仓量条件 AND C<突破G AND 突破=1  AND C<均线;
IF  REF(KK1,1)=1 and  HOLDING=0   THEN....


这样做个调整。
回复

使用道具 举报

16

主题

49

帖子

49

积分

Rank: 4

等级: 专业版

注册:
2023-12-7
曾用名:
 楼主| 发表于 2024-9-26 13:16 | 显示全部楼层
谢谢!调整后没有重复开仓了。
回复

使用道具 举报

16

主题

49

帖子

49

积分

Rank: 4

等级: 专业版

注册:
2023-12-7
曾用名:
 楼主| 发表于 2024-9-26 13:26 | 显示全部楼层
我要使用ENTERPRICE函数在止盈时候使用,使用KK1=1条件开仓BUYSHORT(1,SS,LIMITR,C);这个开仓成本是产生信号的收盘价,使用REF(KK1=1,1)=1条件开仓,在图表上加载显示ENTERPRICE开仓成本是后面这根的收盘价,实盘轮询固定3秒轮询的时候,公式在运行几个周期后后面取得的ENTERPRICE值是哪个?
回复

使用道具 举报

16

主题

49

帖子

49

积分

Rank: 4

等级: 专业版

注册:
2023-12-7
曾用名:
 楼主| 发表于 2024-9-26 13:43 | 显示全部楼层
我自己定义一个全局变量,KK1:持仓量条件 AND C<突破G AND 突破=1 AND HOLDING=0 AND C<均线;
IF  REF(KK1,1)=1   THEN
BEGIN
        SS:=CEILING((7*ZJ)/(C*MULTIPLIER));
开空1:BUYSHORT(1,SS,LIMITR,C);
                 突破:=0;
  突破G:=0;
ZS:=HHVH;(增加设置止损)
开仓价:=REF(C,1);
END  
这样记录的开仓价格在固定轮询中就在后面周期计算的时候开仓成本按出信号收盘价计算正确了吧?
     
回复

使用道具 举报

2

主题

4429

帖子

4429

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-9-26 14:29 | 显示全部楼层
你这个记录是前一个K的收盘价了.    不过考虑到你是固定间隔,实际入场K和前一个K的收盘 时间上相近的。所以这样采用前一个K收盘价 作为 开仓价 也是可行的。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 11:51 , Processed in 0.210489 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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