以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 走完k线模式实时止损 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=54943) |
-- 作者:uime -- 发布时间:2013/8/10 16:02:58 -- 走完k线模式实时止损 在测试dual thrust策略时,在走完k线模式下,用15分钟周期测试,想加入实时止损的语句测试该策略的历史效果,请问如何实现?谢谢 |
-- 作者:jinzhe -- 发布时间:2013/8/12 9:16:28 -- 1.走完k线模式下的实时止损:用系统自带的止盈止损功能 2.测评都是k线走完模式下进行的测评,每个开平仓都在k线结束时间进行操作 |
-- 作者:uime -- 发布时间:2013/8/12 10:37:41 -- 以下是引用jinzhe在2013/8/12 9:16:28的发言:
系统自带的止盈止损功能显然不能用于测评。
止损是策略的重要组成部分,金字塔软件有没有变通的解决方案
1.走完k线模式下的实时止损:用系统自带的止盈止损功能 2.测评都是k线走完模式下进行的测评,每个开平仓都在k线结束时间进行操作 |
-- 作者:jinzhe -- 发布时间:2013/8/12 10:48:56 -- 这个不行,走完k线实时止损只有系统自带的才可以 |
-- 作者:qwer123 -- 发布时间:2013/8/12 11:02:06 -- 测评时,在程序里使用limitr指令就可以。 比如持多仓,从最高下跌20点平仓。 r20:=enterbars+1; r21:=hhv(h,r20); r22:=llv(l,r20); r23:=20; hd1:=0.6;//考虑的滑点。 if holding>0 and r21-l>r23 and r20>1 then
begin
sell(holding>0,holding,limitr,r20-r23-hd1);
end if holding<0 and h-r22>r23 and r20>1 then
begin
sellshort(holding<0,abs(holding),limitr,r21+r23+hd1);
end
|
-- 作者:qwer123 -- 发布时间:2013/8/12 11:03:53 -- r20:=enterbars+1; r21:=hhv(h,r20); r22:=llv(l,r20); r23:=20; hd1:=0.6;//考虑的滑点。 if holding>0 and r21-l>r23 and r20>1 then begin sell(holding>0,holding,limitr,r20-r23-hd1); end if holding<0 and h-r22>r23 and r20>1 then begin sellshort(holding<0,abs(holding),limitr,r21+r23+hd1); end
|
-- 作者:uime -- 发布时间:2013/8/14 11:09:03 -- 以下是引用qwer123在2013/8/12 11:03:53的发言:
谢谢回复
holding>0表示持多仓r20:=enterbars+1; r21:=hhv(h,r20); r22:=llv(l,r20); r23:=20; hd1:=0.6;//考虑的滑点。 if holding>0 and r21-l>r23 and r20>1 then begin sell(holding>0,holding,limitr,r20-r23-hd1); end if holding<0 and h-r22>r23 and r20>1 then begin sellshort(holding<0,abs(holding),limitr,r21+r23+hd1); end
r20>1表示已经开仓,和holding>0是不是条件重复了? r21-l>r23这个条件有什么用?
[此贴子已经被作者于2013/8/14 11:09:59编辑过]
|
-- 作者:uime -- 发布时间:2013/8/14 16:09:33 -- 以 //该模型为简单示范模型,用户需根据自己交易经验,修改完善后再实际应用!!! //策略:DUAL THRUST //简介:Dual Thrust与R-Breaker一样,曾长期排名 Future Trust杂志最赚钱的策略。 //类型:日内 //周期: //使用市场: //详情介绍网址:http://www.weistock.com/bbs/dispbbs.asp?boardid=10&Id=30283 //修订时间:2012.11.1 //DESIGNED BY ROGARZ //中间变量 INPUT:N(1,1,100,1),K1(0.7,0.1,1,0.1),K2(0.7,0.1,1,0.1),NMIN(10,1,100,1),SS(1,1,10000,1); CYC:=BARSLAST(DATE<>REF(DATE,1))+1; 昨高:=CALLSTOCK(STKLABEL,VTHIGH,6,-1); 昨低:=CALLSTOCK(STKLABEL,VTLOW,6,-1); 昨收:=CALLSTOCK(STKLABEL,VTCLOSE,6,-1); 开盘价:=VALUEWHEN(CYC=1,OPEN); HH:=HHV(昨高,N);//N日HIGH的最高价 HC:=HHV(昨收,N);//N日CLOSE的最高价 LC:=LLV(昨收,N);//N日CLOSE的最低价 LL:=LLV(昨低,N);//N日LOW的最低价 浮动区间:=MAX(HH-LL,HC-LL);//RANGE 上轨:开盘价+K1*浮动区间; 下轨:开盘价-K2*浮动区间; T1:=TIME>OPENTIME(1) AND TIME<CLOSETIME(0)-NMIN*100; T2:=TIME>=CLOSETIME(0)-NMIN*100; 手数:=SS; //交易条件 开多条件:=C>上轨 AND HOLDING=0; 开空条件:=C<下轨 AND HOLDING=0; //交易系统 开多:BUY(开多条件 AND T1 AND CYC>1,手数,MARKET); 开空:BUYSHORT(开空条件 AND T1 AND CYC>1,手数,MARKET); 收盘平多:SELL(T2,手数,MARKET); 收盘平空:SELLSHORT(T2,手数,MARKET); [此贴子已经被作者于2013/8/14 16:10:21编辑过]
|