SKPrice和BKPrice怎么不准确啊? (文华财经wh9)

投资者咨询:SKPrice和BKPrice怎么不准确啊? (文华财经wh9)
来源:文华财经  日期:2018-5-10 12:14
 测试发现它们返回值不等于上次的买开或买开的信号啊?
技术人员回复
日期:2018-5-10 13:06
 我们这里查看是相等的

您是如何对比的呢?可以提供下截图我们看下
投资者咨询:SKPrice和BKPrice怎么不准确啊? (文华财经wh9)
来源:文华财经  日期:2018-5-10 12:14
 我举个例子你们看下,橡胶1809,日线
Vars
NumericSeries MA1;
begin
MA1=Ma(Close,30);
if(Cross(Close,MA1)) buy(1,ma1+MinPrice);
if(Close>BKPrice+10*MinPrice || ClosePlotLine("MA1",MA1,White);
 PlotLine("BKPrice",BKPrice,red,NoDraw);
End
在20180504日开仓价是11590,但是BKPrice返回值是11615



图片点击可在新窗口打开查看
技术人员回复
日期:2018-5-10 15:09
 明白您的思路了,您是回测查看的

那么这个函数回测时,返回的是满足条件的k线的收盘价的

您可以参考函数说明看下



图片点击可在新窗口打开查看
投资者咨询:SKPrice和BKPrice怎么不准确啊? (文华财经wh9)
来源:文华财经  日期:2018-5-10 12:14
 谢谢 明白了 
有没有返回实际成交价的函数
投资者咨询:SKPrice和BKPrice怎么不准确啊? (文华财经wh9)
来源:文华财经  日期:2018-5-10 12:14
 主要是想用在止损语句里的
想更精确的控制止损,老师你们有更好的方法吗
技术人员回复
日期:2018-5-10 15:44
您可以参考如下写法:

Setting
   MultSig_Min:0,0,0,0,1;//出信号立即下单
Vars
NumericSeries MA1;
begin
MA1=Ma(Close,30);
if(Cross(Close,MA1)) buy(1,ma1+MinPrice);
if(Close>BKPrice+200*MinPrice || Close<BKPrice-100*MinPrice) Sell(1);
PlotLine("MA1",MA1+MinPrice,White);
PlotLine("BKPrice",BKPrice,red,NoDraw);
End

实盘运行的时候可以取到满足开仓条件的最新价的,您可以模拟实盘加载到模组中运行试下