本帖最后由 技术009 于 2023-4-6 11:01 编辑
[PEL] 复制代码 VARIABLE:开仓次数:=0;
老仓:HOLDING-DAYHOLDING;
ss:=2;
if TODAYBAR=1 then
begin
开仓次数:=0;
end
if mod(TODAYBAR,3)=1 and holding=0 then
begin
buy(1,ss,market);
开仓次数:=开仓次数+1;
end
//减仓时候判断仓位和开仓手数是否相等,以确定这是首次减仓,如果开仓后是有加仓操作的,那么需要调整这里持仓判断的方式
if c>o+2*MINDIFF and 开仓次数<=5 and holding=ss and 老仓=0 then
begin
减仓1:sell(1,1,market);
end
if c>o+1*MINDIFF and 开仓次数<=10 and 开仓次数>5 and holding=ss and 老仓=0 then
begin
减仓2:sell(1,1,market);
end
//常规平仓这里也要区分有老仓和无老仓的情况。有老仓满足条件了,直接全平;没有老仓则是需要判断当前仓位是否是半仓状态
if c>o and (holding=(ss/2) and 老仓=0) or (老仓<>0) then sell(1,holding,market);
大致是这样的思路。我只能通过范例方式 给你提供一个处理问题的思路。具体你本地代码,建议在立即思路基础上进行针对性的调整。 |