Board logo

标题: 【日内时间周期交易系统每天只能进行一次交易设置】 [打印本页]

作者: 龙听    时间: 2022-4-27 16:07     标题: 【日内时间周期交易系统每天只能进行一次交易设置】

让日间交易系统每天只能进行一次交易的设置
本帖隐藏的内容需要回复才可以浏览


这个是标准版,也就是白天只有交易的品种,若是有些品种也有夜盘就不行了。我重新修改一下,也可以让有夜盘的品种只限定多少次进场。

情景一:日内小周期的,在每天收盘时都会平掉,所以在新的交易日持仓为0的情况:
  1. Condition1 =(time>2100 and time[1]=1500) or (time[1]=1500 and time>0900);
  2. If condition1 then value1 = 0;
  3. If MarketPosition <> 0 then value1 = 1;
  4. If value1 = 0 then Begin
  5. {your instructions to buy/sell here}
  6. 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时才进行交易,也就是一天只交易一笔【进场为例】。就可以用下面的这个:
  1. Input:counts(1);
  2. var:lock(0);
  3. Condition1 =(time>2100 and time[1]=1500) or (time[1]=1500 and time>0900);
  4. If condition1 then lock = 0;
  5. If lock = 0 then Begin
  6. {your instructions to buy/sell here}
  7. lock =lock+1;
  8. end;
复制代码
当进场后呢,lock就变成1,然后就不能再交易了。当然出场不受这个限制。比方说对于趋势交易的,开盘后可能昨仓还有呢,正常平仓不受影响,只是开仓时仅允许开仓一次。当然 这里也可以通过设置一个次数限制,比方说只能开仓2次,则在进场时用到lock<2,那么只有lock等于0,1时才会允许开仓。一次达到2次时,就不能再开仓了。




欢迎光临 龙听期货论坛 (http://qhlt.club/) Powered by Discuz! 7.2