金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

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

请老师修改

[复制链接]

17

主题

63

帖子

63

积分

Rank: 2

等级: 标准版

注册:
2024-5-6
曾用名:
 楼主| 发表于 2024-6-6 09:43 | 显示全部楼层
M1:EMA(CLOSE,50);

KCH:= REF(HIGH,ENTERBARS);
KCL:= REF(LOW,ENTERBARS);
KCQH:= ref(hhv(high,10),enterbars);
KCQL:= ref(LLv(LOW,10),enterbars);
DZY:= ENTERPRICE+(ENTERPRICE-REF(LLV(LOW,10),ENTERBARS))*2;
KZY:= ENTERPRICE-(REF(HHV(HIGH,10),ENTERBARS)-ENTERPRICE)*2;

KD:= CROSS(C,M1) ; //开多条件
PD1:= C<KCL or c<m1 ;               //开仓k最低价平多
PD2:= C<KCQL ;                      //开仓k前低点平多
PD3:= C>= DZY;                      //收盘大于等于2:1盈亏比平多

KK:= CROSS(M1,C) ; //开空条件
PK1:= C>KCH or c>m1 ; //平空条件
PK2:= C>KCQH ; //平空条件
PK3:= C<= KZY; //平空条件

平空1:SELLSHORT(PK1,1,THISCLOSE);//平空信号
平空2:SELLSHORT(PK2,1,THISCLOSE);//平空信号
平空3:SELLSHORT(PK3,1,THISCLOSE);//平空信号

开多:BUY(KD AND HOLDING=0,1,THISCLOSE); //开多信号
平多1:SELL(PD1,1,THISCLOSE);//平多信号
平多2:SELL(PD2,1,THISCLOSE);//平多信号
平多3:SELL(PD3,1,THISCLOSE);//平多信号

开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);//开空信号
请老师帮忙给上面的代码加上全局变量的案例,我好参考学习,感谢!
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-6-6 09:45 | 显示全部楼层
本帖最后由 技术006 于 2024-6-6 09:50 编辑

这是1楼的代码,针对性的调整代码顺序。触发条件的因子计算遵循就近原则。对你的代码情况也可以理解成随用随取。如果你想对比自己原来代码存在的问题,可以输出每个条件的值,以及ENTERBARS和ENTERPRICE在相应存在问题的k上逐句分析结果产生的原因,这样更有利于理解代码逻辑问题。

M1:EMA(CLOSE,50);

KD:= CROSS(C,M1) ;       //开多条件
KK:= CROSS(M1,C) ;       //开空条件


开多:BUY(KD AND HOLDING=0,1,THISCLOSE);          //开多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE);     //开空信号

AA:ENTERBARS;
KCH:= REF(HIGH,ENTERBARS+1);
KCL:= REF(LOW,ENTERBARS+1);
KCQH:= ref(hhv(high,10),enterbars+1);
KCQL:= ref(LLv(LOW,10),enterbars+1);
DZY:= ENTERPRICE+(ENTERPRICE-REF(LLV(LOW,10),ENTERBARS+1))*2;
KZY:= ENTERPRICE-(REF(HHV(HIGH,10),ENTERBARS+1)-ENTERPRICE)*2;


PD:= C<KCL  OR C<KCQL OR C>= DZY  ;          //平多条件
PK:= C>KCH OR C>KCQH OR C<= KZY  ;          //平空条件

平多:SELL(PD,1,THISCLOSE);                       //平多信号
平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

17

主题

63

帖子

63

积分

Rank: 2

等级: 标准版

注册:
2024-5-6
曾用名:
 楼主| 发表于 2024-6-6 10:20 | 显示全部楼层
通过老师的改写,回测出现惊讶好转。AA:ENTERBARS;这就是全局变量吧?一条单均线可以有万般变化,但在开盘期间的信号有随K线图数据扩大,买卖信号有中断或发生变动的现象,不知道是什么原因?
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-6-6 10:28 | 显示全部楼层
100020711 发表于 2024-6-6 10:20
通过老师的改写,回测出现惊讶好转。AA:ENTERBARS;这就是全局变量吧?一条单均线可以有万般变化,但在开盘 ...

不是。等会给你简化一个示例。建议你理解下原来代码的错误原因。有助于提升自己的代码逻辑控制。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

17

主题

63

帖子

63

积分

Rank: 2

等级: 标准版

注册:
2024-5-6
曾用名:
 楼主| 发表于 2024-6-6 10:34 | 显示全部楼层
感谢老师的帮助!!!
回复

使用道具 举报

37

主题

1万

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2024-6-6 10:38 | 显示全部楼层
[PEL] 复制代码
//全局变量定义
VARIABLE:KCH=0,KCL=0;

M1:EMA(CLOSE,50);

KD:= CROSS(C,M1) ; //开多条件
KK:= CROSS(M1,C) ; //开空条件

if KD=1 then BEGIN
	SELLSHORT(holding<0,1,THISCLOSE);
	BUY(HOLDING=0,1,THISCLOSE);
	//金死叉是交替的,所以直接记录开仓时的最高最低价,如果条件存在多次进入的情况下,还要做更细致的控制。
	KCH:=HIGH;	
	KCL:=LOW;
END

if KK=1 then BEGIN
	SELL(holding>0,1,THISCLOSE);
	BUYSHORT(HOLDING=0,1,THISCLOSE);
	//金死叉是交替的,所以直接记录开仓时的最高最低价,如果条件存在多次进入的情况下,还要做更细致的控制。
	KCH:=HIGH;	
	KCL:=LOW;
END

//其他平仓条件


PD1:= C<KCL;
PK1:= C>KCH;
if PD1=1 AND HOLDING>0 then BEGIN
	平多1:SELL(holding>0,1,THISCLOSE);
END

if PK1=1 AND HOLDING<0 then BEGIN
	平空1:SELLSHORT(holding<0,1,THISCLOSE);
END



KCQH:= ref(hhv(high,10),enterbars);
KCQL:= ref(LLv(LOW,10),enterbars);
DZY:= ENTERPRICE+(ENTERPRICE-KCQL)*2;
KZY:= ENTERPRICE-(KCQH-ENTERPRICE)*2;
PD3:= C>= DZY;                      //收盘大于等于2:1盈亏比平多
PK3:= C<= KZY; //平空条件
平空3:SELLSHORT(PK3,1,THISCLOSE);//平空信号
平多3:SELL(PD3,1,THISCLOSE);//平多信号


//下面部分无效条件,因为开仓当根k的最高价作为止盈价格小于等于KCQH,所以KCH相关的条件会优先触发。
PD2:= C<KCQL ;
PK2:= C>KCQH ; //平空条件
平多:SELL(PD2,1,THISCLOSE);
平空:SELLSHORT(PK2,1,THISCLOSE);//平空信号
//********************************结束*******************************







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

使用道具 举报

17

主题

63

帖子

63

积分

Rank: 2

等级: 标准版

注册:
2024-5-6
曾用名:
 楼主| 发表于 2024-6-6 10:55 | 显示全部楼层
万分感激老师的指导!!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-28 01:07 , Processed in 0.158831 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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