以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://www.weistock.com/bbs/list.asp?boardid=4) ---- 要如何加时间条件早上或者下午才判断一次并输出 (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=176321) |
-- 作者:OscarDeng -- 发布时间:2020/5/29 6:20:14 -- 要如何加时间条件早上或者下午才判断一次并输出 我的程序是运行在1分钟K线上, 但是我只希望下面这句话 MSGOUT(C>最高价*1.03,\'价格高于最高价3%,是否需要加仓还是止损?\'); 早上或者下午(又或者是每隔两个小时)才判断一次并输出。 要如何加时间条件
|
-- 作者:FireScript -- 发布时间:2020/5/29 9:25:59 -- 按照定时判断并提示的思路处理吧。 //这个extgbdata 的全局变量是用来限制一个K只执行一次的目的。否则msgout会不断输出。每次运行程序化前需要在工具-数据管理-全局变量 这里重置下全局变量t为0 if barpos>extgbdata(\'t\') then begin extgbdataset(\'t\',barpos); cd:time=133000 or time=143000;//这个表示时间是否在早上九点半或者十点半 ,你可以改成自己需要的时间。 MSGOUT(C>最高价*1.03 and cd,\'价格高于最高价3%,是否需要加仓还是止损?\'); end 另外需要注意这个会在每个K刚开始时候提示,中间条件有变化,它是不管的。
|
-- 作者:OscarDeng -- 发布时间:2020/5/30 17:53:14 -- 运行模式是在 runmode: 0; 状态下进行的。 1. cd:time=133000 or time=143000;//这个表示时间是否在早上九点半或者十点半 . 不是吧? 这个表示 下午1点半和2点半吧?2. 如果运行在1分钟状态下,我希望以开盘后一分钟就检测是否满足条件输出。 用cc:time=093100 这样K线走完一分钟后你们的金字塔系统能否刚好准时达标到9点31分00秒呢? 这样的状况是否会出现1分钟K线走完后实际的时间在093101 ? 是否需要设置时间为 cc:time<0931001 and time C>093059; 以保证K先能100% 满足条件 , 还是直接用cc:time=093100就可以? 3. extgbdata 我看你的解释还是不明白为什么要设置全局变量来限制一个K只执行一次的目的。 不是在图表模式下肯定是一个K线走完才执一次吗? 而且设置全局变量要做什么? 不可以直接就用普通的赋值t吗? 例如: t:=0; if barpos>t then begin t:=barpos cd:time=133000 or time=143000;//这个表示时间是否在早上九点半或者十点半 ,你可以改成自己需要的时间。 MSGOUT(C>最高价*1.03 and cd,\'价格高于最高价3%,是否需要加仓还是止损?\'); end |
-- 作者:FireScript -- 发布时间:2020/6/1 9:39:37 -- 1.我那个是金字塔时间。是北京时区+4小时。系统默认的也是金字塔时间。你看下自己本地是什么时间,如果是北京时间就重新设置下即可。 2.可以采用这种方式来实现开盘后1分钟执行。“样K线走完一分钟后你们的金字塔系统能否刚好准时达标到9点31分00秒呢?”代码是靠分笔行情驱动的,理论上来说 如果品种活跃肯定没问题。你要是不活跃,几秒才来几个分笔的这种,那肯定没办法保证卡点了。“是否需要设置时间为 cc:time<0931001 and time C>093059;” 这个是完全不需要的,而且你需要明白time是K线时间,是当前1分钟周期走完时候的结束时间。2个K直接间隔1分钟。 3. 用MSGOUT做输出,是每个分笔都会执行的。你如果不限制,那么这个K有多少个分笔,它就执行多少次。 “不是在图表模式下肯定是一个K线走完才执一次吗?” 这个地方你理解有错误。最新K上基本来一个分笔公式算一次。而走完K是信号筛选的机制,不是公式运行的模式。是指走完这个K,检测一次信号是否需要下单。 |
-- 作者:OscarDeng -- 发布时间:2020/6/3 13:56:03 -- “最新K上基本来一个分笔公式算一次。而走完K是信号筛选的机制,不是公式运行的模式。是指走完这个K,检测一次信号是否需要下单。” 如果是一个分笔公式算一次, 那有没有在图表模式下 K线走完模式下,存在分笔触发立即下单, 例如最新价格触发到某个价格立即做空, 或者平空?
|
-- 作者:FireScript -- 发布时间:2020/6/3 14:02:28 -- 走完K模式不行的。走完k必须等到这个K走完K了,然后系统判断这个K最后时刻是否有信号需要执行。 |
-- 作者:OscarDeng -- 发布时间:2020/6/3 14:43:38 -- 我就奇怪了, 你就不能学一下文华财经8, 图表程序化既然K线走完模式下实际上是一个分笔公式算一次, 反而允许MSGOUT 是分笔输出, 为什么有不多几个函数按照分笔tick来触发即交易呢? 后台程序化在K线走完模式上也没有吗? |
-- 作者:FireScript -- 发布时间:2020/6/3 14:46:44 -- 后台也没有。你如果要即时交易为何不直接用固定轮询。而且固定轮询上是可以利用代码逻辑实现类似“走完K ”的模式的。 http://www.weistock.com/bbs/dispbbs.asp?boardid=17&Id=159472 msgout这种本来就是用来调试观察的,肯定是要即时触发也方便观察的。
|
-- 作者:OscarDeng -- 发布时间:2020/6/3 19:23:33 -- 那 STKINDI(\'\',\'MACD.NV2\',0,2,0),noaxis 里面的0 代表的是北京时间还是金字塔时间? |
-- 作者:wenarm -- 发布时间:2020/6/3 22:32:56 -- 0是交易日坐标。 和你用哪种时间模式无关。 |