设为首页收藏本站

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

信号闪烁问题,TBQ股票交易策略 [复制链接]

Rank: 2

精华
0
UID
288166
积分
79
帖子
43
主题
22
阅读权限
30
注册时间
2020-1-21
最后登录
2021-5-17
跳转到指定楼层
1#
发表于 2020-8-31 11:15:51 |只看该作者 |倒序浏览
我写的程序中,开仓平仓都是用的上一条BAR的数据来触发。但是,还是经常提示信号闪烁。不知道为什么,请高手指教。

比如开仓:
Dkc= MACDLine[2]<MACDLine[1] && MarketPosition==0;  //第一次开仓,快线上移       
If (Dkc == True )                                   
  {
                        MyEntryPrice=Open;
                        Buy(Num,MyEntryPrice);
                        Commentary("快线上移,第1次开多仓: "+Text(MyEntryPrice));
  }

比如平仓:
Kspc= SignalLine[2]>SignalLine[1] && PositionProfit[1]<0  ;     //亏损时,慢线拐头向下平仓.
  If(KSPC == True && LastEntryDate!=Date )                          // 亏损平仓条件
       {
                        MyExitPrice=Open;
                        Sell(0,MyExitPrice);
                        Commentary("亏损且MACD慢线下移-止损: "+Text(MyExitPrice));
        }

Rank: 10Rank: 10Rank: 10

精华
0
UID
20842
积分
931
帖子
382
主题
2
阅读权限
255
注册时间
2010-12-3
最后登录
2022-2-15
2#
发表于 2020-8-31 17:50:44 |只看该作者
PositionProfit是个函数,应该不能直接回溯
可以先把它赋值给一个序列变量,再用序列变量回溯来判断

使用道具 举报

Rank: 2

精华
0
UID
288166
积分
79
帖子
43
主题
22
阅读权限
30
注册时间
2020-1-21
最后登录
2021-5-17
3#
发表于 2020-9-2 10:50:17 |只看该作者
追涨杀跌 发表于 2020-8-31 17:50
PositionProfit是个函数,应该不能直接回溯
可以先把它赋值给一个序列变量,再用序列变量回溯来判断
...

不用 PositionProfit , 改为 用 lastentryprice 来判断,还是会出现信号闪烁,这是怎么回事?
在股票行情上运行的

If(High >= (LastEntryPrice + Round(0.5*AvgTR[1],2)) && CurrentEntries < nEntries)

AvgTR[1]  : 前一条BAR 的ATR值。
nEntries : 参数,是个固定值

使用道具 举报

Rank: 2

精华
0
UID
288166
积分
79
帖子
43
主题
22
阅读权限
30
注册时间
2020-1-21
最后登录
2021-5-17
4#
发表于 2020-9-2 10:54:14 |只看该作者
追涨杀跌 发表于 2020-8-31 17:50
PositionProfit是个函数,应该不能直接回溯
可以先把它赋值给一个序列变量,再用序列变量回溯来判断
...

PositionProfit 是个函数, 为什么 PositionProfit[1] , 编译的时候没有报错?
如果定义的变量不是序列变量,用回溯语句时, 编译时会报错。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
0
UID
20842
积分
931
帖子
382
主题
2
阅读权限
255
注册时间
2010-12-3
最后登录
2022-2-15
5#
发表于 2020-9-2 11:29:03 |只看该作者
zhangzijian 发表于 2020-9-2 10:54
PositionProfit 是个函数, 为什么 PositionProfit[1] , 编译的时候没有报错?
如果定义的变量不是序列变 ...

有些系统提供的函数,本身是有序列数据性质的,回溯去读不会报错,但读到的数据实际还是当前bar的。
而当前bar的数据都是变化,所以有可能信号闪烁。
至于你说把PositionProfit去掉,还是会闪烁,那就要跟踪,到底引起变化的是哪个变量。

使用道具 举报

Rank: 2

精华
0
UID
288166
积分
79
帖子
43
主题
22
阅读权限
30
注册时间
2020-1-21
最后登录
2021-5-17
6#
发表于 2020-9-3 09:56:10 |只看该作者
追涨杀跌 发表于 2020-9-2 11:29
有些系统提供的函数,本身是有序列数据性质的,回溯去读不会报错,但读到的数据实际还是当前bar的。
而当 ...

请问要怎么跟踪? 频繁出现信号闪烁,还是比较麻烦。
我的程序是不是用于股票行情与用于期货会不一样? 股票价格有2位小数,期货价格都是整数。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-1 11:33

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部