金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2761|回复: 3

如何设置动态函数值

[复制链接]

4

主题

10

帖子

10

积分

Rank: 1

等级: 新手上路

注册:
2023-6-13
曾用名:
发表于 2023-9-27 11:00 | 显示全部楼层 |阅读模式
BIAS:=(CLOSE-MA(CLOSE,M))/MA(CLOSE,M)*100;//LU测试210分钟为了最佳策略盈亏比1.27
手数:=1;
//交易条件

开多平空条件:=CROSS(LL,BIAS*100);//开多平空条件
开空平多条件:=CROSS(BIAS*100,LH);//开空平多条件



金字塔的工程师你好。请在下面策略里面加上:一、如果是“上涨行情”用值为:LH=7,LL=-5;    二、如果是“盘整行情”用值为:LH=6,LL=-6;  三、如果是“下跌行情”启用值为:LH=5,LL=-5; 本人是小白,请麻烦加好完整的发过来,谢谢。





INPUT:N(10,1,20,1),M(12,1,50,2),LL(-6,-40,-1,1),LH(6,1,40,1);//N是提前的分钟数.16-33行是客服给的每个小节收盘前平仓函数

MARK:=0;//用于记录当前是否满足某个收盘K结束前N分钟的变量

FOR I=0 TO 3 DO  //循环遍历每个收盘时间来进行判断。这里可以调整I起始位置 来控制需要处理的收盘节点。
BEGIN
abb:=timetot0(CLOSETIME(I))-time0,NODRAW;//当前K线时间距离收盘K线结束倒计时,在一个K上对应一个固定值
abb3:=timetot0(CLOSETIME(I))-timetot0(dynainfo(207)),NODRAW;//当前时间(当前的北京时间)距离收盘K时间 ,   在最新K上会一直变动。因为这个返回的是具体秒数
IF         (abb<N*60 and abb>=0 and (not(ISLASTBAR))) or (ISLASTBAR and  abb3>=0 and abb3<N*60) THEN MARK:=1;
END


if MARK  then //兼顾实际交易时候的信号和历史回测信号
begin
收盘平多:sell(holding>0,holding,market);
收盘平空:sellshort(holding<0,holding,market);        
end

//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件 and  holding=0 and not(MARK),手数,MARKET);
开空:BUYSHORT(开空平多条件 and  holding=0 and not(MARK),手数,MARKET);


回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-9-27 11:06 | 显示全部楼层
那你要给出关于“上涨行情”这类形态的标准量化定义。才能尝试处理。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

4

主题

10

帖子

10

积分

Rank: 1

等级: 新手上路

注册:
2023-6-13
曾用名:
 楼主| 发表于 2023-9-27 11:24 | 显示全部楼层
技术006 发表于 2023-9-27 11:06
那你要给出关于“上涨行情”这类形态的标准量化定义。才能尝试处理。

金字塔的工程师你好。请在下面策略里面加上:一、如果是“上涨行情:=CLOSE/MA(CLOSE,20)>1.05;”启用值为:LH=7,LL=-5;    二、如果是“盘整行情”:=CLOSE/MA(CLOSE,20)<1.05 and  CLOSE/MA(CLOSE,20)>0.95;启用值为:LH=6,LL=-6;  三、如果是“下跌行情”:=CLOSE/MA(CLOSE,20)<0.95;启用值为:LH=5,LL=-5; 本人是小白,请麻烦加好完整的发过来,如果你们有上涨行情、盘整行情、下跌行情的表达方式就用你们的策略函数,谢谢。
BIAS:=(CLOSE-MA(CLOSE,M))/MA(CLOSE,M)*100;//LU测试210分钟为了最佳策略盈亏比1.27
手数:=1;
//交易条件

开多平空条件:=CROSS(LL,BIAS*100);//开多平空条件
开空平多条件:=CROSS(BIAS*100,LH);//开空平多条件








INPUT:N(10,1,20,1),M(12,1,50,2),LL(-6,-40,-1,1),LH(6,1,40,1);//N是提前的分钟数.16-33行是客服给的每个小节收盘前平仓函数

MARK:=0;//用于记录当前是否满足某个收盘K结束前N分钟的变量

FOR I=0 TO 3 DO  //循环遍历每个收盘时间来进行判断。这里可以调整I起始位置 来控制需要处理的收盘节点。
BEGIN
abb:=timetot0(CLOSETIME(I))-time0,NODRAW;//当前K线时间距离收盘K线结束倒计时,在一个K上对应一个固定值
abb3:=timetot0(CLOSETIME(I))-timetot0(dynainfo(207)),NODRAW;//当前时间(当前的北京时间)距离收盘K时间 ,   在最新K上会一直变动。因为这个返回的是具体秒数
IF         (abb<N*60 and abb>=0 and (not(ISLASTBAR))) or (ISLASTBAR and  abb3>=0 and abb3<N*60) THEN MARK:=1;
END


if MARK  then //兼顾实际交易时候的信号和历史回测信号
begin
收盘平多:sell(holding>0,holding,market);
收盘平空:sellshort(holding<0,holding,market);        
end

//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件 and  holding=0 and not(MARK),手数,MARKET);
开空:BUYSHORT(开空平多条件 and  holding=0 and not(MARK),手数,MARKET);
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2023-9-27 11:30 | 显示全部楼层
如果是“上涨行情:=CLOSE/MA(CLOSE,20)>1.05;”启用值为:LH=7,LL=-5;    二、如果是“盘整行情”:=CLOSE/MA(CLOSE,20)<1.05 and  CLOSE/MA(CLOSE,20)>0.95;启用值为:LH=6,LL=-6;  三、如果是“下跌行情”:=CLOSE/MA(CLOSE,20)<0.95;启用值为:LH=5,LL=-5;

if CLOSE/MA(CLOSE,20)<1.05 and  CLOSE/MA(CLOSE,20)>0.95 then begin
LH:=7;
LL:=-5;
end

if CLOSE/MA(CLOSE,20)>1.05 then begin
LH:=6;
LL:=-6;
end

if CLOSE/MA(CLOSE,20)<0.95 then begin
LH:=5;
LL:=-5;
end

把定义的代码加到你的策略开头即可
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-23 06:26 , Processed in 0.108793 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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