金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2338|回复: 6

改写金子塔自带布林强盗开仓手数的代码

[复制链接]

9

主题

49

帖子

49

积分

Rank: 1

等级: 新手上路

注册:
2023-8-7
曾用名:
发表于 2023-12-10 22:06 | 显示全部楼层 |阅读模式
单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!!


//策略:布林强盗系统
//简介:布林带(BOLL)是由John Bollinger在20世纪60年代创建的。
//类型:中长期通道突破
//周期:
//使用市场:
//详情介绍网址:http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=30382
//修订时间:2012.11.4
//版本:1.0
//DESIGNED BY ROGARZ

//中间变量
INPUT:M(50,5,300,30),N(1.25,0.1,10,0.1),D(30,1,100,1),SS(1,1,10000,1);
VARIABLE:X:=50;
MID :  MA(CLOSE,M);//布林中轨
UPPER:MID + N*STD(CLOSE,M);//布林上轨
LOWER:MID - N*STD(CLOSE,M);//布林下轨
CYC:=ENTERBARS+1,NOAXIS;//开仓至今的周期数
HC30:=REF(HHV(C,D),1);//30周期收盘价高点
LC30:=REF(LLV(C,D),1);//30周期收盘价低点
手数:=SS;
出场MA:MA(CLOSE,IF(HOLDING<>0,IF(CYC>=40,10,51-CYC),50));

//交易条件
开多平空条件:=C>HC30 AND H>REF(UPPER,1);//收盘价大于30周期收盘价最高值,且最高价上穿上轨
开空平多条件:=C<LC30 AND L<REF(LOWER,1);//收盘价小于30周期收盘价最高值,且最低价下穿下轨
多头出场条件:=C<出场MA AND 出场MA<UPPER;
空头出场条件:=C>出场MA AND 出场MA>LOWER;
//交易系统
多头出场:SELL(多头出场条件 AND HOLDING>0,手数,LIMITR,C);
空头出场:SELLSHORT(空头出场条件 AND HOLDING<0,手数,LIMITR,C);

平空:SELLSHORT(开多平空条件 AND HOLDING<0,手数,LIMITR,C);
平多:SELL(开空平多条件 AND HOLDING>0,手数,LIMITR,C);
开空:BUYSHORT(开空平多条件 AND HOLDING>=0,手数,LIMITR,C);
开多:BUY(开多平空条件 AND HOLDING<=0,手数,LIMITR,C);
//注意先平后开原则


系统自带的开仓手数为1,我想改成    手数=总资金*1%/(开仓时上轨道的值-开仓时中轨道的值)


回复

使用道具 举报

3

主题

823

帖子

864

积分

Rank: 9Rank: 9Rank: 9

等级: 管理员

注册:
2021-5-10
曾用名:
发表于 2023-12-11 08:46 | 显示全部楼层
手数:ASSET*0.01/(UPPER-MID);
回复

使用道具 举报

9

主题

49

帖子

49

积分

Rank: 1

等级: 新手上路

注册:
2023-8-7
曾用名:
 楼主| 发表于 2023-12-12 17:11 | 显示全部楼层
表达的不准确多头是手数:ASSET*0.01/(UPPER-MID);
空头应该是手数:ASSET*0.01/(MID-LOWER);
如何让系统自动识别是多头还是空头呀?
回复

使用道具 举报

9

主题

49

帖子

49

积分

Rank: 1

等级: 新手上路

注册:
2023-8-7
曾用名:
 楼主| 发表于 2023-12-12 17:12 | 显示全部楼层
整体的代码应该如何改?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-12-12 17:15 | 显示全部楼层
[PEL] 复制代码
INPUT:M(50,5,300,30),N(1.25,0.1,10,0.1),D(30,1,100,1),SS(1,1,10000,1);
VARIABLE:X:=50;
MID :  MA(CLOSE,M);//布林中轨
UPPER:MID + N*STD(CLOSE,M);//布林上轨
LOWER:MID - N*STD(CLOSE,M);//布林下轨
CYC:=ENTERBARS+1,NOAXIS;//开仓至今的周期数
HC30:=REF(HHV(C,D),1);//30周期收盘价高点
LC30:=REF(LLV(C,D),1);//30周期收盘价低点


ss1:ASSET*0.01/(UPPER-MID);
ss2:ASSET*0.01/(MID-LOWER);
出场MA:MA(CLOSE,IF(HOLDING<>0,IF(CYC>=40,10,51-CYC),50));

//交易条件
开多平空条件:=C>HC30 AND H>REF(UPPER,1);//收盘价大于30周期收盘价最高值,且最高价上穿上轨
开空平多条件:=C<LC30 AND L<REF(LOWER,1);//收盘价小于30周期收盘价最高值,且最低价下穿下轨
多头出场条件:=C<出场MA AND 出场MA<UPPER;
空头出场条件:=C>出场MA AND 出场MA>LOWER;
//交易系统
多头出场:SELL(多头出场条件 AND HOLDING>0,HOLDING,LIMITR,C);
空头出场:SELLSHORT(空头出场条件 AND HOLDING<0,HOLDING,LIMITR,C);

平空:SELLSHORT(开多平空条件 AND HOLDING<0,HOLDING,LIMITR,C);
平多:SELL(开空平多条件 AND HOLDING>0,HOLDING,LIMITR,C);
开空:BUYSHORT(开空平多条件 AND HOLDING>=0,ss1,LIMITR,C);
开多:BUY(开多平空条件 AND HOLDING<=0,ss2,LIMITR,C);
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

9

主题

49

帖子

49

积分

Rank: 1

等级: 新手上路

注册:
2023-8-7
曾用名:
 楼主| 发表于 2023-12-12 17:35 | 显示全部楼层
交易系统的顺序有问题吗?不得先开仓再平仓?
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-12-13 08:39 | 显示全部楼层
没明白你什么意思。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-2 22:31 , Processed in 0.118414 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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