以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  请版主帮看看我的平仓代码有问题吗,谢谢  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=163405)

--  作者:大豆0911
--  发布时间:2018/5/13 22:57:27
--  请版主帮看看我的平仓代码有问题吗,谢谢

//交易条件 
PKD1:=sumbars(PKD,1)>10; 
PDD1:=sumbars(PDD,1)>10;
PPKD:=REF(O,sumbars(PKD,1))-2;
PPDD:=REF(O,sumbars(PDD,1))+2;

 
//交易系统 
 
if PKD  then begin 
SELLSHORT(HOLDING<0,0,limitr,PPKD); //交易系统之PKD操作 
end 
 
if PDD  then begin 
SELL(HOLDING>0,0,limitr,PPDD); //交易系统之PDD操作 
end 

 

if PKD1  then begin 
SELLSHORT(HOLDING<0,0,market); //交易系统之PKD操作 
end 
 
if PDD1  then begin 
SELL(HOLDING>0,0,market); //交易系统之PDD操作 
end 
 


--  作者:wenarm
--  发布时间:2018/5/14 7:01:05
--  
语法上没有错误

--  作者:大豆0911
--  发布时间:2018/5/14 20:10:44
--  请版主帮忙分析下

//交易条件
PKD1:=sumbars(PKD,1)>10;
PDD1:=sumbars(PDD,1)>10;

PPKD:=REF(O,sumbars(PKD,1))-2;
PPDD:=REF(O,sumbars(PDD,1))+2;


//交易系统

if PKD then begin
SELLSHORT(HOLDING<0,0,limitr,PPKD); //交易系统之PKD操作
end

if PDD then begin
SELL(HOLDING>0,0,limitr,PPDD); //交易系统之PDD操作
end

 

if PKD1 then begin
SELLSHORT(HOLDING<0,0,market); //交易系统之PKD操作
end

if PDD1 then begin
SELL(HOLDING>0,0,market); //交易系统之PDD操作
end

 

版主好,我担心的问题,是在PKD和PDD后,无论成交与否,图表默认的持仓手数已经为0,不满足HOLDING>0或<0的条件。此时即使PKD或PDD未成交,后续PKD1和PDD1的平仓委托也无法发出。请问这个问题可以解决吗?

 

 



--  作者:wenarm
--  发布时间:2018/5/15 8:11:08
--  
你说的问题,压根不是问题。既然图表虚拟持仓已经是0.其他平仓条件成立,也是无效的,因为无仓位可平。总不能无中生有吧。
并且图表作为虚拟的环境,无法直接操作实际账户的状态。图表和实际账户之间本身就是串联。只有图表触发动作,实际账户才能跟着做。如果图表都没有持仓。实际账户持仓再多也没有。
你要做的是理清楚图表的机制。

--  作者:大豆0911
--  发布时间:2018/5/16 22:12:55
--  
以下是引用wenarm在2018/5/15 8:11:08的发言:
你说的问题,压根不是问题。既然图表虚拟持仓已经是0.其他平仓条件成立,也是无效的,因为无仓位可平。总不能无中生有吧。
并且图表作为虚拟的环境,无法直接操作实际账户的状态。图表和实际账户之间本身就是串联。只有图表触发动作,实际账户才能跟着做。如果图表都没有持仓。实际账户持仓再多也没有。
你要做的是理清楚图表的机制。

版主你没细看我的问题,算了,我自己通过其他方法已经解决了