以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请帮忙看看有没有问题 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=77385) |
-- 作者:l13901847655 -- 发布时间:2015/4/9 1:49:02 -- 请帮忙看看有没有问题 //图表交易,15分钟周期,固定间隔2秒 //不设止损,通过浮动止损来止盈:当浮盈达到浮动止损跟踪值的2倍时,浮动止损启动 //日内仓和隔夜仓有不同的平仓条件; VARIABLE:CANGWEI=0,TRADEDATE=0,TRADETIME=0; //全局变量:CANGWEI=1表示日内仓,CANGWEI=2表示隔夜仓;TRADEDATE用于保存开仓日期,TRADETIME用于保存开仓时间 TRAIL:=10; //浮动止损跟踪值为常量 ABB:=(TIME0-TIMETOT0(DYNAINFO(207))<=3) OR NOT(ISLASTBAR); //多单浮动止损 HH:=HHV(H,ENTERBARS+1); //自开仓以来最高价 IF HOLDING>0 AND (HH-ENTERPRICE)/TRAIL>=2 THEN SELL(DYNAINFO(7)<(ENTERPRICE+INTPART((HH-ENTERPRICE)/TRAIL-2)*TRAIL),HOLDING,MARKET); //空单浮动止损价 LL:=LLV(L,ENTERBARS+1); //自开仓以来最低价 IF HOLDING<0 AND (ENTERPRICE-LL)/TRAIL>=2 THEN SELLSHORT(DYNAINFO(7)>(ENTERPRICE-INTPART((ENTERPRICE-LL)/TRAIL-2)*TRAIL),HOLDING,MARKET); //老仓判断: IF CANGWEI=1 AND HOLDING<>0 AND ((CURRENTDATE-TRADEDATE=0 AND TRADETIME<180000 AND CURRENTTIME>180000) OR //当前日期与成交日期一致,成交时间为日盘时段,当前为夜盘时段; (CURRENTDATE-TRADEDATE=1 AND TRADETIME<180000) OR //成交日期为昨日,成交时间为日盘时段 (CURRENTDATE-TRADEDATE=1 AND TRADETIME>180000 AND CURRENTTIME>180000) OR //成交日期为昨日,成交时间为夜盘时段,当前为夜盘时段 (CURRENTDATE-TRADEDATE>1)) //当前日期与成交日期相差2天以上,周末夜盘如何处理还没想好 THEN CANGWEI:=2;
//平多 IF ((CANGWEI=1 AND 今仓平多条件) OR (CANGWEI=2 AND 老仓平多条件)) AND ABB THEN SELL(HOLDING>0,HOLDING,MARKET); //平空 IF ((CANGWEI=1 AND 今仓平空条件) OR (CANGWEI=2 AND 老仓平空条件)) AND ABB THEN SELLSHORT(HOLDING<0,HOLDING,MARKET);
//开多 IF 开多条件 AND HOLDING<=0 AND ABB THEN BEGIN SELLSHORT(HOLDING<0,HOLDING,MARKET); BUY(1,1,MARKET); CANGWEI:=1; //开仓后标记日内仓 TRADEDATE:=CURRENTDATE; //记录开仓日期 TRADETIME:=CURRENTTIME; //记录开仓时间 END; //开空 IF 开空条件 AND HOLDING>=0 AND ABB THEN BEGIN SELL(HOLDING>0,HOLDING,MARKET); BUYSHORT(1,1,MARKET); CANGWEI:=1; TRADEDATE:=CURRENTDATE; TRADETIME:=CURRENTTIME; END; |
-- 作者:jinzhe -- 发布时间:2015/4/9 8:58:18 -- 编译没有问题的话就可以进行测试了 |
-- 作者:l13901847655 -- 发布时间:2015/4/9 15:24:14 -- 编译过了,没有问题。不过现在模拟账户不是不能用吗,所以想确认:
1、HH:=HHV(H,ENTERBARS+1) 是用来表示自开仓以来的最高价
2、CURRENTDATA,CURRENTTIME 可以用来数学计算
3、想请教一下,周末隔夜仓有没有好的判断方法
|
-- 作者:jinzhe -- 发布时间:2015/4/9 15:27:20 -- 1.是 2.可以 3.判断当前的持仓是不是上个礼拜开的意思吗? |
-- 作者:l13901847655 -- 发布时间:2015/4/9 15:46:42 -- 以下是引用jinzhe在2015/4/9 15:27:20的发言:
1.是 2.可以 3.判断当前的持仓是不是上个礼拜开的意思吗? 周五的夜盘,对于下周一来说,也属于日内的仓位,但如果用 CURRENTDATE-TRADEDATE>1表示就变成隔夜仓位了,因为日期之间间隔了周6和周日2天。不知道有没有好的解决办法?
还有请教一下,金字塔模拟用不了,开户的期货公司也没有模拟账户,所以想找家有模拟账户的期货公司再开个户好进行测试。不过好像哪里看到过,CTP的模拟账户不好用,有这个说法吧?
另外,模拟帐户和仿真账户有什么区别?
谢谢!
|
-- 作者:jinzhe -- 发布时间:2015/4/9 15:56:50 -- 用date<>valuewhen(开仓条件,date)来判断,不想等就是不同天了 方针和模拟是不同的交易柜台,是不一样的,用哪个模拟一下看用户的需求了 |
-- 作者:l13901847655 -- 发布时间:2015/4/9 16:22:59 -- 以下是引用jinzhe在2015/4/9 15:56:50的发言:
用date<>valuewhen(开仓条件,date)来判断,不想等就是不同天了 方针和模拟是不同的交易柜台,是不一样的,用哪个模拟一下看用户的需求了 DATE是指金字塔时间还是北京时间? 我想要区分的,是今天开的仓位(昨日21:00-今天15:00),和昨天及以前开的仓位(昨天15:00以前),这种情况下DATE能起作用吗?
仿真和模拟,是不是理解为仿真-软件,模拟-账户? |
-- 作者:jinzhe -- 发布时间:2015/4/9 16:32:39 -- 1date的取值是看你用的是哪个时间坐标,用哪个坐标就返回对应坐标的值 2不是,都是模拟的交易帐号,具体的可以去自己的期货公司问一下
|
-- 作者:l13901847655 -- 发布时间:2015/4/9 16:39:07 -- 以下是引用jinzhe在2015/4/9 16:32:39的发言:
1date的取值是看你用的是哪个时间坐标,用哪个坐标就返回对应坐标的值 2不是,都是模拟的交易帐号,具体的可以去自己的期货公司问一下
如果是4月8日23:00开仓,从日线上看是4月9日,从15分钟周期上是4月8日。
如果图表用的是15分钟周期,这时返回的DATE是4月8日还是9日? |
-- 作者:jinzhe -- 发布时间:2015/4/9 16:51:47 -- 你用的是北京时间坐标?改成金字塔时间坐标就是在同一天 |