以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 交易策略发布专区 (http://weistock.com/bbs/list.asp?boardid=10) ---- 【趋势策略】增强版唐奇安通道 (http://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就是定义的下单手数啊,不知道你说的蓝色竖线是什么,可以截图看下。另外在股票品种上使用,触发了平仓信号后,有可能当天无可用持仓,会导致平仓失败。 |