测试正常、但是没有信号、、麻烦老师帮忙看看、出错在哪?
思路是早上9:00的开盘价 等于开盘15分钟期间内的最高价则开空 是最低价则开多
INPUT:N1(15,2,30,2),N2(10,2,20,2);
SS:=1;
N:=BARSLAST(DATE<>REF(DATE,1));
H1:VALUEWHEN(TIME=130000+N1*100,HHV(H,N));
L1:VALUEWHEN(TIME=130000+N1*100,LLV(L,N));
KPJ:VALUEWHEN(TIME=130000,open);
IF KPJ=H1 AND HOLDING=0 THEN BEGIN
BUYSHORT(1,SS,MARKETR);
END
IF KPJ=L1 AND HOLDING=0 THEN BEGIN
BUY(1,SS,MARKETR);
END
IF TIME= 190000-N2*100 THEN BEGIN
SELL(1,SS,MARKETR);
SELLSHORT(1,SS,MARKETR);
END
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;
H1:VALUEWHEN(todaybar=n1,HHV(H,N1));
L1:VALUEWHEN(todaybar=n1,LLV(L,N1));
KPJ:VALUEWHEN(todaybar=1,open);
[此贴子已经被作者于2016-10-11 8:47:38编辑过]
如果是有夜盘的品种的话用todaybar=n1就不是9:15分才开仓了哦、、
我是想用早上9:00时的开盘价A; 就是9:00-9:15期间的最高价或最低价、、 用这个判定标准来判断是否开仓
请问如何写?
H1:VALUEWHEN(time=131500,HHV(H,N1));
L1:VALUEWHEN(time=131500,LLV(L,N1));
KPJ:VALUEWHEN(time=130100,open);
if TACCOUNT(28) <0 and abs(TACCOUNT(28))>=TACCOUNT(28)*0.05 then begin
tsell(1,0,mkt);
tsellshort(1,0,mkt);
end
if TACCOUNT(28) <0 and abs(TACCOUNT(28))>=TACCOUNT(28)*0.05 then begin
tsell(1,0,mkt);
tsellshort(1,0,mkt);
end
这串代码的意思是 如果占用保证金小于0 并且 占用保证金的绝对值大于等于占用保证金的0.05倍平仓
1、这样的表达好像不对吧?
2、这是后台的写法、我用在图表的怎么表达呢?
if TACCOUNT(4) <0 and abs(TACCOUNT(4))>=TACCOUNT(28)*0.05 then begin
tsell(1,0,mkt);
tsellshort(1,0,mkt);
end
图表不好判断保证金