程序化策略编程求助
以下是我的策略,请求老师帮忙编写好吗?
1设变量 m(27,10,108,1);手数ss(1,1,50,1);偏移1:py1(5,1,100,1);偏移2:py2(10,1,100,1);
偏移3:py3(10,1,100,1);偏移4:py4(10,1,100,1);止损zs(13,1,100,1)止盈zy1(8,1,100,1),zy2(13,1,100,1)
N1上次平仓至今的周期数,N2上次开仓至今的周期数
2定义布林带
MID: MA(CLOSE,M);//布林中轨
UPPER: MID + 2*STD(CLOSE,M);//布林上轨
LOWER: MID - 2*STD(CLOSE,M);//布林下轨
BLPC:=UPPER-LOWER
3定义震荡ZD:从上次平仓至今,上下轨道的差价BLPC一直在变小或者UPPER和LOWER走平(从上次平仓至今,BLPC不再变小,但是UPPER和LOWER波动幅度小于py1%;)
4定义突破TP:震荡结束,上下轨道的差价BLPC突然变大,布林通道张开,本周期的BLPC比上震荡区间的BLPC移动平均值增加超过py2%
5开多条件1:震荡ZD 并且从上次平仓以来N1周期内最低价价格跌穿下轨(最低价<=LOWER),然后价格又回到下轨之上(BLPC*py3%)的地方;
6开多条件2:突破TP并且价格大于上轨(现价>UPPER)
7开空条件1:震荡ZD 并且从上次平仓以来N1周期内最高价格上穿上轨(最高价>=UPPER),然后价格又回到上轨之下(BLPC*py3%)的地方;
8开空条件2:突破TP并且价格低于下轨(现价<LOWER
9开多KD:=开多条件1或者开多条件2;如果持有空单平掉空单,买开ss,如果持有多单,就不用开多,继续持有
10开空KK:=开空条件1或者开空条件2;如果持有多单平掉多单,卖开ss,如果持有空单,就不用开空,继续持有
11止损:开仓后画自动止损线离开仓点zs个点,以后自动移动止损线:震荡行情,浮盈超过zy1,止损线移到成本价,以后每超过zy1,移动一次zy1,突破行情,浮盈超过zy2,止损线移到成本价,以后每超过zy2,移动一次zy2
12平多条件:开多1个周期后,(开仓以来的最高价--开仓价)回撤py4%,平仓
13平空条件:开空1个周期后,(开仓以来的最低价--开仓价)回撤py4%,平仓
14如果没有隔夜仓单,早上9点30以前不开仓