| 以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 交易策略发布专区 (http://www.weistock.com/bbs/list.asp?boardid=10) ---- 【趋势策略】增强版唐奇安通道 (http://www.weistock.com/bbs/dispbbs.asp?boardid=10&id=175693)  | 
    
| --  作者:gxx978 -- 发布时间:2020/4/24 13:32:30 -- 【趋势策略】增强版唐奇安通道          原始的唐奇安通道(DONCHIANCHANNEL)规则其实很简单,它先设置一条阻力线和一条支撑线,阻力线由过去N天的最高价的最大值形成;支撑线由过去N天的最低价的最小值形成。但时过境迁,现在的市场环境已经发生了很大的变化,这导致唐奇安通道策略变得低效,我们在支撑线和阻力线分别增加一个系数,并设置一条平仓使用的中轨线,这样避免与大多数策略参数一致,造成的同质化现象,导致策略低效。另外我们知道,国内的期货市场总是涨的时候涨的缓,跌的时候跌的急,那么可以对支撑线和阻力线设置不同的系数,让策略更合理的适应当前市场环境。 一、增强版唐奇安通道策略交易思路                1、唐奇安上轨:由过去N天的最高价的最大值*上涨系数 
 二、金字塔策略源码 
 //该策略适用于图表程序化交易 //该范例适用于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;                                                    //设置上轨线             CONKD:H>=UP_LINE AND BUYTIME ;                                                     //设置开多条件 
             SELLSHORT(CONPK AND HOLDING<0,HOLDING,MARKET); 
             IF SELLTIME THEN                                                                               //收盘前全部平仓 [此贴子已经被作者于2020/4/24 16:07:50编辑过] 
         | 
    
| --  作者:yzhybw -- 发布时间:2020/4/24 15:09:45 -- 请老师改一个股票也能用的全周期交易系统,非常期待,谢谢。  | 
    
| --  作者:yzhybw -- 发布时间:2020/4/24 15:11:27 -- 请gxx978老师修改一下吧。  | 
    
| --  作者:gxx978 -- 发布时间:2020/4/24 16:07:30 -- 该范例是以5分钟周期举例的,供用户参考学习唐奇安通道的指标编写。若你有指标编写的疑问,需要描述下你具体的需求。  | 
    
| --  作者:yzhybw -- 发布时间:2020/4/24 16:11:52 -- 我想把该策略用在股票交易上,如何修改?希望策略在日线,f30,f60等周期上都能用,不一定在本日平仓,因为股票是t+1。  | 
    
| --  作者:gxx978 -- 发布时间: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;                                                   CONKD:H>=UP_LINE ;                                                      
 可用持仓:HOLDING-DAYHOLDING;                                                                  | 
    
| --  作者:yzhybw -- 发布时间:2020/4/24 18:58:54 -- 请老师再看看,我加载试一下,会出现连续开仓的问题,还有些小问题。  | 
    
| --  作者:gxx978 -- 发布时间: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;                                                   CONKD:H>=UP_LINE ;                                                      
 可用持仓:HOLDING-DAYHOLDING;                                                                  | 
    
| --  作者:yzhybw -- 发布时间: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 -- 发布时间:2020/4/26 14:37:49 -- SS就是定义的下单手数啊,不知道你说的蓝色竖线是什么,可以截图看下。另外在股票品种上使用,触发了平仓信号后,有可能当天无可用持仓,会导致平仓失败。  |