请教以下2个开仓条件的写法。
1、昨日开盘价-昨日收盘价>30,今日开盘价开在昨日开盘价与昨日收盘价之间,当C<=昨收盘价,卖开仓。
2、2、昨日开盘价-昨日收盘价>30,今日开盘价开在昨日收盘价之下,今日第一根K线的开盘价-今日第一根K线的收盘价>20,当C<=今日第一根K线收盘价,卖开仓。
zo:=CALLSTOCK('if00',vtopen,6,-1);
zc:=CALLSTOCK('if00',vtclose,6,-1);
jo:=VALUEWHEN(TODAYBAR=1,o);
jc:=VALUEWHEN(TODAYBAR=1,c);
t1:=(zo<jo and jo<zc) or (zc<jo and jo<zo);
if zo-zc>30 and t1 and c<=zc THEN
buyshort(holding=0,1,market);
if zo-zc>30 and jo<zc and jo-jc>20 and c<=jc then
buyshort(holding=0,1,market);
你得要加上平仓语句才行,
设定点平仓条件吧
我把2个开仓条件合在一个公式里,如果加载1分钟有信号,加载日线就没有信号,是不是这2个开仓信号本不能合在一个一起的,照顾了跳空就管不了不跳空。
input:SS(1,1,100,1);//下单手数
input:ZSDS(100,1,1000,1);//止损点数
zo:=CALLSTOCK('RU00',vtopen,6,-1);//昨日开盘价
zc:=CALLSTOCK('RU00',vtclose,6,-1);//昨日收盘价
jo:=VALUEWHEN(TODAYBAR=1,o);//今日第一根K线的开盘价
jc:=VALUEWHEN(TODAYBAR=1,c);//今日第一根K线的收盘价
t1:=(zc<jo and jo<zo) {or (zo<jo and jo<zc)};
KK:=(zo-zc>30 and t1 and c<=zc) or (zo-zc>30 and jo<zc and jo-jc>20 and c<=jc );//开空条件
IF KK AND TIME>090000 AND TIME<144500 THEN BEGIN
BUYSHORT(KK AND NOT(TYPE(1)=3),SS,THISCLOSE);//开空
END
//空头止损
IF HOLDING<0 THEN BEGIN
IF C-ENTERPRICE>=ZSDS THEN BEGIN
空损:SELLSHORT(1,SS,THISCLOSE);
END
END
//收盘平仓
IF TIME>=145800 THEN BEGIN
收平空:SELLSHORT(HOLDING<0,SS,THISCLOSE);
END
日线上是没有TIME的
在日线上使用时,你要把关于所有和TIME有关的代码都删掉
1、如果加载日线,没有时间控制,日内交易收盘前咋平仓呢?
2、如果加载1分钟线,昨日开盘价和昨日收盘价这个公式能不能读取?