金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
12
返回列表 发新帖
楼主: 100019656

3655

[复制链接]

28

主题

153

帖子

163

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-7-26 09:44 | 显示全部楼层
注释掉什么都没有了,

本帖子中包含更多资源

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

x
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-26 09:54 | 显示全部楼层
你别用 SETTRADESIGN(0); 函数 了。这函数有BUG,触发了会导致图表信号全没了,需要重启。

然后你用我前面重新发的代码。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

28

主题

153

帖子

163

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-7-26 10:18 | 显示全部楼层
tcd:(time>=010000 and time<185700);
variable:num:=0;  // 全局变量
cs:=3;  //限定一天最多亏损3次
ma1:=ma(c,20);
kd:close>ma1;          //开多条件
pd:=close<ma1;          //平多条件
kk:=close<ma1;          //开空条件
pk:=close>ma1;          //平空条件

RSV:=(CLOSE-LLV(LOW,6))/(HHV(HIGH,6)-LLV(LOW,6))*100;
K:SMA(RSV,3,1);//快线
D:SMA(K,3,1);//慢线

KD1:=(D-K)>8;  //开多条件
PD1:=(K-D)>2;  //平多条件
KK1:=(K-D)>1; //开空条件
PK1:=(D-K)>4;  //平空条件

ss:=1;//手数

//多
if pd and holding>0 then
begin
sell(1,ss,limitr,close);
if numprofit(1)<0 then num:=num+1;  //平多仓
end

if kd and tcd and holding=0 and num<cs then  //开多仓
begin
buy(1,ss,limitr,close);
end


//空
if pk and holding<0 then
begin
sellshort(1,ss,limitr,close);
if numprofit(1)<0 then num:=num+1;  //平空仓
end

if kk and tcd and holding=0 and num<cs then             //开空仓
begin
   buyshort(1,ss,limitr,close);
end
  
if time=closetime(0) then num:=0;

//市价(market)挂单价(limitr)对手价(thisclose)
平空:SELLSHORT(PK1 and cs>3,ss,LIMITR,CLOSE);                  //平空信号
开多:BUY(KD1 AND tcd and HOLDING=0,SS,LIMITR,CLOSE);          //开多信号
平多:SELL(PD1 and cs>3,ss,LIMITR,CLOSE);                       //平多信号
开空:BUYSHORT(KK1 AND tcd and HOLDING=0,SS,LIMITR,CLOSE);     //开空信号


亏损次数:num;
//指定时间平仓
if time=185700 then begin
收盘a:sell(1,ss,limitr,close)coloryellow;//平多
收盘:sellshort(1,ss,limitr,close)colorgreen;//平空
end

hd:holding;

老师,我想是在MA单均线策略亏损3次后,策略执行KD指标策略,是不是在平仓里面改成CS>3,发现这样就不行了,有没有办法解决?

本帖子中包含更多资源

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

x
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-26 10:30 | 显示全部楼层
你应该加 num>=3 作为条件而不是cs,cs是一个静态的变量值。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

28

主题

153

帖子

163

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-7-26 10:40 | 显示全部楼层
改成num>=3,信号就出现这样, 老师,像我这样的策略是不是 算是比较复杂的了,两个指标策略切换,当前一个指标策略连续止损3次后,切换成另一个指标策略

本帖子中包含更多资源

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

x
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-26 10:57 | 显示全部楼层
你这里 开仓和平仓都应该加上一个大于num的判断。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

28

主题

153

帖子

163

积分

Rank: 2

等级: 标准版

注册:
2022-6-27
曾用名:
 楼主| 发表于 2023-7-26 11:12 | 显示全部楼层
开仓和平仓都加上一个大于num的判断,还是不行呢,太难了

本帖子中包含更多资源

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

x
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-7-26 11:26 | 显示全部楼层
你是说信号很多?这只和你开平条件有关,和num的控制没有关系的。

kd1:=(d-k)>8//开多条件
pd1:=(k-d)>20;  //平多条件
kk1:=(k-d)>10; //开空条件
pk1:=(d-k)>40;  //平空条件



这几个条件就是非常容易满足的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 11:12 , Processed in 0.107437 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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