以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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是交易日坐标

和你用哪种时间模式无关。