Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共9 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:enterbars的问题

1楼
王北浪 发表于:2017/8/28 10:03:30
请教: 当开仓后,enterbars开始计数,如果过几个周期后,同方向又加仓了,此时enterbars 怎么算?
我希望使用第一个开仓的数,忽略后一个,能否实现?
2楼
FireScript 发表于:2017/8/28 10:09:52

1.enterbars 会直接返回你最近一次加仓位置的相应历时数据。

2.第一个开仓位置的数据?用这个试试BARSSINCE函数。

3楼
王北浪 发表于:2017/8/28 11:08:35
尝试了,好像不行,barssince 强调的是第一次,如果程序反向开仓了,正常逻辑是enterbars 重新计数了,但是它还是累加的。请指教。有没有其他思路?
4楼
FireScript 发表于:2017/8/28 11:18:56

barssince (开多条件);

这样的处理也不行吗?就是根据开仓条件来。

5楼
王北浪 发表于:2017/8/28 11:22:23
可以,但是这个数值永远是增长的,你知道的,当平仓,或者反手后应该重新计数的
6楼
FireScript 发表于:2017/8/28 11:30:57
所以你其实是想要最近一次开仓并且中间没有平仓以及反手这样的?
7楼
王北浪 发表于:2017/8/28 11:52:19
是的
8楼
FireScript 发表于:2017/8/28 13:28:33

这样:

variable:mark=0;

if buycond then  buy(); mark:=1;

if sellcond then sell();mark:=-1;

lastMark:if(last(mark=1,BARSLAST(mark=1),0),BARSLAST(mark=1),0);

 

把开仓的位置用全局变量标记下,然后平仓或者反向开或者其他不符合条件的,全局变量都赋值为-1.

这样如果上次开仓以来,mark一直是1,说明满足条件。

[此贴子已经被作者于2017/8/28 13:41:40编辑过]
9楼
王北浪 发表于:2017/8/28 13:51:45
谢谢,我试下
共9 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01563 s, 3 queries.