以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- [求助]这个函数上次平仓量EXITVOL,如何用 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=136751) |
-- 作者:a450171 -- 发布时间:2016/7/23 21:34:24 -- [求助]这个函数上次平仓量EXITVOL,如何用 我只会这样写, EXITVOL<n,可是图表不显示,原来的信号全消息失,只剩K线了.什么原因 我想表达上次平仓量小于n=10次时不再开仓.要如何写.希望能得到帮助.谢谢 多开: BUY(cc and c>ref(hhv(h,1),1) and c>o and 开盘时间 and NETPROFIT<=0 and HOLDING=0 and EXITVOL<n, if(NUMPROFIT(1)<0,n, if(NUMPROFIT(1)=0,n,1)),market),colorYELLOW; |
-- 作者:a450171 -- 发布时间:2016/7/24 8:16:47 -- 也可以这样问:加仓后平了仓不再开仓如何写? |
-- 作者:a450171 -- 发布时间:2016/7/24 21:45:45 -- 用法:EXITVOL 得到当前位置的上次平仓量 EXITVOL.这个函数是不是有问题?缺少了这句:若之前没有开仓记录返回-1 EXITBARS这个函数用法 返回上次平仓到当前的周期数,若之前没有开仓记录返回-1 |
-- 作者:jinzhe -- 发布时间:2016/7/25 9:21:27 -- 开仓语句就这一个吗? |
-- 作者:a450171 -- 发布时间:2016/7/25 11:00:17 -- 加了这个条件后(and EXITVOL<3),所有开平信号全不见了,我想要结果是上次平仓量如果大于3手不再开仓如何写才能实现 . INPUT:N(6,1,100,1); cc:=(abs(c-o)>(h-max(c,o))) and (abs(c-o)>(min(c,o)-l)); 开盘时间:=(time>210000 or (time>000000 and time<145900)); 空损条件:=c>o and c>ref(h,1) and l>ref(l,1) and 开盘时间; 多损条件:=c<o and c<ref(l,1) and h<ref(h,1) and 开盘时间; 空推条件:=c>o and c>ref(h,1) and 开盘时间; 多推条件:=c<o and c<ref(l,1) and 开盘时间; 平空条件:=c>o and h<ref(l,enterbars) and 开盘时间; 平多条件:=c<o and l>ref(h,enterbars) and 开盘时间; 多开条件:=c>o and c>ref(h,1) and cc and l>ref(l,1) and 开盘时间; 空开条件:=c<o and h<ref(h,1) and cc and c<ref(l,1) and 开盘时间; if 开盘时间 then begin SELLSHORT(平空条件 and holding<0,0,MARKET),COLORWHITE; SELLSHORT(空推条件 and holding<-1,0,MARKET),COLORWHITE; SELLSHORT(空损条件 and holding=-1,0,MARKET),COLORWHITE; BUY(多开条件 and EXITVOL<3 and holding=0,n,MARKET),colorYELLOW; end if 开盘时间 then begin SELL(平多条件 and holding>0,0,MARKET),COLORWHITE; SELL(多损条件 and holding=1,0,MARKET),COLORWHITE; SELL(多推条件 and holding>1,0,MARKET),COLORWHITE; BUYSHORT(空开条件 and EXITVOL<3 and holding=0,n,market),COLORCYAN; end 加多:BUY(HOLDING>0 and c>o and cc and l>ref(h,enterbars) and 开盘时间,n,MARKET),COLORMAGENTA; 加空:BUYSHORT(HOLDING<0 and c<o and cc and h<ref(l,enterbars) and 开盘时间,n,MARKET),COLORGREEN; 收盘平空:SELLSHORT(time>=145900 and time<210000,0,market),COLORWHITE; 收盘平多:SELL(time>=145900 and time<210000,0,market),COLORWHITE; |
-- 作者:a450171 -- 发布时间:2016/7/25 11:06:04 -- 上次平仓量 EXITVOL>n手不再开仓,即加过仓后平仓,则不再开仓 |
-- 作者:jinzhe -- 发布时间:2016/7/25 11:09:32 -- INPUT:N(6,1,100,1);
end if 开盘时间 then begin 加多:BUY(HOLDING>0 and c>o and cc and l>ref(h,enterbars) and 开盘时间,n,MARKET),COLORMAGENTA;
|
-- 作者:jinzhe -- 发布时间:2016/7/25 11:09:51 -- 当上次开仓手数是3手以下的话,你的代码是不是就不运行了? |
-- 作者:a450171 -- 发布时间:2016/7/25 11:14:40 -- 你看没用这个函数EXITVOL前是运行的.用了这个函数开平仓信号就不见了 下面这个就是没用EXITVOL函数的. INPUT:N(1,1,100,1); cc:=(abs(c-o)>(h-max(c,o))) and (abs(c-o)>(min(c,o)-l)); 开盘时间:=(time>210000 or (time>000000 and time<145900)); 空损条件:=c>o and c>ref(h,1) and l>ref(l,1) and 开盘时间; 多损条件:=c<o and c<ref(l,1) and h<ref(h,1) and 开盘时间; 空推条件:=c>o and c>ref(h,1) and 开盘时间; 多推条件:=c<o and c<ref(l,1) and 开盘时间; 平空条件:=c>o and h<ref(l,enterbars) and 开盘时间; 平多条件:=c<o and l>ref(h,enterbars) and 开盘时间; 多开条件:=c>o and c>ref(h,1) and cc and l>ref(l,1) and 开盘时间; 空开条件:=c<o and h<ref(h,1) and cc and c<ref(l,1) and 开盘时间; if 开盘时间 then begin SELLSHORT(平空条件 and holding<0,0,MARKET),COLORWHITE; SELLSHORT(空推条件 and holding<-1,0,MARKET),COLORWHITE; SELLSHORT(空损条件 and holding=-1,0,MARKET),COLORWHITE; BUY(多开条件 and holding=0,n,MARKET),colorYELLOW; end if 开盘时间 then begin SELL(平多条件 and holding>0,0,MARKET),COLORWHITE; SELL(多损条件 and holding=1,0,MARKET),COLORWHITE; SELL(多推条件 and holding>1,0,MARKET),COLORWHITE; BUYSHORT(空开条件 and holding=0,n,market),COLORCYAN; end 加多:BUY(HOLDING>0 and c>o and cc and l>ref(h,enterbars) and 开盘时间,n,MARKET),COLORMAGENTA; 加空:BUYSHORT(HOLDING<0 and c<o and cc and h<ref(l,enterbars) and 开盘时间,n,MARKET),COLORGREEN; 收盘平空:SELLSHORT(time>=145900 and time<210000,0,market),COLORWHITE; 收盘平多:SELL(time>=145900 and time<210000,0,market),COLORWHITE; 净利润:NETPROFIT,noaxis,colorffffff,linethick1,LINEDOT; 次数:TOTALTRADE,colorYELLOW,linethick0; 回撤:MaxDrawDown,colorFF,linethick0; |
-- 作者:a450171 -- 发布时间:2016/7/25 11:17:02 -- 下面这个是用了 INPUT:N(1,1,100,1);
end if 开盘时间 then begin 加多:BUY(HOLDING>0 and c>o and cc and l>ref(h,enterbars) and 开盘时间,n,MARKET),COLORMAGENTA;
|