Rss & SiteMap

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

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

标题:请帮忙看看有没有问题

1楼
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;

2楼
jinzhe 发表于:2015/4/9 8:58:18

编译没有问题的话就可以进行测试了

3楼
l13901847655 发表于:2015/4/9 15:24:14

编译过了,没有问题。不过现在模拟账户不是不能用吗,所以想确认:

 

1、HH:=HHV(H,ENTERBARS+1)  是用来表示自开仓以来的最高价

 

2、CURRENTDATA,CURRENTTIME 可以用来数学计算

 

3、想请教一下,周末隔夜仓有没有好的判断方法

 

4楼
jinzhe 发表于:2015/4/9 15:27:20

1.是

2.可以

3.判断当前的持仓是不是上个礼拜开的意思吗?

5楼
l13901847655 发表于:2015/4/9 15:46:42
以下是引用jinzhe在2015/4/9 15:27:20的发言:

1.是

2.可以

3.判断当前的持仓是不是上个礼拜开的意思吗?

周五的夜盘,对于下周一来说,也属于日内的仓位,但如果用 CURRENTDATE-TRADEDATE>1表示就变成隔夜仓位了,因为日期之间间隔了周6和周日2天。不知道有没有好的解决办法?

 

还有请教一下,金字塔模拟用不了,开户的期货公司也没有模拟账户,所以想找家有模拟账户的期货公司再开个户好进行测试。不过好像哪里看到过,CTP的模拟账户不好用,有这个说法吧?

 

另外,模拟帐户和仿真账户有什么区别?

 

谢谢!

 

 

 

6楼
jinzhe 发表于:2015/4/9 15:56:50

用date<>valuewhen(开仓条件,date)来判断,不想等就是不同天了

方针和模拟是不同的交易柜台,是不一样的,用哪个模拟一下看用户的需求了

7楼
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能起作用吗?

 

仿真和模拟,是不是理解为仿真-软件,模拟-账户?

8楼
jinzhe 发表于:2015/4/9 16:32:39

1date的取值是看你用的是哪个时间坐标,用哪个坐标就返回对应坐标的值

2不是,都是模拟的交易帐号,具体的可以去自己的期货公司问一下

 

 

9楼
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日?

10楼
jinzhe 发表于:2015/4/9 16:51:47
你用的是北京时间坐标?改成金字塔时间坐标就是在同一天
共14 条记录, 每页显示 10 条, 页签: [1] [2]


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