以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  策略编写求助区  (http://weistock.com/bbs/list.asp?boardid=11)
----  [原创]帮忙写开平仓的条件  (http://weistock.com/bbs/dispbbs.asp?boardid=11&id=25479)

--  作者:期股逍遥
--  发布时间:2012/9/13 22:29:20
--  [原创]帮忙写开平仓的条件

想做一个短线交易系统测试下。预警已经可以啦,但是程序化的不会写,麻烦按照我的思路帮忙写下!小弟先谢谢各位大哥大姐啦。
此主题相关图片如下:3分钟做多图形.jpg
按此在新窗口浏览图片
此主题相关图片如下:3分钟做空图形.jpg
按此在新窗口浏览图片

 

 

1zc:=STKINDI(\'\'IF10,\'期股逍遥系统.YL\',0,1); //调用主图的1分钟YL线,就是图表上的粉红线

1yl:=STKINDI(\'\'IF10,\'期股逍遥系统.ZC\',0,1); //调用主图的1分钟ZC线,就是图表上的绿线

3zc:=STKINDI(\'\'IF10,\'期股逍遥系统.YL\',0,17); //调用主图的3分钟YL线,就是图表上的粉红线

3yl:=STKINDI(\'\'IF10,\'期股逍遥系统.ZC\',0,17); //调用主图的3分钟ZC线,就是图表上的绿线

 

 

CY1:c>1zc and c>1yl;  //定义最新价大于1分钟的ZCYL线

CY3:c>3zc and c>3yl; //定义最新价大于3分钟的ZCYL线

CYK1:c<3zc and c<3yl; //定义最新价小于1分钟的ZCYL线

CYK3:c<5zc and c<5yl; //定义最新价小于3分钟的ZCYL线

 

 

如果价格站上CY3上面就开多,不管K线走完不走完,如果持仓有1手后,就不继续开仓。

如果价格在CYK1或者CYK3的下面就平多。(见附件3分钟做到图形)

如果价格站上CYK3下面就开空,不管K线走完不走完,如果持仓有1手后,就不继续开仓。

如果价格在CY1或者CY3的上面就平空。(见附件3分钟做空图形)



--  作者:jinzhe
--  发布时间:2012/9/14 9:17:57
--  

处理中,预计下午完成

1

1

1

1

1

1

1


--  作者:jinzhe
--  发布时间:2012/9/14 9:23:40
--  

1zc:=STKINDI(\'IF10\',\'期股逍遥系统.YL\',0,1); //调用主图的1分钟YL线,就是图表上的粉红线

1yl:=STKINDI(\'IF10\',\'期股逍遥系统.ZC\',0,1); //调用主图的1分钟ZC线,就是图表上的绿线

3zc:=STKINDI(\'IF10\',\'期股逍遥系统.YL\',0,17); //调用主图的3分钟YL线,就是图表上的粉红线

3yl:=STKINDI(\'IF10\',\'期股逍遥系统.ZC\',0,17); //调用主图的3分钟ZC线,就是图表上的绿线

 

 

CY1:=c>1zc and c>1yl;  //定义最新价大于1分钟的ZC和YL线

CY3:=c>3zc and c>3yl; //定义最新价大于3分钟的ZC和YL线

CYK1:=c<1zc and c<1yl; //定义最新价小于1分钟的ZC和YL线

CYK3:=c<3zc and c<3yl; //定义最新价小于3分钟的ZC和YL线

if c>cy3 then buy(holding=0,1,market);
if c<cyk1 or c<cyk3 then sell(holding>0,0,market);

if c<cyk3 then buyshort(HOLDING=0,1,market);
if c>cy1 or c>cyk3 then sellshort(holding<0,0,market);


--  作者:期股逍遥
--  发布时间:2012/9/14 12:50:13
--  

大哥,不能用,测试不能开平仓啊。

帮我看看哪里要改,是不是我的C现价的条件只有价格走的时候才能用,

如果是这样我怎么用在模拟盘,谢谢


--  作者:jinzhe
--  发布时间:2012/9/14 15:23:16
--  

顺序可做下修改,把平仓语句写在开仓语句前面

1

1

1

 

1

 


--  作者:期股逍遥
--  发布时间:2012/9/14 15:47:50
--  

还是不行啊,我是放锌图表交易系统测试的。不知道有什么问题,估计是不是开平仓的条件写得不对啊。

if c<cyk1 or c<cyk3 then sell(holding>0,0,market);
if c>cy3 then buy(holding=0,1,market);
if c>cy1 or c>cyk3 then sellshort(holding<0,0,market)
if c<cyk3 then buyshort(HOLDING=0,1,market);


--  作者:jinzhe
--  发布时间:2012/9/14 15:51:32
--  

这样写

CY1:=c>1zc and c>1yl;  //定义最新价大于1分钟的ZC和YL线

CY3:=c>3zc and c>3yl; //定义最新价大于3分钟的ZC和YL线

CYK1:=c<1zc and c<1yl; //定义最新价小于1分钟的ZC和YL线

CYK3:=c<3zc and c<3yl; //定义最新价小于3分钟的ZC和YL线

if cy3 then buy(holding=0,1,market);
if cyk1  then sell(holding>0,0,market);

if cky3 then buyshort(HOLDING=0,1,market);
if cy1  then sellshort(holding<0,0,market);

[此贴子已经被作者于2012-9-14 15:51:48编辑过]

--  作者:期股逍遥
--  发布时间:2012/9/14 16:03:09
--  

还是不能用,我要放弃了,还行谢谢斑竹。哎,不懂编程的真麻烦

1

1

 

1

 


--  作者:期股逍遥
--  发布时间:2012/9/14 16:47:36
--  

谁帮我再改改啊,还是不想放弃。

1

1

1

 

1


--  作者:jinzhe
--  发布时间:2012/9/14 17:13:45
--  

楼主还是再优化下思路吧

1

1

1

1