设为首页收藏本站

 找回密码
 注册
查看: 16988|回复: 8
打印 上一主题 下一主题

请问版主关于buy的问题 [复制链接]

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
1#
发表于 2011-11-21 11:12:07 |显示全部楼层
回复 1# mars622160


其实开仓和平仓他是同时发出委托单的。是你所指的(2)的情况,反手要准备两手的资金。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
2#
发表于 2011-11-21 16:30:07 |显示全部楼层
回复 3# mars622160
延迟发单请参考以下代码。
  1. Params
  2.         Numeric FastLength(5);
  3.         Numeric SlowLength(20);
  4.         Numeric DelayTicks(5);
  5. Vars
  6.         NumericSeries AvgValue1;
  7.         NumericSeries AvgValue2;
  8.         Numeric LastBarTime;
  9.         Numeric TickCounter;
  10. Begin
  11.         AvgValue1 = AverageFC(Close,FastLength);
  12.         AvgValue2 = AverageFC(Close,SlowLength);
  13.        
  14.         LastBarTime = GetGlobalVar(0);
  15.         TickCounter = GetGlobalVar(1);
  16.         If(BarStatus==2 && LastBarTime != Time)
  17.         {
  18.                 LastBarTime = Time;
  19.                 TickCounter = 0;
  20.         }
  21.        
  22.         If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
  23.         {
  24.                 If(MarketPosition==0 || BarStatus!=2)
  25.                 {
  26.                         Buy(1,Open);
  27.                 }Else
  28.                 {
  29.                         BuyToCover(1,Open);
  30.                         If(TickCounter==0)
  31.                         {
  32.                                 TickCounter = 1;
  33.                         }else If(TickCounter < DelayTicks)
  34.                         {
  35.                                 TickCounter = TickCounter + 1;                       
  36.                         }else
  37.                         {
  38.                                 Buy(1,Open);
  39.                         }
  40.                 }
  41.         }
  42.        
  43.         If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
  44.         {
  45.                 If(MarketPosition==0 || BarStatus!=2)
  46.                 {
  47.                         SellShort(1,Open);
  48.                 }Else
  49.                 {
  50.                         Sell(1,Open);
  51.                         If(TickCounter==0)
  52.                         {
  53.                                 TickCounter = 1;
  54.                         }else If(TickCounter < DelayTicks)
  55.                         {
  56.                                 TickCounter = TickCounter + 1;                       
  57.                         }else
  58.                         {
  59.                                 SellShort(1,Open);
  60.                         }
  61.                 }
  62.         }
  63.        
  64.         SetGlobalVar(0,LastBarTime);       
  65.         SetGlobalVar(1,TickCounter);
  66. End
复制代码

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
3#
发表于 2011-11-22 09:02:11 |显示全部楼层
回复 5# mars622160


上面的语句也是会同时执行的。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
4#
发表于 2011-11-23 09:26:32 |显示全部楼层
回复 7# mars622160


在历史上会反手的,代码中
  1. If(MarketPosition==0 || BarStatus!=2)
复制代码
将情况分为历史和最后一根bar

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
5#
发表于 2011-11-25 15:00:16 |显示全部楼层
回复 9# mars622160


1.回测是不会走到这个分支里的,回测历史的时候,是走到
  1. If(MarketPosition==0 || BarStatus!=2)
  2.                 {
  3.                         Buy(1,Open);
  4.                 }
复制代码

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
6#
发表于 2011-11-25 15:06:46 |显示全部楼层
回复 9# mars622160

2.对的,TickCounter从全局变量存储来的
3.全局变量不会收到的bar数据的改变而改变,是独立于k线的,普通变量都是跟着k线走的。
4.V3里还需要进一步调试,建议使用v4

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
7#
发表于 2011-11-27 10:52:01 |显示全部楼层
1.没有办法做到一模一样的
2.没有

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
8#
发表于 2011-11-28 09:42:40 |显示全部楼层
回复 14# mars622160


如果您是在tick级别上使用,那么就不需要使用这个函数来延迟了,数bar就可以了。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
9#
发表于 2011-11-28 10:07:17 |显示全部楼层
1.非tick周期都可以用
2.1分钟time的秒信息都为0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-19 21:00

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部