以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 股票交易信号不执行请帮助修改 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=89102) |
-- 作者:mary888000 -- 发布时间:2016/1/2 15:05:39 -- 股票交易信号不执行请帮助修改 需要帮助的地方有:1‘在股票自动交易中好用,并且可修改的,我有多少钱,每次买多少股,卖多少,可以设定,还有就是这公式涨停的时候信号就有问题,涨停价还卖。 2,我是初学者,希望给每句话的后面加一个详细的注解。 3,请帮助优化一下,给点建议,谢谢。 现在是交易型号不执行。 //runmode:0; input:p(70,5,90,5);//period数据周期类型 //input:initialstop(2,0,3,1),coststop(2,1,3,1),trailingstop(3,1,6,1); //input:money(0,0,10,1); //input:slippage(1,0,1,1); //input:debug(0,0,1,1); variable:myasset=500000; variable:costprice=0,stopline=0; begin if stricmp(marketlabel,\'sh\')=0 then begin commission:=0.001; stamptax:=0.001; transferfee:=0.001; end if stricmp(marketlabel,\'sz\')=0 then begin commission:=0.001; stamptax:=0.001; transferfee:=0; end topband:=ref(hhv(high,period),1)+mindiff; atr:=ref(ma(tr,10),1),noaxis; initialstopnum:=trimprice(initialstop*atr); coststopnum:=trimprice(coststop*atr); trailingstopnum:=trimprice(trailingstop*atr); slippagenum:=slippage*mindiff; end if holding=0 then begin price:=0; lots:=0; if barpos>=period and high>=topband then price:=close+slippagenum; if price>0 then begin mycash:=0.3*cash(0); lots1:=intpart(mycash/(price*volunit))*volunit; if money=0 then begin lots:=lots1; end else begin lots2:=intpart(mycash*0.01*money/(initialstopnum*volunit))*volunit; lots:=min(lots1,lots2); end end if lots>=1 then begin//开多 buy(1,lots,limitr,price); //开仓距离 if workmode=1 then buy(1,lots,limitr,price); end end if holding>0 then begin price:=0; lots:=holding; if initialstop>0 then begin if stopline>0 and low<=stopline then price:=close-slippagenum; if stopline=0 then begin costprice:=trimprice((enterprice*(1+commission)+2*transferfee)/(1-commission-stamptax))+mindiff; stopline:=costprice-initialstopnum; end if stopline<costprice and high-coststopnum>=costprice then stopline:=costprice; if stopline>=costprice and high-trailingstopnum>stopline then stopline:=high-trailingstopnum; end if price>0 then begin sell(1,lots,limitr,price);//平多 costprice:=0; stopline:=0; myasset:=asset; if workmode=1 then sell(1,lots,market,price); end end partline(debug=1 and holding=0,topband,colorred,1),noaxis; if initialstop>0 then begin if holding>0 then begin drawicon(stopline<costprice,stopline,11); drawicon(stopline=costprice,stopline,12); drawicon(stopline>costprice,stopline,10); end end 交易总数:totaltrade,colorwhite,linethick0; 胜率:PERCENTWIN,LINETHICK0; 连亏:MAXSEQLOSS,LINETHICK0; 连赢:MAXSEQWIN,LINETHICK0; 当前资产:ASSET,NOAXIS,COLORGRAY; 盈亏:asset-1000000,noaxis,colorred,linethick1; |
-- 作者:mary888000 -- 发布时间:2016/1/2 15:18:14 -- 我的意思是,我有10000股持仓,没次交易1000股,这样就可以实现当日买卖了 但是在怎样识别我账户里有多少钱,有多少股,每次买卖多少股,怎样实现。 |
-- 作者:jinzhe -- 发布时间:2016/1/4 8:52:55 -- 这个是图表交易,做不到根据账户里面的信息设定下单信息 |