以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  同一根K线上穿做多,下穿做空,尾盘平仓的写法  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=86486)

--  作者:hunferthf
--  发布时间:2015/10/22 10:07:48
--  同一根K线上穿做多,下穿做空,尾盘平仓的写法
请教:同一根K线最高价>=X线时做多1手,最低价<=Y线时做空2手,尾盘平仓的写法。
--  作者:jinzhe
--  发布时间:2015/10/22 10:15:47
--  

if h>=x then buy(holding=0,1,market);

if l<=y then buyshort(holding=0,1,market);

 

if time0>=timetot0(closetime(0))-5*60 then begin

   sell(1,0,market);

   sellshort(1,0,market);

end


--  作者:hunferthf
--  发布时间:2015/10/22 15:24:02
--  
x:=ref(ma(c,5),1);
y:=ref(ma(c,10),1)

if h>=x then buy(holding=0,1,market);

if l<=y then buyshort(holding=0,1,market);

 

if time0>=timetot0(closetime(0))-5*60 then begin

   sell(1,0,market);

   sellshort(1,0,market);

end

用这段代码做图表模拟,出信号但不自动下单,需要点确认才行,这是怎么回事啊?


--  作者:jinzhe
--  发布时间:2015/10/22 15:38:57
--  
不要勾选“手工确认”
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:12.png
图片点击可在新窗口打开查看

--  作者:hunferthf
--  发布时间:2015/10/23 14:41:35
--  

感谢Jinzhe,已经可以模拟自动交易了!

 

1)日内平仓的话,如果多单和,空单都分别留一手不平,这样的公式怎么写?

 

2)同一根K线上比如说有两个多单,遇到止损时:直接平掉两个多单/或直接开两手空单,这样的效果都一样的吗?是不是后者要多两手的手续费?


--  作者:jinzhe
--  发布时间:2015/10/23 15:17:16
--  

1.这个做不到,图表不对实际账户持仓做判断

2.不一样,开平是两回事,不是开个空就相当于平个多


--  作者:hunferthf
--  发布时间:2015/10/23 15:34:39
--  

1)小周期,比如小时,30分钟之类的话,多单和空单都分别留一手不平,这样可以做到吗?

2)就是说一根K线上可以分别开多或空,且多和空是分别计算的?


--  作者:jinzhe
--  发布时间:2015/10/23 15:52:31
--  

1.不行,再声明一遍图表交易不对实际账户持仓做判断,所以各留一手是不行的

2.不是,我是说开空和平多是两会事

一个根k线只能开多,或者开空,不能同时开多开空


--  作者:hunferthf
--  发布时间:2015/10/23 16:18:27
--  

关于第2项,我感到迷糊了...

if h>=x then buy(holding=0,1,market);

if l<=y then buyshort(holding=0,1,market);

 

if time0>=timetot0(closetime(0))-5*60 then begin

   sell(1,0,market);

   sellshort(1,0,market);

end

 上面这段代码是你根据“同一根K线上穿做多,下穿做空,尾盘平仓”这一要求写的,这里即有buy又有buyshort,难道这段代码是错误的?


--  作者:fly
--  发布时间:2015/10/23 16:49:08
--  
f h>=x then buy(holding=0,1,market); //开多

if l<=y then buyshort(holding=0,1,market);//开空

 

//收盘前5分钟平仓

if time0>=timetot0(closetime(0))-5*60 then begin

   sell(holding>0,holding,market);//平多

   sellshort(holding<0,holding,market);//平空

end

[此贴子已经被作者于2015/10/23 16:49:36编辑过]