Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共11 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[求助]请教一个函数或编码的问题!

1楼
mikewhq 发表于:2017/10/10 9:23:50
请教一个问题:假如帐户某品种合约持仓为H手(holding,包括正负,正为多负为空),而策略计算此时帐户该品种合约应该调整为M手(包括正负,正为多负为空),请问有没有根据这种情况命令程序进行调整持仓的函数(很希望有,我觉得这类似于持仓同步,估计很多人需要吧),如果没有这种函数的话,可否麻烦帮编写这样一段代码?(里面有点复杂,涉及H及M的正负情况,还有就是H与M的相对大小,而且持仓某品种也不可能同时持有多单与空单),谢谢了。
2楼
FireScript 发表于:2017/10/10 9:32:06
问题是在图表系统下是无法获取到实际账号的持仓情况的。
3楼
banzhuan 发表于:2017/10/10 9:32:39
你的策略计算结果都会反映在图表上的holding啊,然后再通过持仓同步功能和你的真实账户持仓保持一致
4楼
mikewhq 发表于:2017/10/10 9:37:14
你的意思是可以直接编写成 holding:=M; 这样持仓同步就会自动调整了吗?
5楼
gxx978 发表于:2017/10/10 9:39:31

你的M手也是通过策略计算出来的,那每次买卖都是以M为准的,那holding的值与你的M的值应该是相等的。你是需要M值一但发生变,不管我的开平仓条件是否满足,就进行相应的调整仓位?

6楼
banzhuan 发表于:2017/10/10 9:41:38
holding是图表的虚拟持仓,持仓同步是指将实际持仓调整与holding一致
7楼
mikewhq 发表于:2017/10/10 9:51:11
我说的意思是:M值是随着相关指标而变动的策略计算结果,但持仓是帐户某一时间某一品种的实际持仓,两者并不时时一致,而我希望他们不一致时程序将持仓调整为当时的M值,当两者不同时就符合调整条件,并无其它开平仓条件限制。
8楼
gxx978 发表于:2017/10/10 10:09:51

可以参考下如下代码:

if M<>HOLDING THEN
  begin
  if M>0 and holding>0 then
     begin
     if M>holding then buy(1,m-holding,market);
     if m<holding then sell(1,holding-m,market);
     end
   if M<0 and holding<0 then
      begin
      if abs(M)>abs(holding) then buyshort(1,abs(M)-abs(holding),market);
      if abs(M)<abs(holding) then sellshort(1,abs(M)-abs(holding),market);
      end
   if M>0 and holding<0 then
      begin
      SELLSHORT(1,holding,MARKET);
      buy(1,M,MARKET); 
      end
   if M<0 and holding>0 then
      begin
      SELL(1,holding,MARKET);
      buyshort(1,abs(M),MARKET); 
      end
   end
       

[此贴子已经被作者于2017/10/10 10:17:46编辑过]
9楼
mikewhq 发表于:2017/10/10 10:40:12
好的,太感谢了!
10楼
mikewhq 发表于:2017/10/10 13:45:02
仔细对比过,你这段代码中没有当M=0而holding又不等于0的情况;另外,如果能在软件中加上这么功能的一个可调用的函数就好了。
共11 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.03125 s, 2 queries.