开拓者 MarketPosition 用法 总结 [开拓者 TB]
- 咨询内容: 我使用
if(open > con1 and MarketPosition ==0)
{
buy(n,open);
}
这样的模式来开仓,开仓成功后,还是会一直进到函数体中,也就是MarketPosition ==0还一直成立,怎么回事啊?MarketPosition 的值必须走完当前bar才更新吗?我买入成功后,信号也出现了,信号也没有消失,为什么MarketPosition 的值未更新?【id:穿堂风】
回复:MarketPosition 好像是下一个BAR才会更新值,简单说,marketposition实盘不能用,只能用来测试【ID:文静的狮子 】 - TB技术人员: Marketposition是下一根Bar才改变
- TB客服: 试写如下代码
- Begin
- If(close[1] >open[1])
- {
- FileAppend("d:\\marketpostion.log"," currentbar: "+text(currentbar)+ "|| 执行buy命令前的marketposition值: " +Text(marketposition));
- Buy(1,open);
- FileAppend("d:\\marketpostion.log"," currentbar: "+text(currentbar)+ "|| 执行buy命令后的marketposition值: " +Text(marketposition));
- }
- end
123.png (4.52 KB, 下载次数: 3) 2012-7-30 22:49:10 上传下载次数: 3
公式所写日志记录如下:
444.png (57.28 KB, 下载次数: 2) 2012-7-30 22:54:44 上传下载次数: 2
综上可得知:在本K线上,marketposition的初始值为0,在执行buy语句前为0,buy之后就会变为1。当前信号所在K线,每执行一次,marketposition都是从初始值0开始运行,buy之后变成1 。
周而复始,直到本K线的最后一个tick走完之后,将1的做为下一个K线的markeposition的初始参与计算 。
- 网友回复: Mark 这个需要学习
- 网友回复: 本帖最后由 shenpei715 于 2012-8-7 10:26 编辑
小米 发表于 2012-7-30 22:58
试写如下代码得出信号如下图:
非常感谢,林老师!
不只提供了一个问题的答案,重要的是给出了一种排查出错的思路方法。
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 262069696 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容