以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请教一下一个固定价格区间交易的后台编写 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=59615) |
-- 作者:michael000 -- 发布时间:2013/12/6 14:39:24 -- 请教一下一个固定价格区间交易的后台编写 我希望效果就是符合开仓条件后,相比开仓价格升高4元就平仓1手,下降4元就加仓一手,为了避免滑点,提前在升降或下降2元的时候就挂单,然后在追单菜单里面设置价位超过3元就撤单 想请教下各位这个后台编码应该怎么写,图表的测试程序写好了,但我对后台的编写不太会,弄不好。谢谢
|
-- 作者:jinzhe -- 发布时间:2013/12/6 14:42:45 -- 处理中,请稍等 |
-- 作者:michael000 -- 发布时间:2013/12/6 14:53:44 -- 好,谢谢,我在图表时的编码是 1秒轮询模式: if t1 and holding >0 and high>=平仓价-2 then begin sell(1,1,limitr, 平仓价); 平仓价:= 平仓价+aa*MINDIFF; end 但图表交易时提前两个价位只要一发单,不管有没有成交都当作成交了,所以这样会导致我最新的平仓价错误,使下一次的价格区间发生错误了,所以可能只有用后台才行。
|
-- 作者:jinzhe -- 发布时间:2013/12/6 15:11:50 -- 这个不就是在只有两点的时候报单了 if dynainfo(7)-tenterprice>2 then tbuy(1,1,mkt); if tenterprice-dynainfo(7)>2 then tsell(1,1,mkt); |
-- 作者:michael000 -- 发布时间:2013/12/6 17:44:26 -- 我自己根据上述思路改写的后台程序,但运行时有问题,麻烦看看是哪里出了问题 INPUT:ss(3,0,100,1),aa(4,0,200,1),n(5,0,100,5); variable:开仓次数:=0,开仓价:=0; 组数:=b; 手数:=ss; //交易条件 t1:=time<CLOSETIME(0) and time>OPENTIME(1)+200; T2:=TIME=CLOSETIME(0) ; 均线:ma(c,n); 开多条件:=ref(c,1)>ref(均线,1); 开空条件:=ref(c,1)<ref(均线,1); //多单加仓 if t1 and tholding2>0 and 开仓次数<10 and low<=开仓价-4*MINDIFF+2*MINDIFF then begin //(价格低于开仓价4元加仓,提前2元报价挂单) tbuy(1,手数*x,lmt,
开仓价-4*MINDIFF ); 开仓次数:=开仓次数+1; end //多单减仓 if t1 and tholding2>0 and 开仓次数<10 and high>=
开仓价+4*MINDIFF -2*MINDIFF then begin //(价格高于开仓价4元减仓,提前2元报价挂单) tsell(1,手数*x,lmt,
开仓价+4*MINDIFF ); 开仓次数:=开仓次数+1; end; //开仓 if t1 and 开多条件 and tholding2=0 and 开仓次数=0 then begin tBUY(1,手数*x,lmt,o); 开仓价:=tENTERPRICE; 开仓次数:=1; end |
-- 作者:michael000 -- 发布时间:2013/12/8 21:34:43 -- 或者我再归纳一下我的思路 比如现在我10元开了3手多仓,然后我希望在15元时减1手,但我不希望有滑点,所以想提前2元在13元的时候就挂15元平多仓的单,如果挂单成交了,就把开仓价从10元变为15元,如果挂单没成交,开仓价还是原来的10元,当最新价离开挂单价3元后撤单,但如果最新价回到13元又重新挂单。 。。。想了好久还是没想出来,用图表写不出,用后台的话,如果单策略倒还没问题,用真实持仓可以解决,如果有其他策略的话,仓位乱了就不会编了
|
-- 作者:jinzhe -- 发布时间:2013/12/9 9:01:13 -- 后台全局变量要用超全局变量GLOBALVARIABLE |