程序描述 [金字塔]
- 咨询内容:
我想记录上一次条件成立时macd的K线位置,
目的,上一次MACD红柱区域的最高点,和当前MACD红柱最高点作比较(中间隔了一片绿柱区域);麻烦问一下怎么记录上次MACD红柱最高点的位置,目的是想知道上一次MACD红柱最高点对应的价格当做压力线
- 金字塔客服:
p:=26;
s:=12;
m:=9;
DIFF : EMA(CLOSE,S) - EMA(CLOSE,P);
DEA : EMA(DIFF,M);
MACD1 : 2*(DIFF-DEA);UPCROSS:=macd1>0;
DWCROSS:=macd1<0;
NN1:=BARSLAST(UPCROSS);
NN2:=REF(BARSLAST(UPCROSS),NN1+1);
NN3:=REF(BARSLAST(UPCROSS),NN1+NN2+1+1);
NNN:=NN1+NN2+NN3,COLORRED;HH1:REF(macd1,NN1);// 上一次的最高值
HH2:REF(macd1,NN2+NN1+1);//上二次
HH3:REF(macd1,NN3+NN2+1+NN1+1);//上三次
- 用户回复:
这个写的有问题吧 UPCROSS:=macd1>0;DWCROSS:=macd1<0;NN1:=BARSLAST(UPCROSS);NN2:=REF(BARSLAST(UPCROSS),NN1+1);NN3:=REF(BARSLAST(UPCROSS),NN1+NN2+1+1);NNN:=NN1+NN2+NN3,COLORRED;
HH1:=REF(macd1,NN1);// 上一次的最高值? 这里的HH1不是上次最高值啊,是第一次macd值大于0的价格 和我想要的不一样
是不是 HHV(MACD1,NN1)?
- 网友回复:
P:=26;
S:=12;
M:=9;
DIFF := EMA(CLOSE,S) - EMA(CLOSE,P);
DEA := EMA(DIFF,M);
MACD1 := 2*(DIFF-DEA);UPCROSS:=MACD1>0 AND REF(MACD1<0,1);
DWCROSS:=MACD1<0 AND REF(MACD1>0,1);
NN1:BARSLAST(UPCROSS);
NN2:REF(BARSLAST(UPCROSS),NN1+1);
NN3:REF(BARSLAST(UPCROSS),NN1+NN2+1+1);
MM1:BARSLAST(DWCROSS);
MM2:REF(BARSLAST(DWCROSS),NN1+1);
MM3:REF(BARSLAST(DWCROSS),NN1+NN2+1+1);
r1:=REF(HHV(macd1,nn1+1),mm1+1);
ht1:=hhv(macd1,nn1+1);
r2:=ref(hhv(macd1,nn1+1),mm1+1);
ht2:=ref(hhv(macd1,nn1+1),nn1+1+ref(mm1,nn1+1)+1);
r3:=ref(hhv(macd1,nn1+1),mm1+1+ref(mm1,mm1+1)+1);
ht3:=ref(hhv(macd1,nn1+1),nn1+1+ref(nn1,nn1+1)+1+ref(mm1,nn1+1+ref(nn1,nn1+1)+1));
if macd1>0 then hh1:=ht1;
if macd1<0 then HH1:=r1;
h1:hh1;
if macd1>0 then hh2:=r2;
if macd1<0 then hh2:=ht2;
h2:hh2;
if macd1>0 then hh3:=r3;
if macd1<0 then hh3:=ht3;
h3:hh3;H1,H2,H3分别为最近3块红柱子的最大值
- 网友回复:
你好,特别感谢您;我想在上面的基础上加15分钟的指标引用:上面的操作周期为1分钟;
编写的指标如下:C15:=CALLSTOCK('IF00',VTHIGH,4,-1);O15:=CALLSTOCK('IFOO',VTLOW,4,-1);RC15:=REF(CALLSTOCK('IF00',VTHIGH,4,-1),1);RO15:=REF(CALLSTOCK('IFOO',VTLOW,4,-1),1);R2C15:=REF(CALLSTOCK('IFOO',VTHIGH,4,-1),2);R2O15:=REF(CALLSTOCK('IFOO',VTLOW,4,-1),2);
D1:=MIN(C15,RC15);DING:=MIN(D1,R2C15);L1:=MAX(O15,RO15);DI:MAX(L1,R2O15);
IF DING>DI THEN BEGINU15:=DING;L15:=DI;END 在主交易程序中这样调用:u1:="UL.U15"; L1:="UL.L15"; cond15:=u1>ref(u1,1);
IF ABS(MACD1)>0.1 AND HIGH>H1 and cond15 THEN BEGINBUYSHORT(HOLDING=0,1,MARKET);ENDIF HOLDING<0 THEN BEGIN止空单:SELLSHORT(CLOSE>H2,0,MARKET);END测试过了,加上我写的指标就没有交易,不加就ok 指标调用出了什么问题呢?测试都是正常的
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容