  
等级: 专业版 
- 注册: 
 - 2022-8-5
 
- 曾用名: 
 
 
 
 | 
 
 
 楼主 |
发表于 2023-8-14 15:41
|
显示全部楼层
 
 
 
老师您好!我希望flag来标记是否已经执行策略指令,执行策略指令之后符合条件的都不再重复执行,但几乎没起到作用,总是每次符合条件就再次下单,一直到资金用完,被证券公司风控发警示。甚至不按设置“信号执行固定间隔”300秒,随意在1秒钟内连续重复下单2次甚至达4次。恳请老师帮我解决。 
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; 
K:=SMA(RSV,3,1); 
D:=SMA(K,3,1); 
diff:=EMA(CLOSE,12)-EMA(CLOSE,26);; 
Kd:= cross(diff,0); 
  
Pd:=cross(0,diff); 
 
P60FZ:cross(d,k); 
 
 
//用flag来标记是否已经执行策略指令,执行策略指令之后符合条件的都不再重复执行 
GLOBALVARIABLE:flag=0; 
 
 
if   kd  and flag=0   and  tbuyholding(1)<50  then 
begin 
 
        tbuy(1,30-tbuyholding(1),lmt,DYNAINFO(34)); 
        flag=1;           //用flag来标记是否执行开仓,符合条件只能执行一次,之后符合条件的都不再执行 
END 
 
if  pd   and tbuyholding(1)>0 then 
begin 
        tsell(1,tbuyholding(1),lmt,DYNAINFO(28)); 
        flag=0; 
END 
 
if    P60FZ    and tbuyholding(1)>0  then 
begin 
        tsell(1,50%,lmt,DYNAINFO(28)),PERTRADER; 
        flag:=1;        //用flag来标记是否减过半仓,减仓行为只能进行一次,之后符合条件的都不再执行 
END |   
 
 
 
 |