以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- :“开盘后半小时突破”加上移动止盈 ,怎么写? (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=57851) |
-- 作者:qq代人发帖 -- 发布时间:2013/10/22 13:47:43 -- :“开盘后半小时突破”加上移动止盈 ,怎么写? 请教:“开盘后半小时突破”加上移动止盈 ,怎么写? |
-- 作者:jinzhe -- 发布时间:2013/10/22 13:53:14 -- 请具体说明下,什么突破什么? 移动止盈代码参考下列代码:
variable:n=0;
if 下单条件 and holding=0 then begin buy(1,1,market); n:=h; end
if h>n then n:=h;
if n-close>止盈点数 then begin sell(1,0,market); n:=0; end |
-- 作者:jinzhe -- 发布时间:2013/10/22 15:32:43 --
IF H>N THEN N:=H; IF N>ENTERPRICE+10*MINDIFF AND H<N-5*MINDIFF THEN 移动止盈多头:SELL(1,0,MARKET); IF LOW <= LOWESTOF30MIN - NOFFSET*MINDIFF AND HOLDING>=0 THEN //以下开空部分同上,只不过方向相反 IF L<M THEN M:=L; IF M<ENTERPRICE-10*MINDIFF AND L>M+5*MINDIFF THEN 移动止盈空头:SELLSHORT(1,0,MARKET); |
-- 作者:lxihua5201 -- 发布时间:2013/10/22 16:37:44 -- 这是半小时突破高低价,开仓后要求盈利10个点以上,如果回撤5个点就平仓,请老师不要用全局变量表示 |
-- 作者:jinzhe -- 发布时间:2013/10/22 16:48:16 -- hh:=hhv(h,enterbars+1); ll:=llv(l,enterbars+1);
if hh>enterprice+10*mindiff and h<hh-5*mindiff then sell(1,0,thisclose);
if l<enterprice-10*mindiff and l>ll+5*mindiff then sellshort(1,0,thisclose);
在原来代码基础上添加上面的代码 |
-- 作者:lxihua5201 -- 发布时间:2013/10/23 9:54:25 -- IF HIGH >= HIGHESTOF30MIN + NOFFSET*MINDIFF AND HOLDING<=0 THEN //如果最高价突破设定时间内的前高加设定偏移并且目前没有多单,那么 BEGIN MYPRICE: = HIGHESTOF30MIN + NOFFSET*MINDIFF; //预设进场价.既等于设定时间内的前高加设定偏移 IF OPEN > MYPRICE THEN //如果开盘价大于预设进场价,那么奋不顾身闯进去,(注:这是移植的,原设计并不一定完美,这时可能不是那么好成交的,我也不必多费唇舌了). BEGIN MYPRICE: = OPEN; SELLSHORT(HOLDING<0,0,LIMITR,MYPRICE); //如果有空单先平 BUY(HOLDING=0,LOTS,LIMITR,MYPRICE); //如果没有多单则以开盘价开多LOTS手 N:=H; M:=100000; END END 老师上面代码如果不要用if来写的话怎么表示
|
-- 作者:jinzhe -- 发布时间:2013/10/23 10:01:54 -- 不要IF是写不出这样效果的。 如果因为看不懂或者看不习惯IF就要求改来改去话,那还不如去学一学 [此贴子已经被作者于2013/10/23 10:02:02编辑过]
|
-- 作者:lxihua5201 -- 发布时间:2013/10/23 10:06:13 -- 看的懂,但是不感觉如果用if会造成速度降低很多吧 |