以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请问老师这个写了一大半的策略如何实现 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=137884) |
-- 作者:kotb -- 发布时间:2016/8/11 16:25:58 -- 请问老师这个写了一大半的策略如何实现 这个程序不知错在哪里,编译通过了,图上显示出来重复开仓,请老师改正,谢谢 源码 ———————————————————— input:m(26,1,100,1),n(2,0.1,99,0.1); MID:ma(close,m); UPPER:MID + N * std(close,m); LOWER:MID - N * std(close,m); //交易条件 开多:=c>=upper and holding=0; 开空:=lower>=c and holding=0; 平多:=mid>=c and holding>0; 平空:=c>=mid and holding<0; variable:MAXC=500000;//maxc是权益最大值 MAXC:=hhv(asset,180);//180个周期内权益最大值 if asset > MAXC then MAXC:=asset; if asset<maxc*0.9 and CASH(0)>maxc*0.8 THEN PosNum:=asset*0.03/600 ;//当平仓资金权益从最高点回撤大于10%小于20%,开仓比例为本金的3%/600元; else if asset<maxc*0.8 and asset>maxc*0.7 THEN PosNum:=asset*0.015/600 ;//当平仓资金权益从最高点回撤大于20%小于30%,仓位使用为本金的1.5%/600元; else if asset<maxc*0.7 and asset>maxc*0.6 THEN PosNum:=asset*0.0075/600 ;//当平仓资金权益从最高点回撤大于30%小于40%,仓位使用为本金的0.75%/600元; else if else PosNum:=asset*0.03/600;//正常情况(平仓资金权益从最高点回撤小于10%),开仓比例为本金的3%/600元; 仓位:=PosNum; //交易系统 buy(开多,仓位,MARKET); buyshort(开空,仓位,MARKET); sell(平多,0,MARKET); sellshort(平空,0,MARKET); 盈亏:asset-500000,noaxis,colorred,linethick2; —————————————————————————— |
-- 作者:jinzhe -- 发布时间:2016/8/11 16:28:47 -- 什么是“重复开仓”? |
-- 作者:kotb -- 发布时间:2016/8/11 16:42:07 -- [此贴子已经被作者于2016-8-11 16:43:47编辑过]
|
-- 作者:jinzhe -- 发布时间:2016/8/11 16:48:40 -- http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=31614&page=3 看不到图,用户按照这个办法发图 |
-- 作者:kotb -- 发布时间:2016/8/12 8:44:14 -- 并且轨道上轨UPPER也无法显示 [此贴子已经被作者于2016-8-12 8:45:05编辑过]
|
-- 作者:jinzhe -- 发布时间:2016/8/12 8:51:59 -- input:m(26,1,100,1),n(2,0.1,99,0.1);
后面的esle不当使用影响到了前面,所以我做了对应的修改 |