算法描述如下:
kk1:=;//开空
kk2:=;
kk4:=;
kk3:=kk1 or kk2 or kk4;
kk:=ref(kk3,1) and holding >=0;
if kk then
begin
sell(holding>0,lots,limitr,o-hd*mindiff); //如果持多单,则平多单
buyshort(holding=0,lots,limitr,o-hd*mindiff); //空单下单,报单价格为:开盘价-hd*最小变动价
myenterprice:=open;
//如果开单,开单以后清零
if (条件 ) THEN BEGIN
kk1:=0;
kk2:=0;
kk3:=0;
kk:=0;//
END
end
问题描述:我现在第一根k线开了空单,被止损,可是在 二 根 k线继续开空单,
这不是我想要的效果,请问这是怎么一回事呢?
从你的单子里,看不出来哪里的代码会止损掉你的单子.
说出你想要的效果.
我开空以后,立刻达到了止损线,然后第二根k线还是继续开空。
止损之后开空 条件满足,那么就会开单
//如果开单,开单以后清零------不知道你这样做想达到什么目标
从你给的信息里,只能看出,你这是个平仓反手的系统,
推荐照以下格式大致介绍一下,我们来一起分析,实现你的目标
环境介绍:
//运行周期:1分钟 ???
//运行模式: ???
//运行品种:IF1303 ???
系统很简单,就是最高价突破均线平空开多,最低价突破平多开空.
算法描述如下: kk1:=;//开空 kk2:=; kk4:=; kk3:=kk1 or kk2 or kk4; kk:=ref(kk3,1) and holding >=0;
if kk then
平空条件: 1。止损平空单,平调以后不操作,直到出现开多或开空的信号。 2。出现开多指令,平空单。 问题描述:我现在第一根k线开了空单,被止损,之后就不应该出现开空指令了,但是却出现了,请问这是怎么一回事阿。 |
顶上来,希望解决。
variable:n=0;
if n=0 and 开空条件 then 开空语句;
if 止损条件 then begin
止损语句;
n:=1;
end
根据需求再把n赋值为0