以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  《人造随机的识别与反利用》  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=180451)

--  作者:AMOS
--  发布时间:2020/6/8 17:21:53
--  《人造随机的识别与反利用》
经过一个多月的半手动模拟测试,效果非常棒!
由于编写的是分笔的数据,计算量太大,只能后台运行,
之前因为保密的问题不能解决,所以一直抵触全部自动化下单。
下一步要自动化下单的编写,还需要老师的继续帮助。
问题:
1、当同时满足指标A 、B、C, 而对于D指标可有可无,只有ABC指标也可以满足开仓条件 怎么写? //A and B and C or D  
2、当同时满足指标A 、B、C, 且不能出现E指标(-) 怎么写?
3、当开多仓时平掉持有的相同合约空仓,开多仓=平空仓,  怎么写?

谢谢!


--  作者:FireScript
--  发布时间:2020/6/9 9:15:51
--  
 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

--  作者:AMOS
--  发布时间:2020/6/9 10:54:48
--  
谢谢老师解答,

1、额外附加一个收盘前时间平仓(只做日内)://如果策略中的平仓条件没有实现
  a:若收盘前5分钟(2:55)持仓有盈利的仓位平仓;
  b:若没有盈利的仓位收盘前2秒(2:59:58秒)市价平仓;
  //盈利:大于开仓均价;

2、分笔周期的策略是否支持回测?还是只有当天的数据?

3、我策略一共有100多行代码组成,分成4个独立的段落发出信号,这4个段落如何引用更加优化,而不是合并一起后逐行读取代码?

--  作者:FireScript
--  发布时间:2020/6/9 13:21:50
--  
 1.收盘平仓参考:http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=174880&skin=0

2.支持回测。选择分笔周期即可。

3.这个太笼统,无法提供你优化的意见。

--  作者:AMOS
--  发布时间:2020/6/11 15:12:52
--  
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

--  作者:FireScript
--  发布时间:2020/6/11 15:51:15
--  
直接把2个条件or关联下就行了。谁满足就执行。
cd:收盘平仓条件   or  平仓条件;

if  cd then
begin
sell(holding>0,holding,market);
sellshort(holding<0,holding,market);    
end