
等级: 专业版
- 注册:
- 2021-11-24
- 曾用名:
|

楼主 |
发表于 2023-7-6 10:57
|
显示全部楼层
帮我看一下怎么实现
有2段程序策略,不生效时2个策略平级,当一个策略生效时即定义为优先级运行完了再运行另一个策略,另一个策略需要等到这策略释放权限后才有运行权限
如:假如开始时运行A策略,那么运行完A策略后再运行B策略,如果A策略标志消失了,并让B策略抢到优先,那么程序就只能先运行B策略,再运行A策略 (这个的难点在于,这程序是流水式的,没有返回,要有返回就很容易,刚想到一个办法把策略打包成一个可以返回的程序块,这应可行)
策略如下
variable:多标志=1,空标志=0;
variable: 空=0;
ma1:=ma(c,20);
//A策略-----做多-----
多:= C>MA1;
均线最低20:=LLV(ma1,N20);
if C>均线最低20 then 多:=1;
if ma5>ma6 then 多:=1;
这里还有很多代码
if 多 then LL:=ma1*0.9;
if 多 then BEGIN 多标志:=多标志+1;空标志:=0; //多方有3个标志可以代表A策略有效 ( 多>0 ; 多标志>0; 空标志<1)
//if 多 then GOTO 空方结束;
//B策略---------做空----------
空:= 多<1;
均线最高20:=HHV(ma1,N20);
if C<均线最高20 then 空:=1;
if ma4<ma5 then 空:=1;
这里有很多不同类别的处理程序
if 空 then LL:=MA1*1.1;
if 空 then BEGIN 空标志:=空标志+1;多标志:=0; END //空方与多方一样也有3个标志可以用,(最好能用 空>0)
//空方结束@; |
|