开拓者期货期权程序化系统交易论坛

标题: 是不是引入了未来函数 [打印本页]

作者: xueshixueshi    时间: 2016-3-21 18:22:43     标题: 是不是引入了未来函数

If(CrossOver(High,BuyPosition))
  {
              Buy(lots,Max(Open,BuyPosition)+i_offset);
              Return;
  }这句话是不是引入了未来函数,我个人的本意是High穿入BuyPosition时,建多仓,如果用>=号,止损掉之后还会重复开仓,不知道怎么搞
作者: 小米    时间: 2016-3-22 08:56:51

止损掉后的重复开仓是同一个信号位置吗??
TB的机制里,在没有外力干涉的情况下,是不可能同一个信号重复开仓的。

作者: xueshixueshi    时间: 2016-3-22 13:50:00

比如做多,止损之后,中间我会设置一段时间不交易,比如20根bar,想着再次开仓时High还是突破平台之后在开仓,用>=平台造成的后果就是过了20根bar,而high>平台
作者: 小米    时间: 2016-3-22 14:18:32

xueshixueshi 发表于 2016-3-22 13:50
比如做多,止损之后,中间我会设置一段时间不交易,比如20根bar,想着再次开仓时High还是突破平台之后在开 ...

没明白,如果是有限制20个bar之后再开仓的,何谓重复开仓?
作者: xueshixueshi    时间: 2016-3-22 14:30:06

举个例子啊,现在比如BuyLine=100,high第一次>=100时,开了多单,现在有三种情况,1)正常的平仓,没有任何问题;2)设置了止盈之后,high还是>100,此时会开新的多单(这种情况不愿意看到,希望得到的是又一次high突破100时买进);3)触发止损,中间我让程序休息20分钟,价格变化,若此时high>100,此时又会开新的多单(这种情况不愿意看到,希望得到的是又一次high突破100时买进)
作者: 小米    时间: 2016-3-22 14:57:27

xueshixueshi 发表于 2016-3-22 14:30
举个例子啊,现在比如BuyLine=100,high第一次>=100时,开了多单,现在有三种情况,1)正常的平仓,没有任何 ...


止盈后不想再开多,止损后不想再开多。。这二句理解了。
正常的平仓,没有任何问题。。这里不理解何为正常的平仓?是指不盈也不亏的情况吗??

在不考虑平仓1的情况下,针对2与3的需求,可以使用一个序列变量 flag 来控制
  1. if(con1 && flag!=1)
  2. {
  3.     buy;
  4. }
  5. if(sellcon2) //止盈
  6. {
  7.     sell;
  8.     flag =1;
  9. }else if(sellcon3)  //止损
  10. {
  11.     sell;
  12.     flag =1;
  13. }
  14. if( sellshortcon && flag !=-1)
  15. {
  16.      sellshort;
  17. }
  18. if( buytocovercon2) //止盈
  19. {
  20.       buytocover;
  21.        flag =-1;
  22.   }else if ( buytocovercon3) //止损
  23. {
  24.     buytocover;
  25.     flag = -1;
  26. }
复制代码

作者: xueshixueshi    时间: 2016-3-22 15:18:51

因为是区间突破系统,正常情况平仓就是突破上沿开多,突破下沿平多开空,主要就是第2、3这两种情况,如果止损或止盈,用crossover(high,buyline),我感觉能表示我的想法,但是怕引入未来价格;用high>=buyline这个价格
作者: 小米    时间: 2016-3-22 15:49:10

xueshixueshi 发表于 2016-3-22 15:18
因为是区间突破系统,正常情况平仓就是突破上沿开多,突破下沿平多开空,主要就是第2、3这两种情况,如果止 ...

用crossover没感觉到有未来数据呀,至少我没判断出来。
作者: xueshixueshi    时间: 2016-3-22 15:54:15

比如用crossover(high,buyline),开仓价我应该用max(buyline,open)开仓吧,那么crossover又是怎么判断突破的,如果用high[1]肯定没错,用high不知道
作者: 小米    时间: 2016-3-22 16:05:01

xueshixueshi 发表于 2016-3-22 15:54
比如用crossover(high,buyline),开仓价我应该用max(buyline,open)开仓吧,那么crossover又是怎么判断突破 ...

用high也没有问题的呀。。你的开仓价也基本合理的。是哪里会认为可能有未来函数呢?
只要buyline是稳定的,这个crossover的就没有问题。




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2