信号闪烁问题,TBQ股票交易策略 [开拓者 TB]
-
咨询内容:
我写的程序中,开仓平仓都是用的上一条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));
}来源:CXH99.COM
-
TB技术人员:
PositionProfit是个函数,应该不能直接回溯
可以先把它赋值给一个序列变量,再用序列变量回溯来判断 -
TB客服:
追涨杀跌 发表于 2020-8-31 17:50
PositionProfit是个函数,应该不能直接回溯
可以先把它赋值给一个序列变量,再用序列变量回溯来判断
...
不用 PositionProfit , 改为 用 lastentryprice 来判断,还是会出现信号闪烁,这是怎么回事?
在股票行情上运行的
If(High >= (LastEntryPrice + Round(0.5*AvgTR[1],2)) && CurrentEntries < nEntries)
AvgTR[1] : 前一条BAR 的ATR值。
nEntries : 参数,是个固定值 -
网友回复:
追涨杀跌 发表于 2020-8-31 17:50
PositionProfit是个函数,应该不能直接回溯
可以先把它赋值给一个序列变量,再用序列变量回溯来判断
...
PositionProfit 是个函数, 为什么 PositionProfit[1] , 编译的时候没有报错?
如果定义的变量不是序列变量,用回溯语句时, 编译时会报错。 - 网友回复:
zhangzijian 发表于 2020-9-2 10:54
PositionProfit 是个函数, 为什么 PositionProfit[1] , 编译的时候没有报错?
如果定义的变量不是序列变 ...
有些系统提供的函数,本身是有序列数据性质的,回溯去读不会报错,但读到的数据实际还是当前bar的。
而当前bar的数据都是变化,所以有可能信号闪烁。
至于你说把PositionProfit去掉,还是会闪烁,那就要跟踪,到底引起变化的是哪个变量。
有思路,想编写各种指标公式,交易模型,选股公式,还原公式的朋友
可联系技术人员 QQ: 262069696 或微信号:cxh99cxh99 进行 有偿收费 编写!
(注:由于人数限制,QQ或微信请选择方便的一个联系我们就行,加好友时请简单备注下您的需求,否则无法通过。谢谢您!)
相关文章
-
没有相关内容