欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件策略编写求助区 → 我的一个日内交易策略,求助编程程序

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有10074人关注过本帖树形打印复制链接

主题:我的一个日内交易策略,求助编程程序

帅哥哟,离线,有人找我吗?
26327756l
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/10/11 9:10:49 [显示全部帖子]

问题正在解决中


 回到顶部
帅哥哟,离线,有人找我吗?
26327756l
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/10/11 13:36:37 [显示全部帖子]

程序说明

1 程序是使用在图表程序化交易中,使用1分钟K线,走完以根K线模式。

2 程序主要写了开多的功能,开空功能,您可以根据此程序套用添加上。

3 要求中的第5条的第三款要求,不能在标准版的图标交易里实现,只有专业版的后台交易里才可以达到您的要求。

4 程序供参考,有些细节以我的理解设定,不符合望自己修改。

 

  //变量说明,h30、l30 是开盘前30分钟最高和最低价,h1、l1是当天最高价和最低阶,di是用于当天第一手的开仓
variable:h30=0,l30=0,h1=0,l1=0,di=0;
h1:=if(c>h1,c,h1);
l1:=if(c<l1,c,l1);

if CURRENTTIME>090000 and CURRENTTIME<093000 then
begin
   h30:=if(h30>h,h30,h);
   l30:=if(l30<l,l30,l);
end

if CURRENTTIME<093000  then  exit; //1.  开盘前30分钟不交易

if CURRENTTIME>093000 and CURRENTTIME<145800 then
begin
   //2. 30分钟后,最高价和最低价的价差大于250,当日也不交易
if ABS(h30-l30)>=250 then exit;

    //3.30分钟后,价格第一次向上突破30分钟最高价,确定第一次做多(突破时并不马上做多,要等回调50元再进场)
if c>=h30 and di=0 then
begin
buy(1,1,limit,c-50),ignorecheckprice;

di:=1;
end
    //30分钟后,价格第一次向下突破30分钟最低价,确定第一次做空(突破时并不马上做空,要等反弹50元再进场)
if c<=l30 and di=0 then
begin
buyshort(1,1,limit,c+50),ignorecheckprice;

di:=1;
end
    //即在当前价格突破前一新高(是目前为止当日的最高价格时),按照(当前价格-50元),开多单
if c>=ref(h1,1) then buy(1,1,limit,c-50),ignorecheckprice;
  //  目前使用的是图标交易程序,未成交的判断功能,要使用后台才可以实现,所以先忽略测单


  //一.止盈80出场;
if OPENPROFIT>80*MINDIFF then SELL( holding>0,holding ,market );
  //二.止损75出场;
if  OPENPROFIT<REVERSE( 75*MINDIFF) then sellshort(holding<0,REVERSE(holding),market);

end


   // 9.  到了下午14:58时,所有未平仓的持仓全部按市价平仓。

if CURRENTTIME>145800 then
  begin
    sell(holding>0,holding,market);
    sellshort(holding<0,REVERSE(holding ),market);
  end

 

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
26327756l
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/10/11 15:45:28 [显示全部帖子]

提点后修改了一下

 


  //变量说明,h30、l30 是开盘前30分钟最高和最低价,h1、l1是当天最高价和最低阶,di是用于当天第一手的开仓
variable:di=0;

 M:=BARSLAST(DATE<>REF(DATE,1) )+1;
 
h30:=VALUEWHEN(TIME<=093000,HHV(HIGH,M));
 l30:=VALUEWHEN(TIME<=093000,LLV(LOW,M));
h1:ref(hhv(l,m),1);

l1:ref(llv(l,m),1);

if time<093000  then  exit; //1.  开盘前30分钟不交易

if h30-l30>=250 then exit;

if time>093000 and time<145800 then
begin
   //2. 30分钟后,最高价和最低价的价差大于250,当日也不交易


    //3.30分钟后,价格第一次向上突破30分钟最高价,确定第一次做多(突破时并不马上做多,要等回调50元再进场)
if c>=h30 and di=0 then
begin

buy(holding=0,1,limit,c-50),ignorecheckprice;
di:=1;
end
    //30分钟后,价格第一次向下突破30分钟最低价,确定第一次做空(突破时并不马上做空,要等反弹50元再进场)
if c<=l30 and di=0 then
begin

buyshort(holding=0,1,limit,c+50),ignorecheckprice;
di:=1;
end
    //即在当前价格突破前一新高(是目前为止当日的最高价格时),按照(当前价格-50元),开多单
if c>=ref(h1,1) then buy(1,1,limit,c-50),ignorecheckprice;
  //  目前使用的是图标交易程序,未成交的判断功能,要使用后台才可以实现,所以先忽略测单


  //一.止盈80出场;
if OPENPROFIT>80*MINDIFF then SELL( holding>0,holding ,market );
  //二.止损75出场;
if  OPENPROFIT<REVERSE( 75*MINDIFF) then sellshort(holding<0,REVERSE(holding),market);

end


   // 9.  到了下午14:58时,所有未平仓的持仓全部按市价平仓。

if time>145800 then
  begin
    sell(holding>0,holding,market);
    sellshort(holding<0,REVERSE(holding ),market);
  
  end

if time>=150000 then di:=0;

 


 回到顶部
帅哥哟,离线,有人找我吗?
26327756l
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:676 积分:2548 威望:0 精华:3 注册:2011/4/13 16:18:50
  发帖心情 Post By:2011/11/7 11:33:08 [显示全部帖子]

指出来哪里有问题啊?


 回到顶部