// 设置全局变量:买入计数BUYCOUNT
& 卖出计数SELLCOUNT
VARIABLE: BUYCOUNT := 0, SELLCOUNT := 0;
// 定义UDI:
// 收盘价>(T-N1)根K线收盘价时,UDI = 1;收盘价 <
(T-N1)根K线收盘价时,UDI = -1;
// 收盘价=(T-N1)根K线收盘价时,UDI = 0;
UDI := IFELSE(C > REF(C,N1),1,-1);
// 定义SELLSTART和BUYSTART:UDI同号的连续根数
// 卖出启动:SELLSTART
// 买入启动:BUYSTART
SELLSTART := VALUEWHEN(UDI >
0,BARSLAST(UDI <= 0));
BUYSTART := VALUEWHEN(UDI <
0,BARSLAST(UDI >= 0));
// 当累加结果为N2时,卖出启动
IF SELLSTART = N2 THEN
BEGIN
SELLCOUNT := 0; // 卖出计数设为0
END
// 当累加结果为-N2时,买入启动
IF BUYSTART = -1 * N2 THEN
BEGIN
BUYCOUNT := 0; // 买入计数设为0
END
// 发出卖出信号的3个条件
A := C <= REF(L,2)
B := L < REF(L,1)
C := // 收盘价<前一个计数的收盘价
// 发出买入信号的3个条件
D := C >= REF(H,2)
E := H > REF(H,1)
F := // 收盘价>前一个计数的收盘价
// 在某一根K线上,同时满足A&B&C时,卖出计数SELLCOUNT + 1
IF A && B && C THEN
BEGIN
SELLCOUNT := SELLCOUNT + 1;
END
// 在某一根K线上,同时满足D&E&F时,买入计数BUYCOUNT + 1
IF D && E && F THEN
BEGIN
BUYCOUNT := BUYCOUNT + 1;
END
// 买入/卖出累加计数为N3,开仓
BUYCOUNT = N3, BK;
SELLCOUNT = N3, SK;
// 买入信号止损点:买入计数过程中的市场最低点
// 卖出信号止损点:卖出计数过程中的市场最高点
// 止盈:反向信号发生后,随后一根K线的开盘价
// 15:00强行平仓
CLOUSEMINUTE <= 1, CLOSEOUT;
AUTOFILTER;
// 发出卖出信号的3个条件
A := C <= REF(L,2)
B := L < REF(L,1)
C := // 收盘价<前一个计数的收盘价
// 发出买入信号的3个条件
D := C >= REF(H,2)
E := H > REF(H,1)
请问:C和F如何体现呢?谢谢!
C F条件用来定义计数,又需要取计数收盘价
这里逻辑上有矛盾,需要您调整思路为A B 这种方式先把计数定义出来
QD是计数开始统计的起始点,SUMBARS(QD = 1, 1)统计计数的周期也就是起始点当前的距离

文件名:buy.png
