以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [讨论]请老师帮忙,谢谢  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=185043)

--  作者:law
--  发布时间:2021/4/6 10:54:03
--  [讨论]请老师帮忙,谢谢

思路:如何将超级解盘设计为交易系统?开多条件为:K线第一次在生命线之上;开空条件为:K线第一次在生命线之下.公式如何编写?谢谢老师

{CZW-G}
DRAWBKBMP(CLOSE>0,\'a008\');
{p1:3,0,30;p2:6,1,300;p3:18,1,300;p4:250,0,300}
Var1:=(C+L+H)/3;
Var2:=eMA(Var1,6);
Var3:=eMA(Var2,5);
Var4:=eMA(Var3,12);
Var5:=eMA(Var4,5);
生命线:eMA(Var3,30),COLORRED,POINTDOT;
DRAWICON(C>=生命线,生命线,10);
DRAWICON(C<生命线,生命线,11);
a:=HHV(MA((L+H+C)/3,3),3);
b:=llv(MA((L+H+C)/3,3),10);
STICKLINE(BARSCOUNT(C)=SYSPARAM(1),a,a,20,0),Coloryellow,linethick3,shift1;
DRAWNUMBER(BARSCOUNT(C)=SYSPARAM(1),a,a,3),shift3,colorYELLOW;
STICKLINE(BARSCOUNT(C)=SYSPARAM(1),b,b,20,0),ColorDB3FDD,linethick3,shift1;
DRAWNUMBER(BARSCOUNT(C)=SYSPARAM(1),b,b,3),shift3,ColorDB3FDD;
DRAWTEXT(sysparam(2)=BARPOS,c,\' \'+BLKNAME),COLORccffcc,ALIGN4;//板块
a1:=cost(95);
a2:=cost(5);
ly:=(a1-a2)*100/(a1+a2);
drawicon(ly>ref(ly,1), l*0.98,8)ALIGN5;
N:=3;{原码 N:=3;}
A1:=REF(H,N)=HHV(H,2*N+1); B1:=FILTER(A1,N); C1:=BACKSET(B1,N+1); D1:=FILTER(C1,N);{高点}
A2:=REF(L,N)=LLV(L,2*N+1); B2:=FILTER(A2,N); C2:=BACKSET(B2,N+1); D2:=FILTER(C2,N);{低点}
E1:=(REF(LLV(L,2*N),1)+REF(HHV(H,2*N),1))/2; E2:=(H+L)/2;{高低点出现在同一K线上时可作取舍}
H1:=(D1 AND NOT(D2 AND E1>=E2)) OR ISLASTBAR OR BARSCOUNT(C)=1;
L1:=(D2 AND NOT(D1 AND E1<E2));  H2:=D1 AND NOT(D2 AND E1>=E2);
X1:=REF(BARSLAST(H1),1)+1; F1:=BACKSET(H1 AND COUNT(L1,X1)>0,LLVBARS(IF(L1,L,10000),X1));
G1:=F1>REF(F1,1); I1:=BACKSET(G1,2); LD:=I1>REF(I1,1),LINETHICK0;{过滤后低点}
L2:=LD OR ISLASTBAR OR BARSCOUNT(C)=1;
X2:=REF(BARSLAST(L2),1)+1; F2:=BACKSET(L2 AND COUNT(H2,X2)>0,HHVBARS(IF(H2,H,0),X2));
G2:=F2>REF(F2,1); I2:=BACKSET(G2,2); HD:=I2>REF(I2,1),LINETHICK0;{过滤后高点}
///HD:="jgb.HD"(N);LD:="jgb.LD"(N);
R1:=BACKSET(ISLASTBAR,BARSLAST(HD)+1); S1:=R1>REF(R1,1); {前一高}
T1:=BACKSET(ISLASTBAR,BARSLAST(LD)+1); U1:=T1>REF(T1,1); {前一低}
R2:=BACKSET(S1,REF(BARSLAST(HD),1)+2); S2:=R2>REF(R2,1); {前二高}
T2:=BACKSET(U1,REF(BARSLAST(LD),1)+2); U2:=T2>REF(T2,1); {前二低}
T3:=BACKSET(U2,REF(BARSLAST(LD),1)+2); U3:=T3>REF(T3,1); {前三低}
T4:=BACKSET(U3,REF(BARSLAST(LD),1)+2); U4:=T4>REF(T4,1); {前四低}
R3:=BACKSET(S2,REF(BARSLAST(HD),1)+2); S3:=R3>REF(R3,1); {前三高}
R4:=BACKSET(S3,REF(BARSLAST(HD),1)+2); S4:=R4>REF(R4,1); {前四高}
★压力1:DRAWLINE(S2,H,S1,H,1),Color80FFFF;         
★支撑1:DRAWLINE(U2,L,U1,L,1),POINTDOT,Color00FFFF,linethick2;
★压力2:DRAWLINE(S3,H,S2,H,1),ColorFF8000;
★支撑2:DRAWLINE(U3,L,U2,L,1),POINTDOT,ColorFF8000;        
★压力3:DRAWLINE(S4,H,S3,H,1),Color0000FF;
★支撑3:DRAWLINE(U4,L,U3,L,1)POINTDOT,Color0000FF;
DRAWICON(S2,H*1.01,10); DRAWICON(S3,H*1.01,10);
DRAWNUMBER(S2,H*1.02,H,2),COLORMAGENTA;
DRAWNUMBER(S1,H*1.02,H,2),COLORMAGENTA;
DRAWNUMBER(S3,H*1.02,H,2),COLORMAGENTA;
DRAWICON(U1,L*0.99,11); DRAWICON(U2,L*0.99,11);
DRAWICON(U3,L*0.99,11);DRAWICON(U4,L*0.99,11);
DRAWNUMBER(U1,L*0.98,L,2),COLORCYAN;
DRAWNUMBER(U2,L*0.98,L,2),COLORCYAN;
DRAWNUMBER(U3,L*0.98,L,2),COLORCYAN;
DRAWNUMBER(U4,L*0.98,L,2),COLORCYAN;
STICKLINE(open>=close ,close ,open,0,0 ),COLOR00FF00;
STICKLINE(open>=close ,close ,open,8,0 ),COLOR008800;
STICKLINE(open>=close ,close ,open,7,0 ),COLOR009900;
STICKLINE(open>=close ,close ,open,6,0 ),COLOR00AA00;
STICKLINE(open>=close ,close ,open,5,0 ),COLOR00BB00;
STICKLINE(open>=close ,close ,open,4,0 ),COLOR00CC00;
STICKLINE(open>=close ,close ,open,3,0 ),COLOR00DD00;
STICKLINE(open>=close ,close ,open,2,0 ),COLOR00EE00;
STICKLINE(open>=close ,close ,open,1,0 ),COLOR00FF00;
STICKLINE(close>open,close,open,0,0) ,COLORFFBBFF;
STICKLINE(close>open,close,open,8,0) ,COLORFF00FF;
STICKLINE(close>open,close,open,7,0) ,COLORFF22FF;
STICKLINE(close>open,close,open,6,0) ,COLORFF44FF;
STICKLINE(close>open,close,open,5,0) ,COLORFF66FF;
STICKLINE(close>open,close,open,4,0) ,COLORFF88FF;
STICKLINE(close>open,close,open,3,0) ,COLORFF99FF;
STICKLINE(close>open,close,open,2,0) ,COLORFFAAFF;
STICKLINE(close>open,close,open,1,0) ,COLORFFBBFF;
EXPLAIN(c>0  ,\'〓  K 线形态分析 〓 \'),ColorFFFFFF;
★早晨之星:=REF(CLOSE,2)/REF(OPEN,2) < 0.95 AND REF(OPEN,1) < REF(CLOSE,2) AND ABS(REF(OPEN,1)-REF(CLOSE,1))/REF(CLOSE,1)<0.03 AND
CLOSE/OPEN>1.05 AND CLOSE>REF(CLOSE,2);
★黄昏之星:=REF(CLOSE,2)/REF(OPEN,2) > 1.03 AND REF(OPEN,1) > REF(CLOSE,2) AND ABS(REF(OPEN,1)-REF(CLOSE,1))/REF(CLOSE,1)<0.02 AND
CLOSE/OPEN<0.97 AND CLOSE<REF(CLOSE,2);
★长十字:=CLOSE=OPEN AND HIGH/LOW >1.03;
★垂死十字:=CLOSE=OPEN AND CLOSE=LOW AND CLOSE<>HIGH;
★早晨十字星:=REF(CLOSE,2)/REF(OPEN,2) < 0.95 AND REF(OPEN,1) < REF(CLOSE,2) AND REF(OPEN,1)=REF(CLOSE,1) AND
CLOSE/OPEN>1.05 AND CLOSE>REF(CLOSE,2);
★黄昏十字星:=REF(CLOSE,2)/REF(OPEN,2) > 1.05 AND REF(OPEN,1) > REF(CLOSE,2) AND REF(OPEN,1)=REF(CLOSE,1) AND
CLOSE/OPEN<0.95 AND CLOSE<REF(CLOSE,2);
★射击之星:=MIN(OPEN,CLOSE)=LOW AND HIGH-LOW > 3*(MAX(OPEN,CLOSE)-LOW) AND CLOSE > MA(CLOSE,5);
★倒转锤头:=MIN(OPEN,CLOSE)=LOW AND HIGH-LOW > 3*(MAX(OPEN,CLOSE)-LOW) AND CLOSE < MA(CLOSE,5);
★锤头:=HIGH = MAX(OPEN,CLOSE) AND HIGH-LOW > 3*(HIGH-MIN(OPEN,CLOSE)) AND CLOSE < MA(CLOSE,5);
★吊颈:=HIGH = MAX(OPEN,CLOSE) AND HIGH-LOW > 3*(HIGH-MIN(OPEN,CLOSE)) AND CLOSE>MA(CLOSE,5);
★穿头破脚:=(REF(CLOSE,1)/REF(OPEN,1)>1.03 AND CLOSE/OPEN<0.96 AND CLOSE<REF(OPEN,1) AND OPEN>REF(CLOSE,1))
OR (REF(CLOSE,1)/REF(OPEN,1)<0.97 AND CLOSE/OPEN>1.04 AND CLOSE>REF(OPEN,1) AND OPEN<REF(CLOSE,1));
★乌云盖顶:=REF(CLOSE,1)/REF(OPEN,1)>1.03 AND CLOSE/OPEN<0.97 AND OPEN>REF(CLOSE,1) AND CLOSE<REF(CLOSE,1);
★曙光初现:=REF(CLOSE,1)/REF(OPEN,1)<0.97 AND CLOSE/OPEN>1.03 AND OPEN<REF(CLOSE,1) AND CLOSE>REF(CLOSE,1);
★身怀六甲:=ABS(REF(CLOSE,1)-REF(OPEN,1))/REF(CLOSE,1) > 0.04 AND ABS(CLOSE-OPEN)/CLOSE<0.005 AND
MAX(CLOSE,OPEN) < MAX(REF(CLOSE,1),REF(OPEN,1)) AND MIN(CLOSE,OPEN) > MIN(REF(CLOSE,1),REF(OPEN,1));
★十字胎:=ABS(REF(CLOSE,1)-REF(OPEN,1))/REF(CLOSE,1) > 0.04 AND CLOSE=OPEN AND
CLOSE < MAX(REF(CLOSE,1),REF(OPEN,1)) AND CLOSE > MIN(REF(CLOSE,1),REF(OPEN,1));
★平顶:=ABS(HIGH-REF(HIGH,1))/HIGH<0.001;
★平底:=(ABS(LOW-REF(LOW,1))/LOW<0.001 and abs(ref(low,1)-ref(low,2))/ref(low,1)<=0.001);
★大阳烛:=CLOSE/OPEN>1.05 AND HIGH/LOW < CLOSE/OPEN+0.018;
★红三兵:=REF(CLOSE,2)>REF(OPEN,2) AND REF(CLOSE,1)>REF(OPEN,1) AND CLOSE>OPEN
AND REF(CLOSE,1)>REF(CLOSE,2) AND CLOSE>REF(CLOSE,1);
★双飞乌鸦:=REF(CLOSE,1)<REF(OPEN,1) AND CLOSE<OPEN AND CLOSE/OPEN<0.98;
★孕育线:=REF(CLOSE,2)>REF(OPEN,2) AND (REF(CLOSE,2)-REF(OPEN,2))/REF(OPEN,2)>=2/100  AND REF(OPEN,1)>=REF(CLOSE,1) AND
(REF(OPEN,1)-REF(CLOSE,1))/REF(CLOSE,1)<=2/100 AND REF(OPEN,1)<=REF(CLOSE,2) AND REF(CLOSE,1)>=REF(OPEN,2) AND C>=OPEN AND
(CLOSE-OPEN)/OPEN>=2/100 AND CLOSE>=REF(OPEN,1) AND OPEN<=REF(CLOSE,1) AND (MAX(CLOSE,REF(C,2))-MIN(CLOSE,REF(CLOSE,2)))/MIN(CLOSE,REF(CLOSE,2))<=1/100;
★多方炮:=REF(CLOSE,2)>REF(OPEN,2) AND REF(CLOSE,1)<REF(OPEN,1) AND CLOSE>OPEN;
★出水芙蓉:=(OPEN<EMA(C,20) OR OPEN<EMA(C,40) OR OPEN<EMA(C,60)) AND (C>MAX(EMA(C,20),MAX(EMA(C,40),EMA(C,60))))
AND (V/MA(V,30)>1.2 AND C/REF(C,1)>1.049);
★上升三部曲:=REF(CLOSE,4)/REF(OPEN,4)>1.03 AND REF(CLOSE,3)<REF(OPEN,3) AND REF(CLOSE,2)<REF(OPEN,2) AND REF(CLOSE,1)<REF(OPEN,1) AND
REF(LOW,4)<REF(LOW,3) AND REF(LOW,4)<REF(LOW,2) AND REF(LOW,4)<REF(LOW,1) AND REF(HIGH,4)>REF(HIGH,3) AND REF(HIGH,4)>REF(HIGH,2) AND
REF(HIGH,4)>REF(HIGH,1) AND CLOSE/OPEN>1.03 AND CLOSE>REF(CLOSE,4);
★下跌三部曲:= REF(CLOSE,4)/REF(OPEN,4)<0.97 AND REF(CLOSE,3)>REF(OPEN,3) AND REF(CLOSE,2)>REF(OPEN,2) AND REF(CLOSE,1)>REF(OPEN,1) AND REF(LOW,4)<REF(LOW,3) AND
REF(LOW,4)<REF(LOW,2) AND REF(LOW,4)<REF(LOW,1) AND REF(HIGH,4)>REF(HIGH,3) AND REF(HIGH,4)>REF(HIGH,2) AND REF(HIGH,4)>REF(HIGH,1) AND CLOSE/OPEN<0.97 AND
CLOSE<REF(CLOSE,4);
★跳空缺口:=HIGH<REF(LOW,1) OR LOW>REF(HIGH,1);
★三只乌鸦:=REF(CLOSE,2)<REF(OPEN,2) AND REF(CLOSE,1)<REF(OPEN,1) AND CLOSE<OPEN AND REF(CLOSE,1)<REF(CLOSE,2) AND CLOSE<REF(CLOSE,1);
★光脚阴线:=LOW=CLOSE AND HIGH<>LOW;
★光头阳线:=HIGH=CLOSE AND HIGH<>LOW;
★分离:=OPEN=REF(OPEN,1) AND (CLOSE-OPEN)*(REF(CLOSE,1)-REF(OPEN,1))<0;
★长下影:=(MIN(CLOSE,OPEN)-LOW)/(HIGH-LOW)>0.667;
★长上影:=(HIGH-MAX(CLOSE,OPEN))/(HIGH-LOW)>0.667;
★十字星:=CLOSE=OPEN AND HIGH<>LOW;
★大阴烛:=OPEN/CLOSE > 1.05 AND HIGH/LOW < OPEN/CLOSE+0.018;
★好友反攻:=(REF(CLOSE,1)<REF(OPEN,1) AND CLOSE>OPEN AND ABS(CLOSE-REF(CLOSE,1))/CLOSE<0.002)
OR (REF(CLOSE,1)>REF(OPEN,1) AND CLOSE<OPEN AND ABS(CLOSE-REF(CLOSE,1))/CLOSE<0.002);
★倾盆大雨:=REF(C,1)/REF(O,1)>=1.03 AND O<REF(C,1) AND O>REF(O,1) AND C<REF(O,1);
EXPLAIN(★倾盆大雨,\'★倾盆大雨★见顶信号;\'),COLORCYAN;
EXPLAIN(★大阴烛,\'★大阴烛★后市向淡,发生逆转;\'),COLORCYAN;
EXPLAIN(★好友反攻,\'★好友反攻★底部反转;\'),COLORRED;
EXPLAIN(★跳空缺口,\'★跳空缺口★注意向上还是向下跳空;\'),COLORWHITE;
EXPLAIN(★光脚阴线,\'★光脚阴线★下跌信号;\'),COLORCYAN;
EXPLAIN(★光头阳线,\'★光头阳线★后市看涨;\'),COLORRED;
EXPLAIN(★三只乌鸦,\'★三只乌鸦★可能见顶回落;\'),COLORCYAN;
EXPLAIN(★分离,\'★分离★注意看涨分离和看跌分离;\'),COLORWHITE;
EXPLAIN(★长下影,\'★长下影★持续下跌后出现,有可能止跌回升;在升势末期出现,须多加留意;\'),COLORRED;
EXPLAIN(★长上影,\'★长上影★表明行情上档压力沉重,升势受阻;\'),COLORCYAN;
EXPLAIN(★下跌三部曲,\'★下跌三部曲★下跌信号;\'),COLORRED;
EXPLAIN(★上升三部曲,\'★上升三部曲★上涨信号;\'),COLORCYAN;
EXPLAIN(★早晨之星,\'★早晨之星★见底回升;\'),COLORRED;
EXPLAIN(★黄昏之星,\'★黄昏之星★见顶回落;\'),COLORCYAN;
EXPLAIN(★十字星,\'★十字星★有转向意味,注意股价位置在顶部还是底部;\'),COLORWHITE;
EXPLAIN(★长十字,\'★长十字★注意在顶部还是底部;\'),COLORWHITE;
EXPLAIN(★垂死十字,\'★垂死十字★下跌信号;\'),COLORCYAN;
EXPLAIN(★早晨十字星,\'★早晨十字星★上涨信号,见底回升;\'),COLORRED;
EXPLAIN(★黄昏十字星,\'★黄昏十字星★下跌信号,见顶回落;\'),COLORCYAN;
EXPLAIN(★射击之星,\'★射击之星★可能见顶回落,可靠性低;\'),COLORCYAN;
EXPLAIN(★倒转锤头,\'★倒转锤头★可能见底回升;\'),COLORRED;
EXPLAIN(★锤头,\'★锤头★可能见底回升,如有量配合,信号强烈;\'),COLORRED;
EXPLAIN(★吊颈,\'★吊颈★上升行情中见顶回落,顶部出现,见顶信号;\'),COLORCYAN;
EXPLAIN(★平顶,\'★平顶★温和的反转;\'),COLORCYAN;
EXPLAIN(★穿头破脚,\'★穿头破脚★顶部出现,见顶回落信号;\'),COLORCYAN;
EXPLAIN(★乌云盖顶,\'★乌云盖顶★见顶回落信号;\'),COLORCYAN;
EXPLAIN(★曙光初现,\'★曙光初现★后市见底回升;\'),COLORRED;
EXPLAIN(★身怀六甲,\'★身怀六甲★出现在底部,是见底回升信号;出现在顶部,是见顶回落信号;\'),COLORRED;
EXPLAIN(★十字胎,\'★十字胎★\'),COLORRED;
EXPLAIN(★平底,\'★平底★温和的反转;\'),COLORRED;
EXPLAIN(★大阳烛,\'★大阳烛★看涨;\'),COLORRED;
EXPLAIN(★红三兵,\'★红三兵★每日收盘价上移,表示可能见底回升;\'),COLORRED;
EXPLAIN(★双飞乌鸦,\'★双飞乌鸦★行情将见顶回落;\'),COLORCYAN;
EXPLAIN(★孕育线,\'★孕育线★注意股价位置;\'),COLORWHITE;
EXPLAIN(★多方炮,\'★多方炮★在底部出现有上涨可能,在中间出现有可能是上涨中继,顶部出现是复合见顶信号;\'),COLORRED;
EXPLAIN(★出水芙蓉,\'★出水芙蓉★见底回升;\'),COLORRED;


--  作者:FireScript
--  发布时间:2021/4/6 16:00:13
--  
 加2句代码。

if cross(c,生命线) then
begin
sellshort(holding<0,holding,market);
buy(holding=0,1,market);   
END

if cross(生命线,c) then
begin
sell(holding>0,holding,market);
buyshort(holding=0,1,market);   
END

--  作者:law
--  发布时间:2021/4/6 17:54:11
--  
老师,你好,如何实体K线第一在生命线上之及之下预警呢?谢谢老师
--  作者:law
--  发布时间:2021/4/6 17:58:46
--  
老师,你好,如何实现K线第一次在生命线上之或之下预警呢?(在本地预警中如何设置?)谢谢老师!
--  作者:FireScript
--  发布时间:2021/4/7 9:16:23
--  
K线第一次在生命线上之或之下”这种直接用上下穿表述即可。
比如第一次在生命线上  cross(生命线,c)  就用生命线下穿收盘价。反过来则是收盘价上穿生命线。
你定义2个变量:

cd:cross(生命线,c)  or cross(c,生命线);//上穿或者下穿 的预警条件


预警时候选择这个变量就行了。

本地预警在这里进入。

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

进去之后设置预警变量为cd就行了。