以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]图表序列模式下的反手编法  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=3135)

--  作者:j888fff
--  发布时间:2010/10/7 13:31:07
--  [求助]图表序列模式下的反手编法

现有交易系统:

kd条件成立,开仓。开仓价为kcj.

pd条件成立,平仓。平仓价为pcj.

 

现加入条件gg。

多头开仓后持有,当平仓时,如此笔交易为亏损,即kcj>pcj,且gg条件成立。则开反向仓。空头仓反之。

求助该逻辑如何编写?

图表序列模式,主要用来测试用。所以,交易系统的HOLDING等函数思路就用不上了。

 

例:为简单起见,只举例单向开多情况。

m5:=ma(c,5) ;  //均线系统

m8:=ma(c,8) ;

 

RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100 ;  //KDJ系统
K:=SMA(RSV,3,1) ;
D:=SMA(K,3,1) ;
J:=3*K-2*D ;

 

tr1:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW)) ; //atr系统
atr:=MA(TR1,14) ;

 

gg:=tr1<atr ;

kd:=m5>m8 and j>30 ;

pd:=j<80 ;

 

 

//双向交易请注意先平后开的原则
{平多}EXITLONG:  pd  , TFILTER ;
{开多}ENTERLONG: kd , TFILTER ;

 

 

 


--  作者:admin
--  发布时间:2010/10/7 23:32:12
--  

 

使用1.995版可以直接兼容下列平仓反手指令
pd  , BPK;
kd , SPK;


--  作者:j888fff
--  发布时间:2010/10/9 22:47:30
--  
以下是引用admin在2010-10-7 23:32:12的发言:

 

使用1.995版可以直接兼容下列平仓反手指令
pd  , BPK;
kd , SPK;

pdf:=pd1,spk ;
pkf:=pk1,bpk ;

//双向交易请注意先平后开的原则
{开多}ENTERLONG: kd1 {or kd2} , TFILTER ;
{开空}ENTERSHORT:kk1 {or kk2} , TFILTER ;
{平多}EXITLONG: if(time<150000,pdf,pd1) or time>=150000 , TFILTER ;
{平空}EXITSHORT:if(time<150000,pkf,pk1) or time>=150000 , TFILTER ;

如上,SPK,bpk不起作用。

 

//双向交易请注意先平后开的原则
{开多}ENTERLONG: kd1 {or kd2} , TFILTER ;
{开空}ENTERSHORT:kk1 {or kk2} , TFILTER ;
{平多}EXITLONG: pd1,spk , or time>=150000 , TFILTER ;
{平空}EXITSHORT:pk1,bpk , or time>=150000 , TFILTER ;

如上,无效表达式。

 

而为了日内模式,or time>=150000 又是必加的,

如果将SPK,BPK加到or time>=150000 之后,如:pd1 or time>=150000,spk,tfilter ;

又会产生过夜持仓。

 

该如何编制为好呢?



[此贴子已经被作者于2010-10-9 22:58:30编辑过]

--  作者:wattwei
--  发布时间:2010/10/9 23:23:14
--  
admin的意思是指金字塔兼容了文华的开平仓指令。文华的指令你懂的。SPK,BPK可以分别拆开为SP,SK;BP,BK;
针对你的系统要求,分开用就可以了


--  作者:j888fff
--  发布时间:2010/10/10 14:57:58
--  
以下是引用wattwei在2010-10-9 23:23:14的发言:
admin的意思是指金字塔兼容了文华的开平仓指令。文华的指令你懂的。SPK,BPK可以分别拆开为SP,SK;BP,BK;
针对你的系统要求,分开用就可以了

我以前没接触过文华,但看了SPK等函数的说明,基本也会用。

这次主要是为了添加反手指令,但因为所编系统的复杂性,发现很难通过简单的添加SPK等函数来达到我的要求。