 
等级: 超级版主
- 注册:
- 2021-5-18
- 曾用名:
|
INITIAL_PRICE:=ref(close,1);
GLOBALVARIABLE:flag1=0,flag2=0;
// 计算 BBI(布林通道中轨)
BBI := (HHV(H,20) + LLV(L,20) + CLOSE)/3;
// 计算 KDJ
RSV:= (CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
// 当前价格与基准价比较
PRICE_CHANGE := (CLOSE - INITIAL_PRICE) / INITIAL_PRICE;
// 卖出条件
IF PRICE_CHANGE >= 0.08 and flag1=0 THEN BEGIN
tSELL(1,tbuyholding(1)/2, mkt); // 卖出二分之一持仓
flag1:=1;
END
IF PRICE_CHANGE >= 0.20 and flag1=1 THEN BEGIN
tSELL(1,tbuyholding(1)/1, mkt); // 卖出所有持仓
flag1:=0;
END
IF PRICE_CHANGE <= -0.06 and flag2=0 THEN BEGIN
tSELL(1,tbuyholding(1)/2, mkt); // 卖出二分之一持仓
flag2:=1;
END
IF PRICE_CHANGE <= -0.10 and flag2=1 THEN BEGIN
tSELL(1,tbuyholding(1)/1, mkt); // 卖出所有持仓
flag2:=0;
END
// BBI 和K 线、 D线交易逻辑
IF CLOSE > BBI AND C > D THEN BEGIN
tBUY(1,500, mkt); // 买入 500 股,价格不得高于昨收盘价的 1.07 倍
END
IF BBI < CLOSE AND C < D THEN BEGIN
tSELL(1,tbuyholding(1), mkt); // 卖出前次买入的 500 股
END
//在kdj指标中定义cond:cross(d,k)
IF stkindi('','kdj.cond',0,7,0) THEN BEGIN
tSELL(1,tbuyholding(1), mkt);
END |
|