以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  各位老师帮我看看后台交易语句是否正确  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=12413)

--  作者:id773161
--  发布时间:2012/6/14 14:08:14
--  各位老师帮我看看后台交易语句是否正确

麻烦了

 

//建立多头的进场条件
if ysr>yru and ysr>yzn and ysr>yl and ysr>yta and ysr>ycf and ysr>yrb and ysr>ycu and ysr>yy and ysr>yp and ysr>ya and ysr>ym then
     begin
     buy(1 and holding=0 and t1 and c>o1 and a4 ,1,thisclose); 
     tbuy(1 and holding=0 and t1 and c>o1 and a4 ,1,lmt,c,0,\'\',\'srx00\');
     end

//平多仓
if ysr<yru or ysr<yzn or ysr<yl or ysr<yta or ysr<ycf or ysr<yrb or ysr<ycu or ysr<yy or ysr<yp or ysr<ya or ysr<ym then
 begin
 SELL(1 and holding>0,0,thisclose);
 tsell(1 and b5 and holding > 0,0,lmt,c,0,\'\',\'srx00\');
 end    

if  (t2)  then
 begin
 SELL(1 and holding>0,0,thisclose);
 tsell(1 and holding > 0,0,lmt,c,0);
 end    
if  (c<o1 and b5)  then
 begin
 SELL(1 and holding>0,0,thisclose);
 tsell(1 and holding > 0,0,lmt,c,0);
 end    

 

//建立空头的进场条件

if ysr<yru and ysr<yzn and ysr<yl and ysr<yta and ysr<ycf and ysr<yrb and ysr<ycu and ysr<yy and ysr<yp and ysr<ya and ysr<ym  then
     begin
  
     buyshort(1 and holding = 0 and t1 and c<o1 and b5,1,thisclose);
     tbuyshort(1 and holding = 0 and t1 and c<o1 and b5,1,lmt,c,0,\'\',\'srx00\');
     end

 

//平空仓
if ysr>yru or ysr>yzn or ysr>yl or ysr>yta or ysr>ycf or ysr>yrb or ysr>ycu or ysr>yy or ysr>yp or ysr>ya or ysr>ym then
 begin
 sellshort(1 and holding<0,0,thisclose);
 tsellshort(1 and b5 and holding < 0,0,lmt,c,0,\'\',\'srx00\');
 end        

 

if (t2) then
 begin
 sellshort(1 and holding<0,0,thisclose);
 TSELLshort(1 and holding <0,0,lmt,c,0);
 end

if  (c<o1 and b5)  then
 begin
 SELLshort(1 and holding<0,0,thisclose);
 tsellshort(1 and holding< 0,0,lmt,c,0);
 end    

 

我加入后台交易  没反应  不知道问题在哪?


--  作者:jinzhe
--  发布时间:2012/6/14 14:25:46
--  
为何要在后台公式里面写图表语句呢
--  作者:id773161
--  发布时间:2012/6/14 14:26:52
--  

22、如何在后台程序化交易里一个品种的多个策略的交易

 后台程序化函数例如THOLDING返回的是当前我们实际的持仓,故多策略同品种会出现因为持仓和资金相互干扰的现象。解决方案是使用图表的HOLING的虚拟持仓和资金与后台的TBUY,TSELL等混用的方案,每个策略里的持仓和资金都是自己独立的,这样就完全可以避免这种共振现象,但是推荐高级用户使用。

  参考此贴 http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=4846 第5楼


--  作者:Leon
--  发布时间:2012/6/14 14:28:03
--  
去掉buy,sell等图表交易语句。
--  作者:id773161
--  发布时间:2012/6/14 14:31:01
--  

仓位读取用什么函数?THOLDING =0  不能用,一用不停开仓。

 

SELL(1,TRADE_NUM,THISCLOSE);
TSELL(1,TRADE_NUM,LMT,C,0,\'0011\');
我是把下单指令加上图表的sell跟buy,trade_num是控制下单手数的参数
IF HOLDING=0 AND CC=1 AND BARPOS-KPOS>=1 THEN BEGIN
 BUY(1,TRADE_NUM,THISCLOSE);
 TBUY(1,TRADE_NUM,LMT,C,0,\'0011\');
END;
用图表的holding来控制

[此贴子已经被作者于2012-6-14 14:32:40编辑过]

--  作者:Leon
--  发布时间:2012/6/14 14:33:44
--  
用THOLDING2试试THOLDING是虚拟持仓。
--  作者:id773161
--  发布时间:2012/6/14 14:39:46
--  

THOLING与THODING2的不同:THOLING会返回我们当前的可用持仓,发出平仓指令之后,即便没有成交,持仓也会被扣掉,故如果用THOLING做为开仓条件,会有前次平仓没有成交而马上开仓带来的资金不足情况,如果用户需要知道当前自己的实际持仓,那么请用THODING2,他不会因为你的挂单未成交而导致的实际持仓被扣情况。

 

THOLDING与图表HOLDING最大的不同在于,THOLDING是与你真实持仓一致的函数,只有当我们的委托下单成交后才会有所变化,而HOLDING是虚拟持仓,BUY执行过后立即变化。

由于我们前面的代码在执行了平仓操作后,THOLDING不会马上变成0,故会导致TBUY的THOLDING=0条件不被成立,导致没有反手信号。

正确的反手写法

[此贴子已经被作者于2012-6-14 14:40:54编辑过]

--  作者:id773161
--  发布时间:2012/6/14 14:44:56
--  
救命······啊 , 高人请指点下啊·······
[此贴子已经被作者于2012-6-14 14:45:38编辑过]