- UID
- 2
- 积分
- 2892307
- 威望
- 1396185 布
- 龙e币
- 1496122 刀
- 在线时间
- 13313 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-12-25
|
【日内时间周期交易系统每天只能进行一次交易设置】
让日间交易系统每天只能进行一次交易的设置
本帖隐藏的内容需要回复才可以浏览
这个是标准版,也就是白天只有交易的品种,若是有些品种也有夜盘就不行了。我重新修改一下,也可以让有夜盘的品种只限定多少次进场。
情景一:日内小周期的,在每天收盘时都会平掉,所以在新的交易日持仓为0的情况:- Condition1 =(time>2100 and time[1]=1500) or (time[1]=1500 and time>0900);
- If condition1 then value1 = 0;
- If MarketPosition <> 0 then value1 = 1;
- If value1 = 0 then Begin
- {your instructions to buy/sell here}
- end;
复制代码 其实看一下,区别就是对开盘当根bar的判断。
只有白天盘的品种,中国时间早晨9.00开盘,收盘是当天下午15.00. 所以 加上两个判断方法,1,时间是不是大于9.00;2,上一根bar是不是15.00的bar;
有夜盘的品种, 开盘时间是前一天晚上21.00,收盘是当天下午15.00,所以判断也是两个条件,1,时间是不是大于21.00,2,上一根是不是15.00的bar;
所以只有用这个条件就可以定位到日线以下bar的操作周期中开盘时间的第一根bar。定位到后就将计数重置成0,就行了,比方说,我想设置一个变量lock,只有这个lock为0时才进行交易,也就是一天只交易一笔【进场为例】。就可以用下面的这个:- Input:counts(1);
- var:lock(0);
- Condition1 =(time>2100 and time[1]=1500) or (time[1]=1500 and time>0900);
- If condition1 then lock = 0;
- If lock = 0 then Begin
- {your instructions to buy/sell here}
- lock =lock+1;
- end;
复制代码 当进场后呢,lock就变成1,然后就不能再交易了。当然出场不受这个限制。比方说对于趋势交易的,开盘后可能昨仓还有呢,正常平仓不受影响,只是开仓时仅允许开仓一次。当然 这里也可以通过设置一个次数限制,比方说只能开仓2次,则在进场时用到lock<2,那么只有lock等于0,1时才会允许开仓。一次达到2次时,就不能再开仓了。 |
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|