以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]有段程序不知道什么问题,请帮忙看一下。谢谢  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=61648)

--  作者:clant
--  发布时间:2014/2/14 13:09:10
--  [求助]有段程序不知道什么问题,请帮忙看一下。谢谢
[求助]有段程序不知道什么问题,请帮忙看一下。谢谢
不知道为什么最后会有1 手,2手的成交?

//asset是100万

每次开仓仓位百分比:=20;
每次开仓手数:ROUND((asset*0.01*每次开仓仓位百分比)/c);
最大持仓仓位百分比:=60;
空头最大可持仓手数:ROUND(((asset*0.01*最大持仓仓位百分比)/C*-1));

panduan:= (-1*空头最大可持仓手数)-(-1*HOLDING)>(ROUND(每次开仓手数/6));

if panduan and HOLDING<=0  then 开仓:=BUYSHORT( 空头开仓条件1,每次开仓手数,MARKET);

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140214130807.jpg
图片点击可在新窗口打开查看


--  作者:jinzhe
--  发布时间:2014/2/14 13:20:18
--  
平空在哪里?
--  作者:clant
--  发布时间:2014/2/14 13:28:29
--  
平空没问题。现在就是开空的问题。
SELLSHORT(空头平仓条件1,HOLDING,market); 


--  作者:jinzhe
--  发布时间:2014/2/14 13:33:54
--  

没有平空钱越来越少开的手数就会变少

 


--  作者:clant
--  发布时间:2014/2/14 13:42:49
--  
panduan:= (-1*空头最大可持仓手数)-(-1*HOLDING)>(ROUND(每次开仓手数/6));   //可开仓手数小于 每次开仓手数的6分之1,      返回1.否则返回0;

if panduan and HOLDING<=0  then 开仓:=BUYSHORT( 空头开仓条件1,每次开仓手数,MARKET); 

这个条件限定了。如果   可开仓手数小于 每次开仓手数的6分之一,是不开仓的啊。。


所以现在不知道为什么有1手,2手的开仓。

--  作者:jinzhe
--  发布时间:2014/2/14 13:55:45
--  
每次开仓手数:ROUND((asset*0.01*每次开仓仓位百分比)/c);
空头最大可持仓手数:ROUND(((asset*0.01*最大持仓仓位百分比)/C*-1));

panduan:= (-1*空头最大可持仓手数)-(-1*HOLDING)>(ROUND(每次开仓手数/6));
 
把这3句解释一下,-1是干嘛的

--  作者:clant
--  发布时间:2014/2/14 14:08:41
--  
空头持仓 HOLDING 是负数,乘上-1是为了把 空头持仓 变成正数

每次开仓手数:ROUND((asset*0.01*每次开仓仓位百分比)/c);      每次开仓仓位百分比 *   总资金/收盘价,获得 每次开仓的手数。

空头最大可持仓手数:ROUND(((asset*0.01*最大持仓仓位百分比)/C*-1));     最大持仓仓位百分比*   总资金/收盘价。获取最大可持仓手数。

panduan:= (-1*空头最大可持仓手数)-(-1*HOLDING)>(ROUND(每次开仓手数/6));     /可开仓手数小于 每次开仓手数的6分之1,      返回1.否则返回0;

if panduan and HOLDING<=0  then 开仓:=BUYSHORT( 空头开仓条件1,每次开仓手数,MARKET);       这个条件限定了。如果   可开仓手数小于 每次开仓手数的6分之一,是不开仓的。
如果   可开仓手数     大于 每次开仓手数的6分之一,开仓。

--  作者:jinzhe
--  发布时间:2014/2/14 14:15:13
--  

:ROUND((asset*0.01*每次开仓仓位百分比)/c);

这个开仓数量的计算原理是什么?


--  作者:clant
--  发布时间:2014/2/14 14:25:39
--  [求助]这段代码有什么问题?5.31正式版图表逐K

:ROUND((asset*0.01*每次开仓仓位百分比)/c);


ROUND取整,四舍五入。

每次开仓仓位百分比:100最大,最小0。、、每次开仓手数相对于总资金最大手数的百分比



(asset总资产*0.01*每次开仓仓位百分比)/收盘价。





--  作者:jinzhe
--  发布时间:2014/2/14 14:33:53
--  
开仓数量不用计算MULTIPLIER?