 
等级: 超级版主
- 注册:
- 2021-5-18
- 曾用名:
- FireScript
|
VARIABLE:KP1:=0,KP2:=0;
macd1:="macd.macd1";
//开多1,平多1
kd1:macd1>0 and ref(macd1,1)<0;
pd1:macd1<0 and ref(macd1,1)>0;
ma5:=ma(c,5);
ma10:=ma(c,10);
//开多2,平多2
kd2:cross(ma5,ma10);
pd2:cross(ma10,ma5);
//平仓时候判断记录的开仓价是否为0
if kp1<>0 and pd1 then
begin
平多1:sell(1,1,market);
kp1:=0;//平仓重置全局变量
end
if kp2<>0 and pd2 then
begin
平多2:sell(1,1,market);
kp2:=0;
end
//单个条件每次开仓时候记录一个开仓价,后续平仓 会根据全局变量值判断是否盈利10个点,然后进行平仓
if kd1 and KP1=0 then
begin
开多1:buy(1,1,market);
KP1:=ENTERPRICE;//给全局变量赋值
end
if kd2 and KP2=0 then
begin
开多2:buy(1,1,market);
KP2:=ENTERPRICE;
end
参考这个范例吧。核心就是用多个全局变量 对开平进行维护。一个全局变量对应一个开仓。开仓时候记录一个值。平仓时候判断这个全局变量是否满足条件。 以上范例只是提供思路,具体应用到你自己策略里则需要灵活使用上面范例里的思路. |
|