以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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.不要在公式中使用未来函数,不要引用大周期数据