以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  [讨论]手动开仓自动平仓的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=8469)

--  作者:wujiazhu
--  发布时间:2011/10/18 10:12:37
--  [讨论]手动开仓自动平仓的问题

 

示例:

假设某投资者是个半自动交易者,手动开仓,自动平仓。那我们如果做到使用tholding呢?

让holding=tholding!!就是让前面有开仓,OK,buy(barpos=datacount-1,实际持仓,market)。

可是在逐周期模式下,tholding只在最后一个周期有值,其余都=0,怎么办?用extgbdata。

 

完整代码如下:

aa:tholding,linethick0;
bb:=extgbdata(\'quanju\');
if bb>0 then buy(barpos=datacount-1,bb,thisclose);
if aa>0 then
begin
 sell(1,0,market);
end
if islastbar then extgbdataset(\'quanju\',aa);

//以上代码可实现 手动开仓,自动平仓。

 

 

搜索到以上代码,想加个卖空方向的,写成

aa:tholding,linethick0;
bb:=extgbdata(\'quanju\');
if bb<0 then buyshort(barpos=datacount-1,-bb,thisclose);
if aa<0 then
begin
 sellshort(1,0,market);
end
if islastbar then extgbdataset(\'quanju\',aa);

 

效果是不会自动平仓,请问是什么问题?


--  作者:26327756l
--  发布时间:2011/10/18 10:29:13
--  

bb:=extgbdata(\'quanju\');
这句每次执行的话,会每次都赋值为0吗?不是的话 是什么值?是原来的值吗?

[此贴子已经被作者于2011-10-18 10:48:23编辑过]

--  作者:wujiazhu
--  发布时间:2011/10/18 22:03:26
--  

请版主答复一下,谢谢


--  作者:阿火
--  发布时间:2011/10/18 23:53:06
--  

应该可以吧。采用固定轮询模式


--  作者:wujiazhu
--  发布时间:2011/10/19 23:30:22
--  

另外我想问一下,如果我把

if aa<0 then
begin
 sellshort(1,0,market);
end

改为

if aa<0 then 
 sellshort(1,0,market);
有什么不同?


--  作者:fly
--  发布时间:2011/11/30 9:41:44
--  

一样.


--  作者:lcgs005
--  发布时间:2012/11/2 13:13:11
--  
这个问题还是无解啊,我的也是同样的问题,写入后不执行,继续等待
--  作者:jinzhe
--  发布时间:2012/11/2 13:24:02
--  
全局变量是赋初值为0,当条件满足时,就会发生变化