欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 海龟策略如何去掉加仓代码

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有16023人关注过本帖树形打印复制链接

主题:海龟策略如何去掉加仓代码

帅哥哟,离线,有人找我吗?
jinzhe
  71楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/7/27 9:12:42    Post IP:180.173.43.114[只看该作者]

什么是“正当行情里减少交易次数”


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
wcq1983
  72楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:127 积分:0 威望:0 精华:0 注册:2016/5/16 13:48:54
  发帖心情 Post By:2016/7/27 15:11:23    Post IP:113.70.149.143[只看该作者]

不好意思写错啦,
老师想问一下金字塔公式代码能不能加上震荡行情里减少交易次数的代码,如果可以怎么加   用什么代码


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  73楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/7/27 15:15:41    Post IP:180.169.30.6[只看该作者]

挺难的,首先要用户定义下震荡行情是什么样的,然后再定义下减少次数是什么情况,最后再要说明下震荡和常规区别在哪以及切换的标志



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
wcq1983
  74楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:127 积分:0 威望:0 精华:0 注册:2016/5/16 13:48:54
  发帖心情 Post By:2016/8/1 2:25:37    Post IP:113.70.150.168[只看该作者]

老师您好,下面代码帮我改为金字塔模型代码好吗

基于均线交叉的通道突破系统

/*策略说明:本策略是基于均线交叉与通道突破相结合的交易系统

系统要素:

1. 以快速均线与慢速均线的交叉初步判断趋势

2. 均线交叉后以最近几根K线的高低点加上一定幅度设定为突破通道

3. 均线交叉后一定K线根数内突破通道则趋势有效,否则等待下次趋势

入场条件:

1. 当价格向上突破通道时做多

2. 当价格向下突破通道时做空

出场条件:

1. 趋势反转突破时平仓

2. 基于周期高低点的跟踪止损

再入场条件:

1. 未发生趋势反转

2. 跟踪止损后一定K线根数内突破止损时NK线的高低点时再进场

*/

 

参数:

FASTLEN1  10  9  快速均线周期数

SLOWLEN1  100  18  慢速均线周期数

CHLEN1  100  12  通道突破的周期数

EXTRAPER1  1000  300  通道突破的幅度(万分比),如:300 = 3%

TRAILBAR1  10  8  通道突破的幅度(万分比),如:300 = 3%

REENTRY1  100  10  再进场通道突破的周期数

 

FASTMA:MA(CLOSE,FASTLEN);

SLOWMA:MA(CLOSE,SLOWLEN);

//判断均线是否金叉

CONCROSSOVER:=CROSSUP(FASTMA,SLOWMA);

//判断均线是否死叉

CONCROSSUNDER:=CROSSDOWN(FASTMA,SLOWMA);

//金叉发生时记录最近CHLENBAR的高点加上EXTRAPERCENTAGE%作为开多突破价

HH:=IF(COUNT(ISLASTBK,BARPOS)=0,HHV(HIGH,CHLEN),HHV(HIGH,REENTRY));

LENTRYPRICE:=VALUEWHEN(CONCROSSOVER&&BARPOS>=CHLEN-1,HH*(1+EXTRAPER*0.0001));

LCOUNT:=IF(CONCROSSOVER&&BARPOS>=CHLEN-1,BARPOS,IF(CROSS(COUNT(ISLASTBK,BARPOS),0.5)||CROSS(ISLASTSP,0.5),-999,NULL));//记录BAR序号以控制只在金叉后CHLENBAR内进场否则放弃本次交易

//死叉发生时记录最近CHLENBAR的低点减去EXTRAPERCENTAGE%作为开空突破价


 


 回到顶部
帅哥哟,离线,有人找我吗?
wcq1983
  75楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:127 积分:0 威望:0 精华:0 注册:2016/5/16 13:48:54
  发帖心情 Post By:2016/8/1 2:28:43    Post IP:113.70.150.168[只看该作者]

补充74楼代码:


HH:=IF(COUNT(ISLASTBK,BARPOS)=0,HHV(HIGH,CHLEN),HHV(HIGH,REENTRY));

LENTRYPRICE:=VALUEWHEN(CONCROSSOVER&&BARPOS>=CHLEN-1,HH*(1+EXTRAPER*0.0001));

LCOUNT:=IF(CONCROSSOVER&&BARPOS>=CHLEN-1,BARPOS,IF(CROSS(COUNT(ISLASTBK,BARPOS),0.5)||CROSS(ISLASTSP,0.5),-999,NULL));//记录BAR序号以控制只在金叉后CHLENBAR内进场否则放弃本次交易

//死叉发生时记录最近CHLENBAR的低点减去EXTRAPERCENTAGE%作为开空突破价

LL:=IF(COUNT(ISLASTBK,BARPOS)=0,LLV(LOW,CHLEN),LLV(LOW,REENTRY));

SENTRYPRICE:=VALUEWHEN(CONCROSSUNDER&&BARPOS>=CHLEN-1,LL*(1-EXTRAPER*0.0001));

SCOUNT:=IF(CONCROSSUNDER&&BARPOS>=CHLEN-1,BARPOS,IF(CROSS(COUNT(ISLASTSK=1,BARPOS)=1,0.5)||CROSS(ISLASTSP,0.5),-999,NULL));

//开仓

TJ:=BKVOL=0&&SKVOL=0&&BARPOS>LCOUNT&&BARPOS<=LCOUNT+CHLEN&&HIGH>=LENTRYPRICE&&VOL>0;

TJ,BK;

SETSIGPRICETYPE(BK,MAX(OPEN,LENTRYPRICE));

BKVOL=0&&SKVOL=0&&BARPOS>SCOUNT&&BARPOS<=SCOUNT+CHLEN&&LOW<=SENTRYPRICE&&VOL>0,SK;

SETSIGPRICETYPE(SK,MIN(OPEN,SENTRYPRICE));

//死叉发生时记录最近CHLENBAR的低点减去EXTRAPERCENTAGE%%作为开空突破价

//金叉发生时记录最近CHLENBAR的高点加上EXTRAPERCENTAGE%%作为开多突破价

LL1:=LLV(LOW,CHLEN);

SCOUNT1:=VALUEWHEN(CONCROSSUNDER&&BARPOS>=CHLEN-1,BARPOS);// 记录BAR序号以控制只在死叉后CHLENBAR内突破有效

HH1:=HHV(HIGH,CHLEN);

LENTRYPRICE1:=VALUEWHEN(CONCROSSOVER&&BARPOS>=CHLEN-1,HH1*(1+EXTRAPER* 0.01));

LCOUNT1:=VALUEWHEN(CONCROSSOVER&&BARPOS>=CHLEN-1,BARPOS);

//反向突破

BARPOS>SCOUNT1&&BARPOS<=SCOUNT1+CHLEN&&LOW<=SENTRYPRICE&&VOL>0&&BKVOL>0,SP;//有持仓则平仓

SETSIGPRICETYPE(SP,MIN(OPEN,SENTRYPRICE));

TJ1:=BARPOS>SCOUNT1&&BARPOS<=SCOUNT1+CHLEN&&LOW<=SENTRYPRICE&&VOL>0&&BKVOL>0;

TRAILSTOPPRICE:=LLV(REF(L,1),TRAILBAR);

REENTRYCOUNT:=IF(TJ1,-999,IF(BKVOL>0&&BARSBK>0&&VOL>0&&LOW<=TRAILSTOPPRICE,BARPOS,NULL));

REENTRYPRICE:=VALUEWHEN(BKVOL>0&&BARSBK>0&&VOL>0&&LOW<=TRAILSTOPPRICE,HH);

BARPOS>LCOUNT1&&BARPOS<=LCOUNT1+CHLEN&&HIGH>=LENTRYPRICE1&&VOL>0&&SKVOL>0,SP;

SETSIGPRICETYPE(SP,MAX(OPEN,LENTRYPRICE1));

TRAILSTOPPRICE1:=HHV(REF(H,1),TRAILBAR);

REENTRYCOUNT1:=IF(BARPOS>LCOUNT&&BARPOS<=LCOUNT+CHLEN&&HIGH>=LENTRYPRICE1&&VOL>0,-999,IF(SKVOL>0&&BARSSK>0&&VOL>0&&HIGH>TRAILSTOPPRICE1,BARPOS,NULL));

//跟踪止损出场

//计算止损位

//触发止损

BKVOL>0&&BARSBK>0&&VOL>0&&LOW<=TRAILSTOPPRICE,SP;

SETSIGPRICETYPE(SP,MIN(OPEN,TRAILSTOPPRICE));

BKVOL=0&&SKVOL=0&&BARSSP>0&&BARPOS<=REENTRYCOUNT+15&&VOL>0&&HIGH>=REENTRYPRICE,BK;//跟踪止损后记录BAR序号准备再进场

SETSIGPRICETYPE(BK,MAX(OPEN,REENTRYPRICE));

SKVOL>0&&BARSSK>0&&VOL>0&&HIGH>TRAILSTOPPRICE1,BP;

SETSIGPRICETYPE(BP,MAX(OPEN,TRAILSTOPPRICE1));

REENTRYPRICE1:=VALUEWHEN(SKVOL>0&&BARSSK>0&&VOL>0&&HIGH>TRAILSTOPPRICE1,LL);

//出场后在REBARBAR内,价格突破再进场突破价进场

BKVOL=0&&SKVOL=0&&BARSSP>0&&BARPOS<=REENTRYCOUNT1+15&&VOL>0&&LOW<=REENTRYPRICE1,SP;

SETSIGPRICETYPE(SP,MIN(OPEN,REENTRYPRICE1));

AUTOFILTER;

 


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  76楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/8/1 9:06:41    Post IP:180.169.30.6[只看该作者]

请用户自行修改


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
wcq1983
  77楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:127 积分:0 威望:0 精华:0 注册:2016/5/16 13:48:54
  发帖心情 Post By:2016/8/1 11:46:24    Post IP:113.70.150.168[只看该作者]

老师我不会修改啊   我是正式版用户啊   100010089   帮我改一下好吗  谢谢啦
[此贴子已经被作者于2016-8-1 11:47:03编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  78楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/8/1 12:56:11    Post IP:180.173.43.114[只看该作者]

 

[此贴子已经被作者于2016-8-1 12:57:16编辑过]


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  79楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/8/1 13:13:30    Post IP:180.169.30.6[只看该作者]

input:FASTLEN(9);
input:SLOWLEN(18);//  慢速均线周期数
input:CHLEN(12);//  通道突破的周期数
input:EXTRAPER(300);//  通道突破的幅度(万分比),如:300 = 3%
input:TRAILBAR(8);//  通道突破的幅度(万分比),如:300 = 3%
input:REENTRY(10);//  再进场通道突破的周期数

FASTMA:MA(CLOSE,FASTLEN);
SLOWMA:MA(CLOSE,SLOWLEN);
//判断均线是否金叉
CONCROSSOVER:=CROSS(FASTMA,SLOWMA);
//判断均线是否死叉
CONCROSSUNDER:=CROSS(SLOWMA,FASTMA);

//金叉发生时记录最近CHLEN根BAR的高点加上EXTRAPERCENTAGE%作为开多突破价

//死叉发生时记录最近CHLEN根BAR的低点减去EXTRAPERCENTAGE%作为开空突破价
HH:=IF(COUNT(type(1)=1,BARPOS)=0,HHV(HIGH,CHLEN),HHV(HIGH,REENTRY));

LENTRYPRICE:=VALUEWHEN(CONCROSSOVER and BARPOS>=CHLEN-1,HH*(1+EXTRAPER*0.0001));

LCOUNT:=IF(CONCROSSOVER and BARPOS>=CHLEN-1,BARPOS,IF(CROSS(COUNT(type(1)=1,BARPOS),0.5) or CROSS(type(1)=2,0.5),-999,NULL));//记录BAR序号以控制只在金叉后CHLEN根BAR内进场否则放弃本次交易

//死叉发生时记录最近CHLEN根BAR的低点减去EXTRAPERCENTAGE%作为开空突破价

LL:=IF(COUNT(type(1)=1,BARPOS)=0,LLV(LOW,CHLEN),LLV(LOW,REENTRY));

SENTRYPRICE:=VALUEWHEN(CONCROSSUNDER and BARPOS>=CHLEN-1,LL*(1-EXTRAPER*0.0001));

SCOUNT:=IF(CONCROSSUNDER and BARPOS>=CHLEN-1,BARPOS,IF(CROSS(COUNT(type(1)=3,BARPOS)=1,0.5) or CROSS(type(1)=2,0.5),-999,NULL));

//开仓

TJ:=holding=0  and BARPOS>LCOUNT and BARPOS<=LCOUNT+CHLEN and HIGH>=LENTRYPRICE and VOL>0;

if TJ then buy(1,1,limitr,MAX(OPEN,LENTRYPRICE)),IGNORECHECKPRICE;

//SETSIGPRICETYPE(BK,MAX(OPEN,LENTRYPRICE));

if holding=0 and BARPOS>SCOUNT and BARPOS<=SCOUNT+CHLEN and LOW<=SENTRYPRICE and VOL>0 then buyshort(1,1,limitr,MIN(OPEN,SENTRYPRICE)),IGNORECHECKPRICE;

//SETSIGPRICETYPE(SK,MIN(OPEN,SENTRYPRICE));

//死叉发生时记录最近CHLEN根BAR的低点减去EXTRAPERCENTAGE%%作为开空突破价

//金叉发生时记录最近CHLEN根BAR的高点加上EXTRAPERCENTAGE%%作为开多突破价

LL1:=LLV(LOW,CHLEN);

SCOUNT1:=VALUEWHEN(CONCROSSUNDER and BARPOS>=CHLEN-1,BARPOS);// 记录BAR序号以控制只在死叉后CHLEN根BAR内突破有效

HH1:=HHV(HIGH,CHLEN);

LENTRYPRICE1:=VALUEWHEN(CONCROSSOVER and BARPOS>=CHLEN-1,HH1*(1+EXTRAPER* 0.01));

LCOUNT1:=VALUEWHEN(CONCROSSOVER and BARPOS>=CHLEN-1,BARPOS);

//反向突破

if BARPOS>SCOUNT1 and BARPOS<=SCOUNT1+CHLEN and LOW<=SENTRYPRICE and VOL>0 and holding>0 then sell(1,0,limitr,MIN(OPEN,SENTRYPRICE)),IGNORECHECKPRICE;//有持仓则平仓

//SETSIGPRICETYPE(SP,MIN(OPEN,SENTRYPRICE));

TJ1:=BARPOS>SCOUNT1 and BARPOS<=SCOUNT1+CHLEN and LOW<=SENTRYPRICE and VOL>0 and holding>0;

TRAILSTOPPRICE:=LLV(REF(L,1),TRAILBAR);

REENTRYCOUNT:=IF(TJ1,-999,IF(holding>0 and enterbars>0 and VOL>0 and LOW<=TRAILSTOPPRICE,BARPOS,NULL));

REENTRYPRICE:=VALUEWHEN(holding>0 and enterbars>0 and VOL>0 and LOW<=TRAILSTOPPRICE,HH);

if BARPOS>LCOUNT1 and BARPOS<=LCOUNT1+CHLEN and HIGH>=LENTRYPRICE1 and VOL>0 and holding<0 then sellshort(1,0,limitr,MAX(OPEN,LENTRYPRICE1)),IGNORECHECKPRICE;

//SETSIGPRICETYPE(SP,MAX(OPEN,LENTRYPRICE1));

TRAILSTOPPRICE1:=HHV(REF(H,1),TRAILBAR);

REENTRYCOUNT1:=IF(BARPOS>LCOUNT and BARPOS<=LCOUNT+CHLEN and HIGH>=LENTRYPRICE1 and VOL>0,-999,IF(holding<0 and enterbars>0 and VOL>0 and HIGH>TRAILSTOPPRICE1,BARPOS,NULL));

//跟踪止损出场

//计算止损位

//触发止损

if holding>0 and enterbars>0 and VOL>0 and LOW<=TRAILSTOPPRICE then sell(1,0,limitr,MIN(OPEN,TRAILSTOPPRICE)),IGNORECHECKPRICE;

//SETSIGPRICETYPE(SP,MIN(OPEN,TRAILSTOPPRICE));

if holding=0 and holding=0 and enterbars>0 and BARPOS<=REENTRYCOUNT+15 and VOL>0 and HIGH>=REENTRYPRICE then buyshort(1,1,limitr,MAX(OPEN,REENTRYPRICE)),IGNORECHECKPRICE;//跟踪止损后记录BAR序号准备再进场

//SETSIGPRICETYPE(BK,MAX(OPEN,REENTRYPRICE));

if holding<0 and enterbars>0 and VOL>0 and HIGH>TRAILSTOPPRICE1 then sellshort(1,0,limitr,MAX(OPEN,TRAILSTOPPRICE1)),IGNORECHECKPRICE;

//SETSIGPRICETYPE(BP,MAX(OPEN,TRAILSTOPPRICE1));

REENTRYPRICE1:=VALUEWHEN(holding<0 and enterbars>0 and VOL>0 and HIGH>TRAILSTOPPRICE1,LL);

//出场后在REBAR根BAR内,价格突破再进场突破价进场

if holding=0 and holding=0 and exitbars>0 and BARPOS<=REENTRYCOUNT1+15 and VOL>0 and LOW<=REENTRYPRICE1 then sell(1,0,limitr,MIN(OPEN,REENTRYPRICE1)),IGNORECHECKPRICE;



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  80楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/8/1 13:13:48    Post IP:180.169.30.6[只看该作者]

翻译了下大致是这样的,代码里面的LCOUNT赋值是什么意思?


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
总数 109 1.. 上一页 2 3 4 5 6 7 8 9 10 11 下一页