以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://www.weistock.com/bbs/list.asp?boardid=4)
----  急求修改大智慧BS公式为金字塔使用,可付现金!  (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=9014)

--  作者:yanxc
--  发布时间:2011/11/17 17:43:00
--  急求修改大智慧BS公式为金字塔使用,可付现金!

variable:a1=0;
c1:=INTPART(cyc(5)*100*0.96)/100;
a2:=intpart(ref(cyc(5),1)*100)/100;
a3:=intpart(ref(cyc(5),1)*0.96*100)/100;
vv:=intpart(min(capital*0.05,ref(ma(vol,34),1))/100);
a40:=intpart(maxcyc*100)/100;
a41:=intpart(ref(MAXCYC,1)*100)/100;
a4:=a1=0 and c>a2 or (ref(vol/100,1)<vv and c>intpart(a2*0.98*100)/100 and vol>min(capital*0.05,ref(ma(vol,34),1)));
a5:=a1=1 and c<min(a3,a41);
a1:=if(a4=1,1,if(a5=1,0,ref(a1,1)));
STICKLINE(a1=1 and c<o,c,o,8,1),color5454ff,layer0;
STICKLINE(a1=1 and c<o,c,o,6,0),colorffff54;
STICKLINE(a1=1 and c<o,c,l,0.5,0),color5454ff;
STICKLINE(a1=1 and c<o,h,o,0.5,0),color5454ff;
STICKLINE(a1=0 and c>o,c,o,8,1),colorffff54;
STICKLINE(a1=0 and c>o,c,h,0.5,0),colorffff54;
STICKLINE(a1=0 and c>o,l,o,0.5,0),colorffff54;
DRAWTEXT(cross(a1,0),l*0.9,\'B\'),coloryellow,LINETHICK3;
DRAWTEXT(cross(1,a1),h*1.05,\'S\'),COLORgreen,LINETHICK3;
DRAWFLAGTEXT(a1=0 and (c1*0.98-c)/c>0.1,c,\'持币\');
DRAWFLAGTEXT(a1=0 and (c1*0.98-c)/c<=0.1 and ref(vol/100,1)<vv,c,\'明日收盘价超过\'+str(c1)+\';或收盘价超过\'+str(intpart(c1*0.98*100)/100)+\'且成交量大于\'+str(vv)+\'买入\');
DRAWFLAGTEXT(a1=0 and (c1*0.98-c)/c<=0.1 and ref(vol/100,1)>=vv,c,\'明日收盘价超过\'+str(c1)+\'买入\');
DRAWFLAGTEXT(a1=1 and (c-min(c1,a40))/min(c1,a40)>0.1 ,c,\'持股\');
DRAWFLAGTEXT(a1=1 and (c-min(c1,a40))/min(c1,a40)<=0.1 ,c,\'明日收盘价跌破\'+str(min(c1,a40))+\'卖出\');
MA5:MA(CLOSE,5),colorwhite;
MA10:MA(CLOSE,10),coloryellow;
MA20:MA(CLOSE,20),COLORFF00FF;
MA30:MA(CLOSE,30),colorgreen;
ma60:ma(close,60),colorred;
ma120:ma(close,120),colorblue;
ma250:ma(close,250),colorcyan;

 

获利比例:=(WINNER(C)*1000)/10;
平均成本:=(COST(50)*100)/100;
穿透力:=(winner(C)-winner(ref(C,1)))/v*capital;
90%成本:=FLOOR(COST(50-90/2)*100)/100;
~:=CEILING(COST(50+90/2)*100)/100;
90集中度:=INTPART((~-90%成本)/(~+90%成本)*1000)/10;
70%成本:=FLOOR(COST(50-70/2)*100)/100;
~~:=CEILING(COST(50+70/2)*100)/100;
70集中度:=INTPART((~~-70%成本)/(~~+70%成本)*1000)/10;
DRAWTEXTABS(0,6,\'  获利比例:\'+STR(获利比例)),COLOR44bbff;
DRAWTEXTABS(0,18,\'  平均成本:\'+STR(平均成本)),COLOR44bbff;
DRAWTEXTABS(0,30,\'    穿透力:\'+STR(穿透力)),COLOR44bbff;
DRAWTEXTABS(0,42,\'90%成本:\'+STR(90%成本)+\'-\'+STR(~)),COLOR44bbff;
DRAWTEXTABS(0,54,\'90集中度:\'+STR(90集中度)),COLOR44bbff;
DRAWTEXTABS(0,66,\'70%成本:\'+STR(70%成本)+\'-\'+STR(~~)),COLOR44bbff;
DRAWTEXTABS(0,78,\'70集中度:\'+STR(70集中度)),COLOR44bbff;

 

 

 

===================

原公式如上,其中cyc为成本均线,未在金字塔中找到相应函数。但其他软件有相应代码。

下面是复制飞狐的CYC源代码,不懂如何使用。

若有大师能搞定,请顺便加上ENTERLONG等交易代码。

赠人民币现金!

===================

 

 

 

;------------------------------------------------------------------------------
;
;  名称: .text (代码区段)
;  虚拟地址:    10001000h  虚拟大小:    00005122h
;  RawData 入口: 00001000h  RawData 大小: 00006000h
;
SUB_L10001000:
    mov eax,00000001h
    retn 000Ch
;------------------------------------------------------------------------------
    Align 16
图片点击可在新窗口打开查看_CYC5@4:
    sub esp,00000030h
    mov ecx,[esp+34h]
    push ebx
    push esi
    push edi
    mov eax,[ecx+18h]
    mov edi,[ecx+3Ch]
    xor ebx,ebx
    mov dword ptr [esp+40h],00000000h
    fld dword ptr [eax+10h]
    fadd dword ptr [eax+04h]
    lea edx,[eax+10h]
    lea esi,[eax+04h]
    mov edi,[edi+18h]
    mov dword ptr [esp+0Ch],00000000h
    fmul dword ptr [L100070EC]
    mov [esp+2Ch],edi
    mov edi,[ecx+14h]
    test edi,edi
    mov dword ptr [esp+10h],00000000h
    mov dword ptr [esp+14h],00000000h
    fst dword ptr [esp+1Ch]
    fst dword ptr [esp+18h]
    fst dword ptr [esp+20h]
    fstp dword ptr [esp+24h]
    jle L10001202
    lea edi,[eax+14h]

L10001079:
    fld dword ptr [esi]
    fadd dword ptr [edx]
    mov eax,[edi]
    mov [esp+28h],eax
    fmul dword ptr [L100070EC]
    fld dword ptr [esp+2Ch]
    fcomp dword ptr [L100070E8]
    fnstsw ax
    test ah,41h
    jz  L100010A2
    mov eax,[ecx+34h]
    jmp L100011EA
L100010A2:
    fld dword ptr [esp+28h]
    fcomp dword ptr [L100070E8]
    fnstsw ax
    test ah,41h
    jz  L100010BB
    mov eax,[ecx+34h]
    jmp L100011EA
L100010BB:
    fld dword ptr [esp+28h]
    fdiv dword ptr [esp+2Ch]
    fmul dword ptr [L100070E4]
    fld dword ptr [L100070E0]
    fsub ST,ST(1)
    fld ST(0)
    fmul dword ptr [esp+40h]
    fstp dword ptr [esp+30h]
    fld dword ptr [esp+0Ch]
    fmul qword ptr [L100070D8]
    fld ST(1)
    fmulp ST(1),ST
    fstp dword ptr [esp+34h]
    fld dword ptr [esp+10h]
    fmul qword ptr [L100070D0]
    fld ST(1)
    fmulp ST(1),ST
    fstp dword ptr [esp+38h]
    fld dword ptr [esp+14h]
    fmul qword ptr [L100070C8]
    fxch ST(1)
    fmulp ST(1),ST
    fld dword ptr [esp+30h]
    fadd ST,ST(2)
    fstp dword ptr [esp+40h]
    fld dword ptr [esp+34h]
    fadd ST,ST(2)
    fstp dword ptr [esp+0Ch]
    fld dword ptr [esp+38h]
    fadd ST,ST(2)
    fstp dword ptr [esp+10h]
    fld ST(0)
    fadd ST,ST(2)
    fstp dword ptr [esp+14h]
    fld dword ptr [esp+40h]
    fcomp qword ptr [L100070C0]
    fnstsw ax
    test ah,41h
    jnz L10001158
    fld dword ptr [esp+1Ch]
    fmul dword ptr [esp+30h]
    fld ST(2)
    fmul ST,ST(4)
    faddp ST(1),ST
    fdiv dword ptr [esp+40h]
    jmp L1000115A


--  作者:yanxc
--  发布时间:2011/11/17 18:11:45
--  

已根据该帖进行了改写,不过不太成功:

http://www.weistock.com/bbs/dispbbs.asp?BoardID=10&ID=8513&replyID=36877&skin=1


--  作者:xian_0_9
--  发布时间:2011/11/17 19:34:58
--  
CYC 成本均线( 快捷命令 CYC )
--判断原则
  成本均线指标是个量价均发挥作用的均线,分别代表5日、13日、34日的市场平均
建仓成本,因而叫成本均线。成本均线不容易造成虚假信号或骗线, 比如某日股价无
量暴涨, 移动均线会大幅拉升,但成本均线却不会大幅上升,因为在无量的情况下市
场持仓成本不会有太大的变化。
依据均线理论,当短期均线站在长期均线之上时叫多头排列,反之就叫空头排列。
短期均线上穿长期均线叫金叉,短期均线下穿长期均线叫死叉。 均线的多头排列是牛
市的标志, 空头排列是熊市的标志。均线系统一直是市场广泛认可的简单而可靠的分
析指标,起使用要点是尽量做多头排列的股票,回避空头排列的股票。
34日成本线是市场牛熊的重要的分水岭。一旦股价跌破34日成本线, 则常常是最
后的出逃机会。

--  作者:xian_0_9
--  发布时间:2011/11/17 19:44:38
--  

variable:a1=0;

cyc:=ma(c,5);
maxcyc:=ma(c,34);


c1:=INTPART(cyc*100*0.96)/100;
a2:=intpart(ref(cyc,1)*100)/100;
a3:=intpart(ref(cyc,1)*0.96*100)/100;
vv:=intpart(min(capital*0.05,ref(ma(vol,34),1))/100);
a40:=intpart(maxcyc*100)/100;
a41:=intpart(ref(MAXCYC,1)*100)/100;
a4:=a1=0 and c>a2 or (ref(vol/100,1)<vv and c>intpart(a2*0.98*100)/100 and vol>min(capital*0.05,ref(ma(vol,34),1)));
a5:=a1=1 and c<min(a3,a41);
a1:=if(a4=1,1,if(a5=1,0,ref(a1,1)));
STICKLINE(a1=1 and c<o,c,o,8,1),color5454ff,layer0;
STICKLINE(a1=1 and c<o,c,o,6,0),colorffff54;
STICKLINE(a1=1 and c<o,c,l,0.5,0),color5454ff;
STICKLINE(a1=1 and c<o,h,o,0.5,0),color5454ff;
STICKLINE(a1=0 and c>o,c,o,8,1),colorffff54;
STICKLINE(a1=0 and c>o,c,h,0.5,0),colorffff54;
STICKLINE(a1=0 and c>o,l,o,0.5,0),colorffff54;
DRAWTEXT(cross(a1,0),l-10*mindiff,\'B\'),coloryellow,LINETHICK3;
DRAWTEXT(cross(1,a1),h+10*mindiff,\'S\'),COLORgreen,LINETHICK3;
//DRAWFLAGTEXT(a1=0 and (c1*0.98-c)/c>0.1,c,\'持币\');
//DRAWFLAGTEXT(a1=0 and (c1*0.98-c)/c<=0.1 and ref(vol/100,1)<vv,c,\'明日收盘价超过\'+str(c1)+\';或收盘价超过\'+str(intpart(c1*0.98*100)/100)+\'且成交量大于\'+str(vv)+\'买入\');
//DRAWFLAGTEXT(a1=0 and (c1*0.98-c)/c<=0.1 and ref(vol/100,1)>=vv,c,\'明日收盘价超过\'+str(c1)+\'买入\');
//DRAWFLAGTEXT(a1=1 and (c-min(c1,a40))/min(c1,a40)>0.1 ,c,\'持股\');
//DRAWFLAGTEXT(a1=1 and (c-min(c1,a40))/min(c1,a40)<=0.1 ,c,\'明日收盘价跌破\'+str(min(c1,a40))+\'卖出\');
MA5:=MA(CLOSE,5),colorwhite;
MA10:=MA(CLOSE,10),coloryellow;
MA20:=MA(CLOSE,20),COLORFF00FF;
MA30:=MA(CLOSE,30),colorgreen;
ma60:=ma(close,60),colorred;
ma120:=ma(close,120),colorblue;
ma250:=ma(close,250),colorcyan;

 

获利比例:=(WINNER(C)*1000)/10;
平均成本:=(COST(50)*100)/100;
穿透力:=(winner(C)-winner(ref(C,1)))/v*capital;
90%成本:=FLOOR(COST(50-90/2)*100)/100;
~:=CEILING(COST(50+90/2)*100)/100;
90集中度:=INTPART((~-90%成本)/(~+90%成本)*1000)/10;
70%成本:=FLOOR(COST(50-70/2)*100)/100;
~~:=CEILING(COST(50+70/2)*100)/100;
70集中度:=INTPART((~~-70%成本)/(~~+70%成本)*1000)/10;
//DRAWTEXTABS(0,6,\'  获利比例:\'+STR(获利比例)),COLOR44bbff;
//DRAWTEXTABS(0,18,\'  平均成本:\'+STR(平均成本)),COLOR44bbff;
//DRAWTEXTABS(0,30,\'    穿透力:\'+STR(穿透力)),COLOR44bbff;
//DRAWTEXTABS(0,42,\'90%成本:\'+STR(90%成本)+\'-\'+STR(~)),COLOR44bbff;
//DRAWTEXTABS(0,54,\'90集中度:\'+STR(90集中度)),COLOR44bbff;
//DRAWTEXTABS(0,66,\'70%成本:\'+STR(70%成本)+\'-\'+STR(~~)),COLOR44bbff;
//DRAWTEXTABS(0,78,\'70集中度:\'+STR(70集中度)),COLOR44bbff;
//


--  作者:xian_0_9
--  发布时间:2011/11/17 19:47:04
--  
我把CYC和那个MAXCYC定义了一下。好像就是均线。不是均线的话,这个值怎么计算的告诉一下,很简单的,都能告诉你。
--  作者:eyutan
--  发布时间:2011/11/17 20:56:55
--  

《量化思路》那本书里有成本均线的代码,其实很简单的。明天我和大智慧里的成本均线对照一下看看。


--  作者:yanxc
--  发布时间:2011/11/18 11:37:04
--  

我自己解决掉了。

 

不过不太好用,汗。