共14 条记录, 每页显示 10 条, 页签:
[1]
[2]
1楼
dafenqiu 发表于:2014/7/7 14:54:38
我想记录上一次条件成立时macd的K线位置,
目的,上一次MACD红柱区域的最高点,和当前MACD红柱最高点作比较(中间隔了一片绿柱区域);
麻烦问一下怎么记录上次MACD红柱最高点的位置,目的是想知道上一次MACD红柱最高点对应的价格当做压力线
2楼
jinzhe 发表于:2014/7/7 15:08:48
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);//上三次
3楼
dafenqiu 发表于:2014/7/22 14:08:04
这个写的有问题吧 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)?
4楼
jinzhe 发表于:2014/7/22 15:43:36
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块红柱子的最大值
5楼
dafenqiu 发表于:2014/7/30 18:03:50
你好,特别感谢您;我想在上面的基础上加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 BEGIN
U15:=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 BEGIN
BUYSHORT(HOLDING=0,1,MARKET);
END
IF HOLDING<0 THEN BEGIN
止空单:SELLSHORT(CLOSE>H2,0,MARKET);
END
测试过了,加上我写的指标就没有交易,不加就ok 指标调用出了什么问题呢?测试都是正常的
6楼
jinzhe 发表于:2014/7/31 8:59:38
在前面的代码里面添加:
uu:u15;
ll:l15;
主程序修改
u1:="UL.uu";
L1:="UL.ll";
7楼
dafenqiu 发表于:2014/7/31 10:58:10
您好!,我在指标里面添加了uu:u15;
ll:l15;
写了一个测试程序如下
u1:="UL.uu";
L1:="UL.ll";
kd:=u1>ref(u1,1);
buy(kd,1,market);
sell(CLOSE-ENTERPRICE>5 or close-enterprice<-5,0,market);
1分钟周期测试一下,还是没有信号..
8楼
jinzhe 发表于:2014/7/31 11:05:18
9楼
dafenqiu 发表于:2014/7/31 11:34:33
C15:=CALLSTOCK('IF00',VTHIGH,2,-1);
O15:=CALLSTOCK('IFOO',VTLOW,2,-1);
RC15:=CALLSTOCK('IF00',VTHIGH,2,-2);
RO15:=CALLSTOCK('IFOO',VTLOW,2,-2);
R2C15:=CALLSTOCK('IFOO',VTHIGH,2,-3);
R2O15:=CALLSTOCK('IFOO',VTLOW,2,-3);
D1:=MIN(C15,RC15);
DING:=MIN(D1,R2C15);
L1:=MAX(O15,RO15);
DI:MAX(L1,R2O15);
IF DING>DI THEN BEGIN
U15:=DING;
L15:=DI;
END
uu:U15;
ll:L15;我是想去最近5分钟周期上的 连续三根线最高点的低点 和最低点的高点,这样写指标没有问题的吧?五分钟数据我也补充好了,为什么图标上没有显示?
10楼
jinzhe 发表于:2014/7/31 13:19:14
3根k线高点的低点:llv(h,3);
3根k线低点的高点:hhv(l,3);
共14 条记录, 每页显示 10 条, 页签:
[1]
[2]