金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 葛伟星

下面这程序为什么每次止损后,都会在原来的止损处开多单,搞不清楚什么原因,帮忙....

[复制链接]

28

主题

157

帖子

157

积分

等级: 免费版

注册:
2023-12-13
曾用名:
 楼主| 发表于 2024-1-10 15:27 | 显示全部楼层
技术009 发表于 2024-1-10 12:59
参考:https://www.weistock.com/docs/PEL/notes/%E8%B7%A8%E6%8C%87%E6%A0%87%E5%91%A8%E6%9C%9F.html#cal ...

怎么调用呀,我上面的好像不对,有没有别的办法,具体麻烦帮我写一下
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-1-10 17:25 | 显示全部楼层

这个调用就 callstock函数的使用。
l1:callstock('',vtlow,6,-1);//昨天的
l2:callstock('',vtlow,6);//今天的低点

h1:callstock('',vthigh,6,-1);
h2:callstock('',vthigh,6);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

28

主题

157

帖子

157

积分

等级: 免费版

注册:
2023-12-13
曾用名:
 楼主| 发表于 2024-1-10 17:31 | 显示全部楼层
技术009 发表于 2024-1-10 17:25
这个调用就 callstock函数的使用。
l1:callstock('',vtlow,6,-1);//昨天的
l2:callstock('',vtlow,6);/ ...

JG:=HHV(H,TODAYBAR);
JD:=LLV(L,TODAYBAR);
ZG:=REF(HHV(H,TODAYBAR),1);
ZD:=REF(LLV(L,TODAYBAR),1);
这样写的可以吗?跟你给的有什么区别?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-1-10 17:32 | 显示全部楼层
不是哦 你这个zg 你要回溯到昨天收盘K位置,统计的才是对的。而且数据要足才行。
ZG:=REF(HHV(H,TODAYBAR),TODAYBAR);

zd同理。我那个调用 是直接获取日线结果的。你这个是在小周期上统计的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

28

主题

157

帖子

157

积分

等级: 免费版

注册:
2023-12-13
曾用名:
 楼主| 发表于 2024-1-10 20:22 | 显示全部楼层
技术009 发表于 2024-1-10 17:32
不是哦 你这个zg 你要回溯到昨天收盘K位置,统计的才是对的。而且数据要足才行。
ZG:=REF(HHV(H,TODAYBAR) ...

ZSCOND1:=TBUYHOLDINGEX('529001041','PG2402',2)>0 AND TAVGENTERPRICEEX2('529001041','PG2402',0)-C>HZ;
ZSCOND2:=TSELLHOLDINGEX('529001041','PG2402',2)>0 AND C-TAVGENTERPRICEEX2('529001041','PG2402',1)>HZ;

IF GDCOND1 THEN BEGIN
        TSELL(TBUYHOLDINGEX('529001041','PG2402',2)>0,0,MKT),ORDERQUEUE;
        TBUYSHORT(TSELLHOLDINGEX('529001041','PG2402',2)=0,SS,MKT),ORDERQUEUE;
END

IF GDCOND2 THEN BEGIN
        TSELLSHORT(TSELLHOLDINGEX('529001041','PG2402',2)>0,0,MKT),ORDERQUEUE;
        TBUY(TBUYHOLDINGEX('529001041','PG2402',2)=0,SS,MKT),ORDERQUEUE;
END

IF DDCOND3 THEN BEGIN
        TSELL(TBUYHOLDINGEX('529001041','PG2402',2)>0,0,MKT),ORDERQUEUE;
        TBUYSHORT(TSELLHOLDINGEX('529001041','PG2402',2)=0,SS,MKT),ORDERQUEUE;
END

IF DDCOND4 THEN BEGIN
        TSELLSHORT(TSELLHOLDINGEX('529001041','PG2402',2)>0,0,MKT),ORDERQUEUE;
        TBUY(TBUYHOLDINGEX('529001041','PG2402',2)=0,SS,MKT),ORDERQUEUE;
END

IF ZSCOND1 THEN TSELL(1,0,MKT);
IF ZSCOND2 THEN TSELLSHORT(1,0,MKT);
求解决下,这样写的代码居然锁仓了,怎么样能严禁锁仓
回复

使用道具 举报

28

主题

157

帖子

157

积分

等级: 免费版

注册:
2023-12-13
曾用名:
 楼主| 发表于 2024-1-10 20:25 | 显示全部楼层
技术009 发表于 2024-1-10 17:32
不是哦 你这个zg 你要回溯到昨天收盘K位置,统计的才是对的。而且数据要足才行。
ZG:=REF(HHV(H,TODAYBAR) ...

在计算速度上没有区别的是吧
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-1-11 08:50 | 显示全部楼层
zscond1:=tbuyholdingex('529001041','pg2402',2)>0 and tavgenterpriceex2('529001041','pg2402',0)-c>hz;
zscond2:=tsellholdingex('529001041','pg2402',2)>0 and c-tavgenterpriceex2('529001041','pg2402',1)>hz;

if gdcond1 then begin
        tsell(tbuyholdingex('529001041','pg2402',2)>0,0,mkt),orderqueue;
        tbuyshort(tsellholdingex('529001041','pg2402',2)=0 and tbuyholdingex('529001041','pg2402',2)=0,ss,mkt),orderqueue;
end

if gdcond2 then begin
        tsellshort(tsellholdingex('529001041','pg2402',2)>0,0,mkt),orderqueue;
        tbuy(tsellholdingex('529001041','pg2402',2)=0 and tbuyholdingex('529001041','pg2402',2)=0,ss,mkt),orderqueue;
end

if ddcond3 then begin
        tsell(tbuyholdingex('529001041','pg2402',2)>0,0,mkt),orderqueue;
        tbuyshort(tsellholdingex('529001041','pg2402',2)=0 and tbuyholdingex('529001041','pg2402',2)=0,ss,mkt),orderqueue;
end

if ddcond4 then begin
        tsellshort(tsellholdingex('529001041','pg2402',2)>0,0,mkt),orderqueue;
        tbuy(tsellholdingex('529001041','pg2402',2)=0 and tbuyholdingex('529001041','pg2402',2)=0,ss,mkt),orderqueue;
end

if zscond1 then tsell(1,0,mkt);
if zscond2 then tsellshort(1,0,mkt);

开仓地方再限制下吧
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

28

主题

157

帖子

157

积分

等级: 免费版

注册:
2023-12-13
曾用名:
 楼主| 发表于 2024-1-11 15:46 | 显示全部楼层
技术009 发表于 2024-1-11 08:50
zscond1:=tbuyholdingex('529001041','pg2402',2)>0 and tavgenterpriceex2('529001041','pg2402',0)-c>hz; ...

我能不能平仓的时候用ALLOWREPEAT,或者开仓后面也用
这样会有什么反应?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2024-1-11 15:47 | 显示全部楼层
在有持仓限制下,应该没啥大问题。但是如果没有仓位限制,是可能一直下单的,如果下单条件一直满足得话。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

28

主题

157

帖子

157

积分

等级: 免费版

注册:
2023-12-13
曾用名:
 楼主| 发表于 2024-1-11 17:20 | 显示全部楼层
技术009 发表于 2024-1-11 15:47
在有持仓限制下,应该没啥大问题。但是如果没有仓位限制,是可能一直下单的,如果下单条件一直满足得话。

那orderqueue应该可以不用,感觉它可能会产生滑点,不会应该也不会有什么问题吧
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-4 14:30 , Processed in 0.174994 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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