请问如何求上一分钟的持仓量(历史)。在亏损单人工加仓后,立即平仓,如何实现?
对于亏损单,如果手动补仓,系统就自动平仓。也就是禁止手动补仓
这个不行的。程序化和手工是互相不干扰的。没办法限制你手工操作的。
多单盈亏:IF(TAVGENTERPRICE>0,100*(C/TAVGENTERPRICE-1),0);
空单盈亏:IF(TAVGENTERPRICE>0,100*(TAVGENTERPRICE/C-1),0);
多持:TBUYHOLDING(1);
空持:TSELLHOLDING(1);
IF FRACPART(TIME/3)=0 THEN BEGIN
3多持:TBUYHOLDING(1);
3空持:TSELLHOLDING(1);
END
动态多持:SELFDATA('多持');
动态空持:SELFDATA('空持');
IF FRACPART(TIME/3)>0.5 THEN BEGIN
多亏加仓强平:多单盈亏<-0.15 and 多持-动态多持>0 and 动态多持>0; //隔一分钟再来比较持仓
空亏加仓强平:空单盈亏<-0.15 and 空持-动态空持>0 and 动态空持>0;
END
这样可以吗?
没太懂你这个代码是做什么的。 你是在通过持仓变化判断有没有手工参与?
是的。我使用自定义数据来判断持仓量是否增加。
多单盈亏:IF(TAVGENTERPRICE>0,100*(C/TAVGENTERPRICE-1),0);
空单盈亏:IF(TAVGENTERPRICE>0,100*(TAVGENTERPRICE/C-1),0);
多持:TBUYHOLDING(1);
空持:TSELLHOLDING(1);
IF FRACPART(TIME/2)=0 THEN BEGIN
2多持:TBUYHOLDING(1);
2空持:TSELLHOLDING(1);
END
IF FRACPART(TIME/2)=0.5 THEN BEGIN
1多持:TBUYHOLDING(1);
1空持:TSELLHOLDING(1);
END
动态1多持:SELFDATA('1多持');
动态1空持:SELFDATA('1空持');
动态2多持:SELFDATA('2多持');
动态2空持:SELFDATA('2空持');
AA: MIN(动态2多持,动态1多持); //取自定义数据最近2分钟多单持仓的较小值
BB: MIN(动态2空持,动态1空持);
多亏加仓强平:多单盈亏<-0.15 and 多持-AA>0 and AA>0;
空亏加仓强平:空单盈亏<-0.15 and 空持-BB>0 and BB>0;