设为首页收藏本站

 找回密码
 注册
楼主: fish0451
打印 上一主题 下一主题

关于反复及连续开仓的解决办法 [复制链接]

Rank: 7Rank: 7Rank: 7

精华
0
UID
397
积分
4818
帖子
87
主题
13
阅读权限
80
注册时间
2007-9-22
最后登录
2021-6-8
11#
发表于 2008-9-13 14:31:34 |只看该作者
使用如下方法模拟stop指令解决。注意在算Stop时用的价格要引用前一天的。

BuyStop = ... the formula for buy stop level;
If(CrossOver(high,BuyStop))   
{
Buy(1,max( BuyStop, Low );
}


SellStop = ... the formula for sell stop level;
If(CrossUnder(Low,SellStop))
{
Sell(1,min( SellStop, High );
}

使用道具 举报

Rank: 4

精华
0
UID
2276
积分
317
帖子
66
主题
20
阅读权限
50
注册时间
2008-9-4
最后登录
2008-10-20
12#
发表于 2008-9-13 21:35:32 |只看该作者
这个方法好象不太好呀...
交易开拓者交流
QQ-1群:38529330(已满)
QQ-2群:24771838

使用道具 举报

Rank: 4

精华
0
UID
518
积分
554
帖子
47
主题
4
阅读权限
50
注册时间
2007-10-10
最后登录
2009-8-18
13#
发表于 2008-9-18 13:18:37 |只看该作者
原帖由 ilian 于 2008-9-13 14:31 发表
使用如下方法模拟stop指令解决。注意在算Stop时用的价格要引用前一天的。

BuyStop = ... the formula for buy stop level;
If(CrossOver(high,BuyStop))   
{
Buy(1,max( BuyStop, Low );
}


SellStop = ... the  ...


此方法看起来不错,有哪位验证过?

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
397
积分
4818
帖子
87
主题
13
阅读权限
80
注册时间
2007-9-22
最后登录
2021-6-8
14#
发表于 2008-9-19 00:58:21 |只看该作者
原帖由 518 于 2008-9-18 13:18 发表


此方法看起来不错,有哪位验证过?



给你一个系统在日内验证一下

三个bar最高价买,三个bar最低价卖。

Params
  Numeric hBackDays(3);
      Numeric lBackDays(3);
Vars
         

    NumericSeries buyPoint(0);
    NumericSeries sellPoint(0);


Begin

    buyPoint = Highest(High[1],hBackDays);
    sellPoint = Lowest(Low[1],lBackDays);

if(MarketPosition == 1)
{  
   If(CrossUnder(Low,sellPoint ))
   {
      Sell(0,min( sellPoint , High ));
   }

}

if(MarketPosition == 0)
{

   If(CrossOver(high,buyPoint))   
  {
     Buy(0,max( buyPoint, Low ));



}

}

end

[ 本帖最后由 ilian 于 2008-9-19 01:00 编辑 ]

使用道具 举报

Rank: 4

精华
0
UID
2276
积分
317
帖子
66
主题
20
阅读权限
50
注册时间
2008-9-4
最后登录
2008-10-20
15#
发表于 2008-9-19 08:53:41 |只看该作者
有点看不懂呀:
Lowest(Low[1],3)

Lowest(Low,3)
有什么区别呀?
交易开拓者交流
QQ-1群:38529330(已满)
QQ-2群:24771838

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
16#
发表于 2008-9-19 09:22:00 |只看该作者
以日线举例:
Lowest(Low[1],3),昨天,前天,大前天的最低价

Lowest(Low,3),今天,昨天,前天的最低价

使用道具 举报

精华
0
UID
2366
积分
1336
帖子
368
主题
70
阅读权限
0
注册时间
2008-9-15
最后登录
2019-4-1
17#
发表于 2008-9-28 01:38:26 |只看该作者
原帖由 jvya 于 2008-9-13 14:11 发表
解决反复开仓有很多的办法。
反复开仓的原因很简单,就是CLOSE来判断条件带来的麻烦。
再考虑到历史行情图表和实时行情交易的不同,问题就有点麻烦。
第一个办法是:
这是我最为推荐的解决方法!
不要用CLOSE。而是在判断条 ...


用H,L是最不可取的,它尽管确实可解决指令反复的问题,但同时会增加很多不必要的操作,程序化交易最大的问题是交易过于频繁,用H,L再减少交易次数上是最无能为力的了.
我从四月开始作程序化交易,在文华用的K线走完,5分钟,在白糖这个品种只错过一次35点的机会,可见用前根Bar滞后没的道理,关键是你的模式的总体设计思路.
     可以说指令反复是程序化交易最没必要讨论的问题,因为采用K线分析C,H,L,O和V都是必不可少的,就算用MACD等指标,一根K线走完前上穿但收盘却不上穿的情况也很多,而且很多时候还会慢慢向下加大跌幅.
     有些分析,比如说上穿5日线,真正的买点和K线的长度,成交量的配合都很有关系,比如留下长长上影线或阴线都不是买入机会,有些甚至是卖出机会,这一切是用H,L没法解决的.
     有人说作程序化交易就得面对这些小额亏损,这本没错,但你的程序设计就应该避免这些可以避免的亏损,比如采用H,L不可避免地带来的过多的交易,象白糖这样的品种,频繁地交易一次亏损4-5点,多几交算下来也是很可观的,100点的机会也不见得补得回来.

[ 本帖最后由 f600624 于 2008-9-28 01:55 编辑 ]

使用道具 举报

Rank: 4

精华
0
UID
1868
积分
510
帖子
55
主题
9
阅读权限
50
注册时间
2008-7-12
最后登录
2019-3-30
18#
发表于 2008-9-28 10:31:24 |只看该作者
同意楼上说法:用H,L是最不可取的,在一根K线中,有开盘价、最高价、最低价、收盘价,其中最重要的是收盘价,收盘价最能代表当根K线的含义,我喜欢用close来判断,如果用最高价、最低价判断,则容易在长上影线顶做多,在长下影线底做空,不太好。如果用开盘价判断,则开盘跳空会损失一些利润。只有TB程序员大力提倡用nextopen,H,L来判断,因为这样做容易编程一些。如果有一天程序员亲自去炒股,就有体会了。难啊,隔行如隔山!

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
19#
发表于 2008-9-28 14:43:52 |只看该作者
用H,L有自己的处理方式和过滤机制,如果你按照Close的处理方式来做,自然会被洗无数次。

所谓用收盘价,相当于加了一个时间确认。用Open也是一样的道理,本质上用Open和Close在日内交易没有区别。

kill1919兄台武断地认为我们不做交易,我却更愿意武断的人为是你理解不了。

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
1
UID
727
积分
3770
帖子
537
主题
55
阅读权限
80
注册时间
2007-11-11
最后登录
2015-4-8
20#
发表于 2008-9-28 18:46:37 |只看该作者
无论用HL或CLOSE都是可行的,关键是确保开仓方向的一致性和讯号的唯一性。在突破中用HL与突破点的价格之间取值更易获得好价位,缺点是HL容易同时成立,出现开仓的不稳定性。用CLOSE加延时,虽然价位较差,但讯号绝对唯一,所以从求稳角度着想,用CLOSE加延时是首选。
TradeBlazer交流群33647992。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-23 23:05

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部