以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  标准版如何实现手动下单自动平仓  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=5821)

--  作者:jim5jim
--  发布时间:2011/3/22 13:29:23
--  标准版如何实现手动下单自动平仓

目标:手动下单后,前台模型按均线价格平仓

我写的代码如下

input:m(10,1,200,5);
runmode:0;
lots:EXTGBDATA(\'LOTS\'),linethick0;
ma1:ma(c,m);
if islastbar and lots<>0 then
begin
 if lots<0 and c>ma1 then
 begin
   extgbdataset(\'LOTS\',0);
   sellshort(1,abs(lots),market);
 end;
  if lots>0 and c<ma1 then
 begin
   extgbdataset(\'LOTS\',0);
   sell(1,abs(lots),market);
 end;


end;
问题一:上面的代码不能产生平仓的动作,

问题二:上面的代码通过设置全局变量lots告诉模型需要处理的仓位,也就是说手工下单之后,设置全局变量lots.有没有办法让金字塔自己去取实际的仓位?我知道tholding可以实现,但tholding需要专业版才支持,标准版中如何取得实际仓位?


--  作者:bbking
--  发布时间:2011/3/22 13:36:08
--  
begin extgbdataset(\'LOTS\',0); sellshort(1,abs(lots),market); 顺序写反了
--  作者:王锋
--  发布时间:2011/3/22 13:38:07
--  

你这种写法用在图表上是有问题的,因为没有之前的BUY开仓信号,SELL将不会得到执行,因为不存在虚拟持仓信号,SELL会被认为是无效信号。但是在后台的TSELL则无此问题。此外图表的EXITLONG也无此问题


--  作者:jim5jim
--  发布时间:2011/3/22 13:38:23
--  

哪里写反了?


--  作者:jim5jim
--  发布时间:2011/3/22 13:46:36
--  
以下是引用王锋在2011-3-22 13:38:07的发言:

你这种写法用在图表上是有问题的,因为没有之前的BUY开仓信号,SELL将不会得到执行,因为不存在虚拟持仓信号,SELL会被认为是无效信号。但是在后台的TSELL则无此问题。此外图表的EXITLONG也无此问题

原因我知道.

  TSELL需要专业版.

  exitlong不能指定手数,需要每次去界面里设置

 

也就是说标准版下不能很好的实现手动开仓,模型自动平仓?


--  作者:王锋
--  发布时间:2011/3/22 13:50:47
--  
以下是引用jim5jim在2011-3-22 13:46:36的发言:

原因我知道.

  TSELL需要专业版.

  exitlong不能指定手数,需要每次去界面里设置

 

也就是说标准版下不能很好的实现手动开仓,模型自动平仓?

是的,没有BUY的条件,SELL是不会被执行的

 


--  作者:王锋
--  发布时间:2011/3/22 14:13:44
--  
exitlong的界面上平仓可以设置0,这样就可以完成全平操作
--  作者:jim5jim
--  发布时间:2011/3/22 14:37:24
--  

测试了,exitlong一样不出去委托


--  作者:王锋
--  发布时间:2011/3/22 15:08:44
--  
exitlong 不行就肯定是你的设置问题了!
--  作者:jim5jim
--  发布时间:2011/3/22 16:11:03
--  
exitlong会去取实际的仓位么?