金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 5737|回复: 10

时间止损模块

[复制链接]

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
发表于 2022-6-24 09:42 | 显示全部楼层 |阅读模式
想编写个时间止损模块,比如持仓超过三天,浮亏就砍仓。但是不同品种像有色跟日盘的品种周期数差的就很多;请问怎么更改好一些?

spcond :=OPENPROFIT<0 and ENTERBARS>=n &&holding>0;
bpcond :=OPENPROFIT<0 and ENTERBARS>=n &&holding<0;
时间止损卖:sell(spcond,holding,thisclose);
时间止损买:sellshort(bpcond,holding,thisclose);


回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2022-6-24 09:49 | 显示全部楼层
参考如下范例,通过判断日期来计算持仓的天数,如下:
A:DATE<>REF(DATE,1);
MM:COUNT(A,ENTERBARS);  //计算持仓的天数
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2022-6-24 09:51 | 显示全部楼层
技术010 发表于 2022-6-24 09:49
参考如下范例,通过判断日期来计算持仓的天数,如下:
A:DATEREF(DATE,1);
MM:COUNT(A,ENTERBARS);  //计 ...

感谢
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2022-6-24 09:56 | 显示全部楼层
技术010 发表于 2022-6-24 09:49
参考如下范例,通过判断日期来计算持仓的天数,如下:
A:DATEREF(DATE,1);
MM:COUNT(A,ENTERBARS);  //计 ...

如果加载在分钟周期里,这个怎么搞;不是日级别
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2022-6-24 09:57 | 显示全部楼层
这个就是适用于分钟周期的啊,如果是日线就直接判断enterbars就可以了啊。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2022-6-24 10:00 | 显示全部楼层
技术010 发表于 2022-6-24 09:57
这个就是适用于分钟周期的啊,如果是日线就直接判断enterbars就可以了啊。

有些看不懂这个公式
A:DATE<>REF(DATE,1);
MM:COUNT(A,ENTERBARS);  //计算持仓的天数
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2022-6-24 10:02 | 显示全部楼层
就是判断当前日期不等于上一根K线的日期,表示就过了一天了啊,再统计开仓到现在的周期内,一共出现了几次这种情况,那就等于是持仓的天数了啊。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2022-6-24 10:08 | 显示全部楼层
但是加载在15分钟的周期的图形中就变成这样了
截图202206241008165439.png
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2022-6-24 10:11 | 显示全部楼层
这个只是一个范例思路啊,你要融合到你自己的策略中的。另外你只贴张图,我们不能分析出什么原因啊,至少给我一个相对完整的代码,再描述下什么地方的信号不对吧。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

227

主题

881

帖子

881

积分

等级: 免费版

注册:
2022-4-2
曾用名:
 楼主| 发表于 2022-6-24 10:14 | 显示全部楼层
//多头开平仓

if 平空开多 then begin        
        sellshort (平空开多,abholding1,thisclose);
        buy       (平空开多,abholding0,thisclose);
end

开多:buy(开多条件,abs(abholding0),thisclose);
加多:buy(加多条件,abs(abholding0-abholding1),thisclose);
减多:sell(减多条件,abs(abholding0-abholding1),thisclose);
清多:sell(清多条件,abs(abholding0-abholding1),thisclose);


//空头开平仓

if 平多开空 then begin        
        sell      (平多开空,abholding1,thisclose);
        buyshort  (平多开空,abholding0,thisclose);
end


开空:buyshort(开空条件,abs(abholding0),thisclose);
加空:buyshort(加空条件,abs(abholding0-abholding1),thisclose);
减空:sellshort(减空条件,abs(abholding0-abholding1),thisclose);
清空:sellshort(清空条件,abs(abholding0-abholding1),thisclose);



A:DATE<>REF(DATE,1);


MM:COUNT(a,ENTERBARS);  //计算持仓的天数

spcond :=OPENPROFIT<0 and mm>=n &&holding>0;
bpcond :=OPENPROFIT<0 and mm>=n &&holding<0;
时间止损卖:sell(spcond,holding,thisclose);
时间止损买:sellshort(bpcond,holding,thisclose);
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-19 07:42 , Processed in 0.146921 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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