Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共11 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:不能测试

1楼
剑神一笑 发表于:2011/5/25 10:52:04
请问老师 我尝试编了个KD线的模型,群里的朋友帮我改了下,但不能测试,不知道错在哪里? RSV:(CLOSE-LLV(LOW,26))/(HHV(HIGH,26)-LLV(LOW,26))*100; K:SMA(RSV,3,1); D:SMA(K,3,1); if cross(k,d) then begin sellshort(holding<0,0,market); buy(1,1,market); end if cross(d,k) then="then" begin SELL( HOLDING="HOLDING" >0,0,MARKET); BUYSHORT(1,1,MARKET); end 请老师帮忙看看。谢谢了
2楼
剑神一笑 发表于:2011/5/25 10:58:20
请问老师 我尝试编了个KD线的模型,群里的朋友帮我改了下,但不能测试,不知道错在哪里? RSV:(CLOSE-LLV(LOW,26))/(HHV(HIGH,26)-LLV(LOW,26))*100; K:SMA(RSV,3,1); D:SMA(K,3,1); if cross(k,d) then begin sellshort(holding<0,0,market); buy(1,1,market); end if cross(d,k) then begin SELL( HOLDING="HOLDING" >0,0,MARKET); BUYSHORT(1,1,MARKET); end 请老师帮忙看看。谢谢了
3楼
剑神一笑 发表于:2011/5/25 11:00:00
为什么不能分行啊???
4楼
jinzhe 发表于:2011/5/25 11:03:26
测试了下,可以的,你的参数怎么设置的?
5楼
剑神一笑 发表于:2011/5/25 11:17:02
怎么分行呢?


 

RSV:=(CLOSE-LLV(LOW,26))/(HHV(HIGH,26)-LLV(LOW,26))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);

 

SELLSHORT((CROSS(K,D) AND HOLDING<0),HOLDING,MARKET),TFILTER;
SELL((CROSS(D,K)  AND HOLDING>0),HOLDING,MARKET),TFILTER;
BUY((CROSS(K,D)  AND HOLDING=1),1,MARKET),TFILTER;
BUYSHORT((CROSS(D,K) AND HOLDING=1),1,MARKET),TFILTER;

 

我的模型是这个,其实是从设计指南上抄来的。为什么这个不能测试?错在哪里?

6楼
fly 发表于:2011/5/25 11:26:44

1.TFILTER;  只能用于ENTERLONG之类的系统.

请用以下进行测试

RSV:=(CLOSE-LLV(LOW,26))/(HHV(HIGH,26)-LLV(LOW,26))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);

 

{开多}ENTERLONG:CROSS(K,D) ,TFILTER;
{平多}EXITLONG:CROSS(D,K) ,TFILTER;
{开空}ENTERSHORT:CROSS(D,K) ,TFILTER ;
{平空}EXITSHORT:CROSS(K,D) ,TFILTER;

7楼
jinzhe 发表于:2011/5/25 11:34:46

1.tfilter不能与buy,sell等混用;

2.你的开仓条件不对,需要holding=1才能开仓,而交易测试的默认是不持仓的。

8楼
admin 发表于:2011/5/25 11:35:05

http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332 

问题12

9楼
剑神一笑 发表于:2011/5/25 11:37:49

明白了。就是说TFILTER; 是旧交易系统用的。我现在把它删除,改成下面这样。

 


RSV:=(CLOSE-LLV(LOW,26))/(HHV(HIGH,26)-LLV(LOW,26))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);

 

SELLSHORT((CROSS(K,D) AND HOLDING<0),0,MARKET);
SELL((CROSS(D,K)  AND HOLDING>0),0,MARKET);
BUY((CROSS(K,D)  AND HOLDING=1),1,MARKET);
BUYSHORT((CROSS(D,K) AND HOLDING=1),1,MARKET);

 

但照样不行,还要请老师指点。

10楼
剑神一笑 发表于:2011/5/25 11:59:39
搞定了!谢谢大家!!!
共11 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.28906 s, 3 queries.