以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 文华过渡到金字塔编写求助,感谢 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=74421) |
-- 作者:猎鹰 -- 发布时间:2015/1/14 12:44:39 -- 文华过渡到金字塔编写求助,感谢 论坛管理员,你好,因为某些原因,现在需要从文华转到金字塔。但是我对金字塔一无所知,学习了一些,但是还有很多不明白的地方。希望能帮助我把下面文华的写法转换到金字塔,我知道会花费您很多的时间,在此非常非常的感谢。祝福你。 有几个重点,一是跨周期的引用方法。二是交易模型中有画图,是为了方便在主图中就信号进行观察修正。三是,开仓使用了过滤方法,没有加减仓策略。持仓最多一手,符合条件不重复开仓。四是,开平仓时间限定在收盘前三分钟,收盘前一分钟清仓。五是,设置了使用对手价开仓,追价平仓。六是,设置了每根K线最多两个信号。 #IMPORT[MIN,1,YY301] AS VAR1//引用公式名称为YY301的一分钟周期指标 D2:=VAR1.CY1;//引用YY301中的CY1定义 D3:=VAR1.CY2;//引用YY301中的CY2定义 ZD:MAX(MAX(A1,A2),MAX(A3,A4)),COLORWHITE; //对ZD赋值,并输出白色 ZX:MIN(MIN(A1,A2),MIN(A3,A4)),COLORWHITE; //对最小赋值,并输出白色 FILLRGN(L>ZD,ZD,ZX,COLORRED);//在ZD,ZX之填充颜色 FILLRGN(H<ZX,ZD,ZX,COLORGREEN);//在ZD,ZX之填充颜色 J5:EMA(A0,5),COLORRED;//对J5赋值并画红色 CC:=(H-L)/L*100;//对CC赋值 PW1:=(L-LLV(L,30))<=5;对PW1赋值 DK1:=((SUM(L<ZX,2)>=1) OR (L-REF(ZD,1)/REF(ZD,1)<=0.0005)) AND (REF(ZD,1)-REF(ZX,1))/REF(ZX,1)<=0.0006;//对DK1赋值 KXCD:=(H-L)/(REF(SUM((H-L),15),1)/15)>=7; VOL/REF(VOL,1)>=5 AND JLD AND PW1 AND KXCD AND DK1 AND (CC>=1 OR CC<=-1) AND CLOSESEC1>=180,BK;//符合条件并且时间大于收盘前3分钟,开多单一手 VOL/REF(VOL,1)>=5 AND JLK AND PW2 AND KXCD2 AND DK2 AND (CC>=1 OR CC<=-1) AND CLOSESEC1>=180,SK;//符合条件并且时间大于收盘前三分钟,开空单一手 L<ZX AND D2,SP;//平多单一手条件 H>ZD AND D3,BP;//平空单一手条件 CLOSESEC1<=60,CLOSEOUT;//收盘前一分钟清仓 SETSIGPRICETYPE(BK,ACTIVE_ORDER);//设置对手价开多单 SETSIGPRICETYPE(SK,ACTIVE_ORDER);//设置对手价开空单 SETSIGPRICETYPE(SP,CMPETITV_ORDER);//设置平多单用追价 SETSIGPRICETYPE(BP,CMPETITV_ORDER);//设置平空单用追价 MULTSIG_SEC(0,0,2);//设置当前运行模型周期一根K线限定最多两个信号 AUTOFILTER;//对信号过滤,避免重复开仓 |
-- 作者:pyd -- 发布时间:2015/1/14 15:53:39 --
把代码发全,很多未定义的变量 策略是用在什么周期上的? |
-- 作者:猎鹰 -- 发布时间:2015/1/14 17:02:22 -- 谢谢回复,此策略是用在30秒周期上的。为尊重原作者,可以不把代码全部发出来吗?只需要把公式修改就行,不用测试其完整性。谢谢 [此贴子已经被作者于2015/1/14 17:03:02编辑过]
|
-- 作者:pyd -- 发布时间:2015/1/14 17:13:05 -- D2:=stkindi(stklabel,\'VAR1.CY1\',0,1);//引用YY301中的CY1定义 D3:=stkindi(stklabel,\'VAR1.CY2\',0,1);//引用YY301中的CY2定义 ZD:MAX(MAX(A1,A2),MAX(A3,A4)),COLORWHITE; //对ZD赋值,并输出白色 ZX:MIN(MIN(A1,A2),MIN(A3,A4)),COLORWHITE; //对最小赋值,并输出白色 FILLRGN(L>ZD,ZD,ZX,COLORRED);//在ZD,ZX之填充颜色 FILLRGN(H<ZX,ZD,ZX,COLORGREEN);//在ZD,ZX之填充颜色 J5:EMA(A0,5),COLORRED;//对J5赋值并画红色 CC:=(H-L)/L*100;//对CC赋值 PW1:=(L-LLV(L,30))<=5;//对PW1赋值 DK1:=((SUM(L<ZX,2)>=1) OR (L-REF(ZD,1)/REF(ZD,1)<=0.0005)) AND (REF(ZD,1)-REF(ZX,1))/REF(ZX,1)<=0.0006;//对DK1赋值 KXCD:=(H-L)/(REF(SUM((H-L),15),1)/15)>=7; if VOL/REF(VOL,1)>=5 AND JLD AND PW1 AND KXCD AND DK1 AND (CC>=1 OR CC<=-1) AND CLOSESEC1>=180 then buy(holding=0,1,THISCLOSE);//符合条件并且时间大于收盘前3分钟,开多单一手 if VOL/REF(VOL,1)>=5 AND JLK AND PW2 AND KXCD2 AND DK2 AND (CC>=1 OR CC<=-1) AND CLOSESEC1>=180 then buyshort(holding=0,1,THISCLOSE);//符合条件并且时间大于收盘前三分钟,开空单一手 if L<ZX AND D2 then sellshort(holding<0,1,THISCLOSE);//平多单一手条件 if H>ZD AND D3 then sell(holding>0,1,THISCLOSE);//平空单一手条件 if time>=1514300 then begin //收盘前一分钟清仓 sell(holding>0,1,THISCLOSE); sellshort(holding<0,1,THISCLOSE); end |
-- 作者:猎鹰 -- 发布时间:2015/1/14 17:30:34 -- 有几个疑问: 1,IF VOL/REF(VOL,1)>=5 AND JLK AND PW2 AND KXCD2 AND DK2 AND (CC>=1 OR CC<=-1) AND CLOSESEC1>=180 then buyshort(holding=0,1,THISCLOSE);//符合条件并且时间大于收盘前三分钟,开空单一手 我这是原来设置了条件收盘前三分钟,( CLOSESEC1>=180 )是否可以修改为TIME>=1512000 2,then buyshort(holding=0,1,THISCLOSE);这里修改后是使用收盘价交易吗?怎么设置到对手价开仓,吵架平仓呢?
|
-- 作者:pyd -- 发布时间:2015/1/15 9:05:18 -- 1,是的可以写成TIME>=151200 ,你的多写了一个0 2,thisclose交易时就是对手价,测评才是本根k线收盘价测。 |
-- 作者:猎鹰 -- 发布时间:2015/1/15 18:42:12 -- 请问1:如何开启多个模型,多周期的程序化交易? 2:当我把模型完全加密后,主图上就失去了原来的交易信号,请问是怎么回事?影响交易吗?
|
-- 作者:jinzhe -- 发布时间:2015/1/16 8:55:04 -- 1.使用框架,使用方法参考下面的链接 http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=26
2.信号和加密方式无关,你的公式原本就没有信号 |
-- 作者:猎鹰 -- 发布时间:2015/1/16 10:28:14 -- 修改后,今日模拟盘运行,出现下面几个问题: A:采用出信号立即下单,但实盘中出现信号闪烁不稳定,该怎么固定? B:信号消失后,模型不能检测持仓,导致持仓手数不断增加? 谢谢
|
-- 作者:jinzhe -- 发布时间:2015/1/16 10:40:16 -- 1.使用走完k线模式 2.不要在公式中使用未来函数,不要引用大周期数据 |