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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件交易策略发布专区 → 【趋势策略】增强版唐奇安通道

   

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


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

主题:【趋势策略】增强版唐奇安通道

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
【趋势策略】增强版唐奇安通道  发帖心情 Post By:2020/4/24 13:32:30 [只看该作者]

         原始的唐奇安通道(DONCHIANCHANNEL)规则其实很简单,它先设置一条阻力线和一条支撑线,阻力线由过去N天的最高价的最大值形成;支撑线由过去N天的最低价的最小值形成。但时过境迁,现在的市场环境已经发生了很大的变化,这导致唐奇安通道策略变得低效,我们在支撑线和阻力线分别增加一个系数,并设置一条平仓使用的中轨线,这样避免与大多数策略参数一致,造成的同质化现象,导致策略低效。另外我们知道,国内的期货市场总是涨的时候涨的缓,跌的时候跌的急,那么可以对支撑线和阻力线设置不同的系数,让策略更合理的适应当前市场环境。
       

         一、增强版唐奇安通道策略交易思路

               1、唐奇安上轨:由过去N天的最高价的最大值*上涨系数
            2、唐奇安下轨:由过去N天的最低价的最小值*下跌系数
            3、唐奇安中轨:(唐奇安上轨 + 唐奇安下轨) / 2
            4、开多条件:如果当前无持仓,并且价格突破唐奇安上轨
            5、开空条件:如果当前无持仓,并且价格跌破唐奇安下轨
            6、平多条件:如果当前持多单,并且价格跌破唐奇安中轨
            7、平空条件:如果当前持空单,并且价格突破唐奇安中轨

 

         二、金字塔策略源码

 

            //该策略适用于图表程序化交易

            //该范例适用于5分钟周期

            //此策略仅供参考学习,请勿直接用于实盘

 

            INPUT:N(55,1,100,1),SS(1,1,100,1),NMIN(10,1,100,1),LONG_CO(0.999,0.001,1.1,0.001),SHORT_CO(1.001,0.001,1.1,0.001);

 

            BUYTIME:=TIME>OPENTIME(1) AND TIME<CLOSETIME(0)-NMIN*100;      //设置日内交易的开仓时段           

            SELLTIME:=TIME>=CLOSETIME(0)-NMIN*100;                                        //设置尾盘的清仓时段      

            UP_LINE:REF(HHV(H,N),1)*LONG_CO;                                                    //设置上轨线
            DOWN_LINE:REF(LLV(L,N),1)*SHORT_CO;                                              //设置下轨线
            MIDDLE_LINE:(UP_LINE+DOWN_LINE)/2;                                               //设置中轨线

            CONKD:H>=UP_LINE AND BUYTIME ;                                                     //设置开多条件
            CONKK:L<=DOWN_LINE AND BUYTIME;                                                 //设置开空条件
            CONPD:C<MIDDLE_LINE;                                                                      //设置平多条件
            CONPK:C>MIDDLE_LINE;                                                                      //设置平空条件

 

            SELLSHORT(CONPK AND HOLDING<0,HOLDING,MARKET);
            SELL(CONPD AND HOLDING>0,HOLDING,MARKET);
            BUY(CONKD AND HOLDING=0,SS,MARKET);
            BUYSHORT(CONKK AND HOLDING=0,SS,MARKET);

 

            IF SELLTIME THEN                                                                               //收盘前全部平仓
                BEGIN
                SELL(HOLDING>0,HOLDING,MARKET);
                SELLSHORT(HOLDING<0,HOLDING,MARKET);
                END

[此贴子已经被作者于2020/4/24 16:07:50编辑过]

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


加好友 发短信
等级:黑侠 帖子:659 积分:0 威望:0 精华:0 注册:2015/2/5 10:08:43
  发帖心情 Post By:2020/4/24 15:09:45 [只看该作者]

请老师改一个股票也能用的全周期交易系统,非常期待,谢谢。

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


加好友 发短信
等级:黑侠 帖子:659 积分:0 威望:0 精华:0 注册:2015/2/5 10:08:43
  发帖心情 Post By:2020/4/24 15:11:27 [只看该作者]

请gxx978老师修改一下吧。 

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2020/4/24 16:07:30 [只看该作者]

该范例是以5分钟周期举例的,供用户参考学习唐奇安通道的指标编写。若你有指标编写的疑问,需要描述下你具体的需求。


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


加好友 发短信
等级:黑侠 帖子:659 积分:0 威望:0 精华:0 注册:2015/2/5 10:08:43
  发帖心情 Post By:2020/4/24 16:11:52 [只看该作者]

我想把该策略用在股票交易上,如何修改?希望策略在日线,f30,f60等周期上都能用,不一定在本日平仓,因为股票是t+1。

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2020/4/24 17:13:27 [只看该作者]

那直接把日内交易的限制去除就可以了。股票还是需要考虑到可用持仓的问题,举例如下:

INPUT:N(55,1,100,1),SS(1,1,100,1),NMIN(10,1,100,1),LONG_CO(0.999,0.001,1.1,0.001),SHORT_CO(1.001,0.001,1.1,0.001);

 

UP_LINE:REF(HHV(H,N),1)*LONG_CO;                                                 
DOWN_LINE:REF(LLV(L,N),1)*SHORT_CO;                                            
MIDDLE_LINE:(UP_LINE+DOWN_LINE)/2;                                              

CONKD:H>=UP_LINE ;                                                    
CONPD:C<MIDDLE_LINE;    

                                                           

可用持仓:HOLDING-DAYHOLDING;                                                               
SELL(CONPD AND 可用持仓>0,HOLDING,MARKET);
BUY(CONKD,SS,MARKET);


 


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


加好友 发短信
等级:黑侠 帖子:659 积分:0 威望:0 精华:0 注册:2015/2/5 10:08:43
  发帖心情 Post By:2020/4/24 18:58:54 [只看该作者]

请老师再看看,我加载试一下,会出现连续开仓的问题,还有些小问题。

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2020/4/26 9:35:34 [只看该作者]

避免连续开仓的话,在开仓条件中加入holding=0的限制。

INPUT:N(55,1,100,1),SS(1,1,100,1),NMIN(10,1,100,1),LONG_CO(0.999,0.001,1.1,0.001),SHORT_CO(1.001,0.001,1.1,0.001);

UP_LINE:REF(HHV(H,N),1)*LONG_CO;                                                 
DOWN_LINE:REF(LLV(L,N),1)*SHORT_CO;                                            
MIDDLE_LINE:(UP_LINE+DOWN_LINE)/2;                                              

CONKD:H>=UP_LINE ;                                                    
CONPD:C<MIDDLE_LINE;   

                                                           

可用持仓:HOLDING-DAYHOLDING;                                                               
SELL(CONPD AND 可用持仓>0,HOLDING,MARKET);
BUY(CONKD and HOLDING=0,SS,MARKET);


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


加好友 发短信
等级:黑侠 帖子:659 积分:0 威望:0 精华:0 注册:2015/2/5 10:08:43
  发帖心情 Post By:2020/4/26 10:59:24 [只看该作者]

INPUT:N(55,1,100,1),SS(999000,1,999000,1),NMIN(10,1,100,1),LONG_CO(0.999,0.001,1.1,0.001),SHORT_CO(1.001,0.001,1.1,0.001);
 
UP_LINE:REF(HHV(H,N),1)*LONG_CO;                                                 
DOWN_LINE:REF(LLV(L,N),1)*SHORT_CO;                                            
MIDDLE_LINE:(UP_LINE+DOWN_LINE)/2;                                              
CONKD:H>=UP_LINE ;                                                    
CONPD:C<MIDDLE_LINE;   
                                                           
SELL(CONPD AND HOLDING>0,HOLDING,MARKET );
            BUY(CONKD AND HOLDING=0,SS,MARKET);
这样改可行吗?
加入可用持仓如果加大ss为999000时,图形上会出现很多蓝色竖线,不知是咋回事?

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2020/4/26 14:37:49 [只看该作者]

SS就是定义的下单手数啊,不知道你说的蓝色竖线是什么,可以截图看下。另外在股票品种上使用,触发了平仓信号后,有可能当天无可用持仓,会导致平仓失败。

 回到顶部
总数 15 1 2 下一页