以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 交易策略发布专区 (http://222.73.7.161/bbs/list.asp?boardid=10) ---- 【悬赏】编写IF日内突破交易规则 (http://222.73.7.161/bbs/dispbbs.asp?boardid=10&id=4918) |
-- 作者:admin -- 发布时间:2011/1/20 16:29:24 -- 【悬赏】编写IF日内突破交易规则 交易手数为1手(可以设置)
记录当天开盘后39分钟内的最高,最低价,最高价记为HH,最低价记为LL 开多: 最新价大于HH,以指定价(HH+20个跳动点(0.2为一个跳动点)),开多, 当成交后,设下止损价为HH减去50个跳动点 当有最新价达到HH加上50个跳动点时,止损价改为HH加4个跳动点 平仓1:最新价大于HH*1.03平仓,以指定价(最新价-50个跳动点)平仓 平仓2:到3点10分平仓。 开多止损或者平仓后,不再出现开多交易信号 开空: 最新价小于LL,以指定价(LL-20个跳动点(0.2为一个跳动点)),开空, 当成交后,设下止损价为LL加上50个跳动点 当有最新价达到LL减去50个跳动点时,止损价改为LL减去4个跳动点 平仓1:最新价小于LL*0.97平仓,以指定价(最新价+50个跳动点)平仓 平仓2:到3点10分平仓。 开空止损或者平仓后,不再出现开空交易信号 谢谢 [此贴子已经被作者于2011-1-20 16:30:02编辑过]
|
-- 作者:luoying -- 发布时间:2011/1/20 16:33:22 -- 思路不错 |
-- 作者:luoying -- 发布时间:2011/1/20 18:19:30 -- 写好了,用于1分钟周期,我觉得没问题,版主检查下吧! 不对的地方,请指正
股指突破模型
INPUT:NMIN(39,10,60,10); //设置参数时间 INPUT:NOFFSET(20,2,50,2); //设置参数滑点 INPUT:LOTS(1,1,100,1); //设置参数仓位 INPUT:STOPSET(50,50,100,10); //设置参数止损 VARIABLE:FLAG=0; //用于限制开仓次数 VARIABLE:STOP_P=0; //用于变动止损 CYC:=BARSLAST(DATE>REF(DATE,1))+1; //统计日内K线数 HH:=VALUEWHEN(TIME<=91500+NMIN*100,HHV(H,CYC)); {在从开盘到设定时间(默认参数开盘39分)内保存当天最高价} LL:=VALUEWHEN(TIME<=91500+NMIN*100,LLV(L,CYC)); {在从开盘到设定时间(默认参数开盘39分)内保存当天最低价} IF HIGH > HH AND HOLDING<=0 AND FLAG<>1 THEN {如果最高价突破设定时间内的前高加设定偏移并且目前没有多单,那么} BEGIN MYPRICE: = HH + NOFFSET*MINDIFF; {预设进场价.既等于设定时间内的前高加设定偏移} IF C >= MYPRICE THEN BEGIN MYPRICE: = C; SELLSHORT(HOLDING<0,0,LIMITR,MYPRICE); {如果有空单先平} BUY(HOLDING=0,LOTS,LIMITR,MYPRICE); {如果没有多单则以开盘价开多LOTS手 } END IF LOW <= LL AND HOLDING>=0 AND FLAG<>3 THEN {以下开空部分同上,只不过方向相反} BEGIN MYPRICE: = LL - NOFFSET*MINDIFF; IF C <= MYPRICE THEN BEGIN MYPRICE: = C; SELL(HOLDING>0,0,LIMITR,MYPRICE); BUYSHORT(HOLDING=0,LOTS,LIMITR,MYPRICE); END IF TIME >= 151000 THEN {收盘平仓} BEGIN SELL(HOLDING>0,0,LIMITR,C-NOFFSET*MINDIFF); SELLSHORT(HOLDING<0,0,LIMITR,C+NOFFSET*MINDIFF); END [此贴子已经被作者于2011-1-20 18:30:32编辑过]
|
-- 作者:luoying -- 发布时间:2011/1/20 18:28:05 -- 用于1分钟周期 |
-- 作者:xian_0_9 -- 发布时间:2011/1/20 19:08:44 -- 给了5个金币了。说明落英写对了? 管理员自己不会写么?不能吧? |
-- 作者:newbasic -- 发布时间:2011/1/20 19:19:53 -- 牛人 |
-- 作者:阿火 -- 发布时间:2011/1/20 20:42:24 -- MYPRICE: = HH + NOFFSET*MINDIFF; {预设进场价.既等于设定时间内的前高加设定偏移} IF C >= MYPRICE THEN BEGIN MYPRICE: = C; SELLSHORT(HOLDING<0,0,LIMITR,MYPRICE); {如果有空单先平} BUY(HOLDING=0,LOTS,LIMITR,MYPRICE); {如果没有多单则以开盘价开多LOTS手 } …… END
写得不对吧?要的是最新价>hh,就以hh+20*mindiff开仓的
我来写一个 [此贴子已经被作者于2011-1-20 20:54:59编辑过]
|
-- 作者:luoying -- 发布时间:2011/1/20 21:09:19 -- 不好意思 只能做成这样了
INPUT:NMIN(39,10,60,10); //设置参数时间 INPUT:NOFFSET(20,2,50,2); //设置参数滑点 INPUT:LOTS(1,1,100,1); //设置参数仓位 VARIABLE:FLAG=0; //用于限制开仓次数 VARIABLE:STOPSET=50; //用于变动止损 CYC:=BARSLAST(DATE>REF(DATE,1))+1; //统计日内K线数 HH:=VALUEWHEN(TIME<=91500+NMIN*100,HHV(H,CYC)); {在从开盘到设定时间(默认参数开盘39分)内保存当天最高价} LL:=VALUEWHEN(TIME<=91500+NMIN*100,LLV(L,CYC)); {在从开盘到设定时间(默认参数开盘39分)内保存当天最低价} //开多仓 LONG:=HOLDING=0 AND C > HH AND TIME>91500+NMIN*100 AND TIME<151000;; //平多仓条件: PARTLINE(holding>0, bline, colorrgb(255,0,0)); SLONG:=(HOLDING>0 AND bline>=C) ; //OR (HOLDING>0 AND C>HH*1.03)
SHORT:=HOLDING=0 AND C < LL AND TIME>91500+NMIN*100 AND TIME<151000; //平空仓条件: PARTLINE(holding<0, sline, colorrgb(0,255,0)); SSHORT:=(HOLDING<0 AND sline<=C) ; //OR (HOLDING<O AND C<=LL*0.97)
BUY(LONG,LOTS,LIMITR,C+NOFFSET*MINDIFF); {如果没有多单则以开盘价开多LOTS手 } SELL(SLONG,HOLDING,LIMITR,C-NOFFSET*MINDIFF);
//收盘平仓 SELL(HOLDING>0 AND TIME>=151000,HOLDING,LIMITR,C-NOFFSET*MINDIFF); SELLSHORT(HOLDING<0 AND TIME>=151000,HOLDING,LIMITR,C+NOFFSET*MINDIFF); |
-- 作者:zhphappy -- 发布时间:2011/1/20 21:31:42 -- 晕,我的规则发在海洋和TB怎么跑这里来了,呵呵,我最新改了一下,请同学帮忙再编一下,谢谢
IF日内交易规则 当天有效,1分钟周期。 基本原理:突破当天开盘后39分钟内的最高价最低价作多作空。 一天最多交易二次,一次作多,一次作空 交易手数为1手(可以设置) 记录当天开盘后39分钟内的最高,最低价,最高价记为HH,最低价记为LL 开多: 最新价大于HH,开多(超价20个跳动价位买入追买,保证成交) 当成交后,设下止损价为HH减去40个跳动点 当有最新价达到HH加上50个跳动点时,止损价改为HH加上4个跳动点 平仓1:最新价大于HH*1.03平仓,以指定价(最新价-50个跳动点)平仓 平仓2:到3点10分平仓。 开多止损或者平多后,不再出现开多交易信号 开空: 最新价小于LL,开空(超价20跳动个价位追卖,保证成交) 当成交后,设下止损价为LL加上40个跳动点 当有最新价达到LL减去50个跳动点时,止损价改为LL减去4个跳动点 平仓1:最新价小于LL*0.97平仓,以指定价(最新价+50个跳动点)平仓 平仓2:到3点10分平仓。 开空止损或者平空后,不再出现开空交易信号 |
-- 作者:王锋 -- 发布时间:2011/1/20 22:04:06 -- 总不能吃穿全靠别人伺候吧,已经帮你做了90%了剩下的自己学习一下看看自己能否进行改进 |