以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  仓位函数怎么写的  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=148972)

--  作者:hwjry
--  发布时间:2017/3/12 14:29:04
--  仓位函数怎么写的
比如说开仓保证金占总资金的比例设为一个变量,开仓保证金占总资金的比例范围从1%-100%,这个怎么写,请老师帮忙!
--  作者:jinzhe
--  发布时间:2017/3/13 9:08:53
--  

input:n(1,1,100,1);

现定义n为你要的1-100的变量

然后直接用百分比下单模式

 

buy(1,n%,market),pertrader;


--  作者:hwjry
--  发布时间:2017/3/14 8:56:02
--  
老师:我举个例子,简单的双均线系统,金叉做多,死叉做空,永远持仓,仓位实行固定比例的仓位ss,比如(ss=35%,10万元钱,我开10手螺纹多单,平仓后资金变成12万,我开12手螺纹空单,空单平仓后资金变成9万,我开9手多单);您看我下面的编写有问题吗?
input:a(20,1,20,1),b(60,20,60,1),ss(1,1,100,1);
ma1:ma(c,a);
ma2:ma(c,b);
if cross(ma1,ma2) then begin
   sellshort(ss%,0,marketr),pertrader;
   buy(holding=0,ss%,marketr),pertrader;
end
 
if cross(ma2,ma1) then begin
   sell(ss%,0,marketr),pertrader;
   buyshort(holding=0,ss%,marketr),pertrader;
end
为什么我优化仓位ss会出问题?图片点击可在新窗口打开查看ss在取值10%-23%的时候亏损,在23%以后又是盈利的呢?这与常理不符啊
图片点击可在新窗口打开查看

--  作者:jinzhe
--  发布时间:2017/3/14 9:03:52
--  

没看到图http://www.weistock.com/bbs/dispbbs.asp?BoardID=16&ID=94734&replyID=&skin=1

按照这个连接里面的方法发图


--  作者:hwjry
--  发布时间:2017/3/15 14:21:10
--  
老师:我举个例子,简单的双均线系统,金叉做多,死叉做空,永远持仓,仓位实行固定比例的仓位ss,比如(ss=35%,10万元钱,我开10手螺纹多单,平仓后资金变成12万,我开12手螺纹空单,空单平仓后资金变成9万,我开9手多单);您看我下面的编写有问题吗?
input:a(20,1,20,1),b(60,20,60,1),ss(1,1,100,1);
ma1:ma(c,a);
ma2:ma(c,b);
if cross(ma1,ma2) then begin
   sellshort(ss%,0,marketr),pertrader;
   buy(holding=0,ss%,marketr),pertrader;
end
 
if cross(ma2,ma1) then begin
   sell(ss%,0,marketr),pertrader;
   buyshort(holding=0,ss%,marketr),pertrader;
end
为什么我优化仓位ss会出问题?
此主题相关图片如下:}$`zze9errhnki`7zejk1t6.png
按此在新窗口浏览图片
ss在取值10%-23%的时候亏损,在23%以后又是盈利的呢?这与常理不符啊

--  作者:hwjry
--  发布时间:2017/3/15 14:24:15
--  
也就是说开平仓手数,在每一次信号出现后都可能是不同的,但是相对于总资金的保证金占比来说又是固定的SS%,我可以通过利润率优选出最优SS%吗?
--  作者:jinzhe
--  发布时间:2017/3/15 14:30:12
--  
input:a(20,1,20,1),b(60,20,60,1),ss(1,1,100,1);
ma1:ma(c,a);
ma2:ma(c,b);
if cross(ma1,ma2) then begin
   sellshort(1,0,marketr);
   buy(holding=0,ss%,marketr),pertrader;
end
 
if cross(ma2,ma1) then begin
   sell(1,0,marketr);
   buyshort(holding=0,ss%,marketr),pertrader;
end

--  作者:jinzhe
--  发布时间:2017/3/15 14:30:40
--  

sell(ss%,0,marketr),pertrader;

条件参数写ss%我不知道你想要干什么,但是没有这样的写法,