经过一个多月的半手动模拟测试,效果非常棒!
由于编写的是分笔的数据,计算量太大,只能后台运行,
之前因为保密的问题不能解决,所以一直抵触全部自动化下单。
下一步要自动化下单的编写,还需要老师的继续帮助。
问题:
1、当同时满足指标A 、B、C, 而对于D指标可有可无,只有ABC指标也可以满足开仓条件 怎么写? //A and B and C or D
2、当同时满足指标A 、B、C, 且不能出现E指标(-) 怎么写?
3、当开多仓时平掉持有的相同合约空仓,开多仓=平空仓, 怎么写?
谢谢!
1. A and B and C;//D无所谓就不用加进去
2.A and B and C and not(E);
3.
if 开多条件 and holding<>0 then
begin
sellshort(holding<0,holding,market);
buy(holding>0,holding,market);
end
谢谢老师解答,
1、额外附加一个收盘前时间平仓(只做日内)://如果策略中的平仓条件没有实现
a:若收盘前5分钟(2:55)持仓有盈利的仓位平仓;
b:若没有盈利的仓位收盘前2秒(2:59:58秒)市价平仓;
//盈利:大于开仓均价;
2、分笔周期的策略是否支持回测?还是只有当天的数据?
3、我策略一共有100多行代码组成,分成4个独立的段落发出信号,这4个段落如何引用更加优化,而不是合并一起后逐行读取代码?
1.收盘平仓参考:http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=174880&skin=0
2.支持回测。选择分笔周期即可。
3.这个太笼统,无法提供你优化的意见。
3.之前基于保密的考量,把一个开平仓 分成了4个独立的策略单独发出信号 现在要全部自动化操作 要合并这些独立的策略成一个策略
//类似于这样,4个独立策略发出的信号组合成一个开仓信号:
开多仓(=平空仓):
A1_DK and c_d<c_e and B1_D Not D_LK;
整合成一个策略后现在的问题是100多行代码,又是TICK级别运算,头都大了....想优化,又不会....
4、如果在我的平仓条件上 叠加一个收盘时间平仓条件,和我的平仓条件谁先满足就先平,如何实现?
(策略逻辑代码已经完成 现在是开平仓的编写 对我全新领域 老师可以多示范一些,谢谢)
//只做日内
若持仓有盈利,收盘前5分钟平仓;
若持仓无盈利,收盘前2秒种平仓;
abb:timetot0(CLOSETIME(0))-time0,NODRAW;//当前K线时间距离收盘K线结束倒计时
abb3:timetot0(CLOSETIME(0))-timetot0(dynainfo(207)),NODRAW;//当前时间距离收盘K时间
if (abb<=5*60 and (not(ISLASTBAR))) or (ISLASTBAR and abb3<=5*60) then //兼顾实际交易时候的信号和历史回测信号
begin
sell(holding>0,holding,market);
sellshort(holding<0,holding,market);
end
直接把2个条件or关联下就行了。谁满足就执行。
cd:收盘平仓条件 or 平仓条件;
if cd then
begin
sell(holding>0,holding,market);
sellshort(holding<0,holding,market);
end