以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请教一下日内操作的程序编写问题的回复 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=1965) |
-- 作者:admin -- 发布时间:2010/6/27 23:17:49 -- 请教一下日内操作的程序编写问题的回复 日内操作
使用周期:1分钟
以当天第一个30分钟开始,当价格突破前面30分钟最高点时做多,当价格跌破前面30分钟最低点时做空,当天14:58分钟全部平仓出局的程序是不是这样编写的:
但我问什么测试不了呢?问题出在哪里?
INPUT:NMIN(30,10,60,10); INPUT:NOFFSET(3,1,20,1); INPUT:LOTS(1,1,1000,1); CYC:=BARSLAST(DATE>REF(DATE,1))+1; HIGHESTOF30MIN:=VALUEWHEN(TIME<=90000+NMIN*100,HHV(H,CYC));
LOWESTOF30MIN:=VALUEWHEN(TIME<=90000+NMIN*100,LLV(L,CYC)); IF HIGH >= HIGHESTOF30MIN + NOFFSET*MINDIFF AND THOLDING<=0 THEN BEGIN MYPRICE: = HIGHESTOF30MIN + NOFFSET*MINDIFF; IF OPEN > MYPRICE THEN BEGIN MYPRICE: = OPEN; TSELLSHORT(THOLDING<0,0,LIMITR,MYPRICE); TBUY(THOLDING=0,LOTS,LIMITR,MYPRICE); END END IF LOW <= LOWESTOF30MIN - NOFFSET*MINDIFF AND THOLDING>=0 THEN BEGIN MYPRICE: = LOWESTOF30MIN - NOFFSET*MINDIFF; IF OPEN < MYPRICE THEN BEGIN MYPRICE: = OPEN; TSELL(HOLDING>0,0,LIMITR,MYPRICE); TBUYSHORT(THOLDING=0,LOTS,LIMITR,MYPRICE); END END IF TIME >= 145900 THEN BEGIN TSELL(THOLDING>0,0,LIMITR,OPEN); TSELLSHORT(THOLDING<0,0,LIMITR,OPEN); END |
-- 作者:admin -- 发布时间:2010/6/27 23:25:26 -- INPUT:NMIN(30,10,60,10);
大体问题没有,只是注意TBUY等指令是LMT指令,个别THOLDING换掉. 此外,后台自动交易的公式,无法在程式化交易评测里进行测试 |
-- 作者:admin -- 发布时间:2010/7/1 11:08:54 -- TBUY等后台自动交易函数不会再同周期反复开仓 如果你希望仓位不会被日后的周期反复开仓,那么只要加入THOLDING>0等等条件就可以了,目前这个系统已经能达到目的 |
-- 作者:活不明白 -- 发布时间:2010/7/1 12:03:21 -- 在那里加入呢??????? |