
等级: 专业版
- 注册:
- 2022-1-11
- 曾用名:
|
1.请教以下代码平仓这样写为什么有错,因为用这样的平仓,回测时只有一次交易。如果要修改应该怎么修改?
2.请帮我检查一下其它语句有没有错误?
zq:=36;sb:=5;
TR1:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));
ATR:=MA(TR1,zq*2);
var0:hhv(ref(high,1),zq*2);
var1:llv(ref(low,1),zq*2);
var2:=(var0+var1)/2;
var3:var2+(var0-var1)*0.25;
var4:var2-(var0-var1)*0.25;
var5:ema(var2,zq);
var6:=atr;
if holding=0 and var5>ref(var5,1) and cross(var3,c) and var0-var1>sb*ref(var6,1) then
BEGIN
buy(holding=0,1,market);
END
if holding=0 and var5<ref(var5,1) and cross(c,var4) and var0-var1>sb*ref(var6,1) then
BEGIN
buyshort(holding=0,1,market);
END
if holding=0 and ref(c,1)-c>(var0-var1)*0.25 and cross(var2,c) THEN
BEGIN
buyshort(holding=0,1,market);
END
if holding=0 and c-ref(c,1)>(var0-var1)*0.25 and cross(c,var2) THEN
BEGIN
buy(holding=0,1,market);
end
if holding>1 and c<=var5 then
begin
sell(1,0,market);
END
if holding<-1 and c>=var5 then
BEGIN
sellshort(1,0,market);
END
|
|