以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  策略编写求助区  (http://222.73.7.161/bbs/list.asp?boardid=11)
----  求助  (http://222.73.7.161/bbs/dispbbs.asp?boardid=11&id=7669)

--  作者:zouyingsheng
--  发布时间:2011/8/24 11:36:35
--  求助

帮忙写个后台交易公式

1,价格大于60日均价且60日均线属上升趋势,按市价开多

2,价格小于60日均价且60日均线属下降趋势,按市价开空

3,盘中价格只要触碰60日均价就平仓(不等此周期结束)

4,每天第一周期要避开集合竞价时间


--  作者:fly
--  发布时间:2011/8/24 11:39:17
--  

几分钟K线

请具体量化说明:60日均线属上升趋势


--  作者:zouyingsheng
--  发布时间:2011/8/24 11:44:48
--  

多分钟(90分钟)

60日均线上升就是前一周期的60日均价比当前周期的60日均价小,反之就是下降趋势


--  作者:fly
--  发布时间:2011/8/24 13:50:21
--  

//以下为图表程序化交易,可参考该帖http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332自行尝试改为后台

 

ma60:ma(close,60);

//建立多头进场条件
long:=h>ma60 AND ma60>ref(ma60,1);
 
if  (long and not(islastbar)) or (long and islastbar and dynainfo(207)>opentime(1)) then
 begin
 sellshort(holding < 0, 0, market);
 buy(holding = 0, 1, market);
 end
 

//建立空头进场条件
short:=l<ma60 AND ma60<ref(ma60,1);

if (short and not(islastbar)) or (short and islastbar and dynainfo(207)>opentime(1)) then
 begin
 sell(holding > 0, 0, market);
 buyshort(holding = 0, 1, market);
 end

if (holding>0 and not(islastbar)) or (holding>0 and islastbar and dynainfo(207)>opentime(1)) then 
sell(l<=ma60 and enterbars>0,0,market);
 
if (holding<0 and not(islastbar)) or (holding<0 and islastbar and dynainfo(207)>opentime(1)) then
sellshort(h>=ma60 and enterbars>0,0,market);


--  作者:zouyingsheng
--  发布时间:2011/8/25 9:10:34
--  

每天开盘后的第一跟K线的单都没发出委托,图表上是有显示,所以用到后台的话就漏单了,帮忙解决一下,谢谢


--  作者:zouyingsheng
--  发布时间:2011/8/25 9:12:53
--  
昨天最后一周期图表上是有显示开仓的,今天开盘就是没发出委托
--  作者:王锋
--  发布时间:2011/8/25 9:19:06
--  

交易-》下单设置-》程序化交易-》交易时段选项,勾选“只在交易时段进行程序化交易”。

此外,金字塔的后台程序化不建义初级用户使用,请用户熟练图表的编程以及交易,并灵活掌握调试技巧后,再来考虑使用后台。否则这将对你的成长非常不利


--  作者:fly
--  发布时间:2011/8/25 9:25:55
--  

//后台

 

ma60:ma(close,60);

 

//建立多头进场条件
long:=h>ma60 AND ma60>ref(ma60,1);
 
if  long and islastbar and dynainfo(207)>opentime(1) and tholding<=0 then
 begin
 tsellshort(1, 1, mkt);
 tbuy(1, 1, mkt);
 end
 

//建立空头进场条件
short:=l<ma60 AND ma60<ref(ma60,1);

if short and islastbar and dynainfo(207)>opentime(1) and tholding>=0 then
 begin
 tsell(1, 1, mkt);
 tbuyshort(1, 1, mkt);
 end

 

if tholding>0 and islastbar and dynainfo(207)>opentime(1) then
tsell(l<=ma60 and tenterbars>0,1,mkt);
 
if tholding<0 and islastbar and dynainfo(207)>opentime(1) then
tsellshort(h>=ma60 and tenterbars>0,1,mkt);


--  作者:zouyingsheng
--  发布时间:2011/8/25 9:42:59
--  
谢谢
--  作者:zouyingsheng
--  发布时间:2011/8/25 10:39:22
--  

平仓都没有用,图表有,没委托