以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- [求助]图表上实现过滤4秒信号 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=4778) |
-- 作者:bbking -- 发布时间:2011/1/11 10:17:06 -- [求助]图表上实现过滤4秒信号 我需要在每次发出委托后过滤后面4秒的信号~ if cond then begin buy(...); sleep(4000); end;
类似的语句无法用在图表上~ 今天图表实盘(图表)一开仓后sleep导致系统卡住...(没卡死..我机器高配的) 一担心马上切换回原来的系统~... 倒是昨天做模拟的时候没注意图表使用sleep会导致卡住的现象. 一直运行的好好的
现在需要一个能在图表上实现过滤最近4秒信号的程序... 希望admin能帮个忙...
以下是引用admin在2010-7-25 1:05:01的发言:
本示例以后台自动交易的方式,展现了金字塔实现延迟信号确认的工作原理。 本代码可以实现3天现上穿5天线后,15秒等待信号确认后,再发开仓单。 请选择固定时间间隔模式运行后台自动交易,间隔时间设为1秒 本公式会在运行时产生很多临时数据,请用户再第二天交易前清空这些历史变量,否则会导致与第二天的临时变量冲突。方法 工具菜单-》数据-》全局变量,进去后,选择“清空”按钮
MA1:=MA(CLOSE,3); CROS:=CROSS(MA1,MA2); CROS2:=CROSS(MA2,MA1);
IF ISLASTBAR THEN TBUY(BUY1,1,MKT); [此贴子已经被作者于2010-7-25 1:06:05编辑过]
在学习这段语句... 不少地方琢磨不透啊.. |
-- 作者:王锋 -- 发布时间:2011/1/11 10:19:53 -- sleep一般用在后台,使用sleep语句后会导致程序停下来等待,因为后台是独立工作的,故对使用影响不大,但是图表上使用sleep会导致整个程序都被挂起来。 |
-- 作者:bbking -- 发布时间:2011/1/11 10:40:36 -- 以下是引用王锋在2011-1-11 10:19:53的发言:
sleep一般用在后台,使用sleep语句后会导致程序停下来等待,因为后台是独立工作的,故对使用影响不大,但是图表上使用sleep会导致整个程序都被挂起来。 我是没搞清楚sleep是后台函数 如果金字塔在函数介绍上有一栏函数属性告知是哪类函数就更好了..
希望哪位老师能够帮我在图表上实现过滤最近4秒信号的功能 [此贴子已经被作者于2011-1-11 10:40:55编辑过]
|
-- 作者:阿火 -- 发布时间:2011/1/11 10:45:55 -- 试试用全局变量。 发单后,用全局变量记录currenttime 再次发单,再用currenttime和全局变量做比较
只是这样 用于测试的图表交易系统和用于实盘的图表交易系统是分开的
|
-- 作者:bbking -- 发布时间:2011/1/11 11:16:33 -- 以下是引用leevolvo在2011-1-11 10:45:55的发言:
试试用全局变量。 发单后,用全局变量记录currenttime 再次发单,再用currenttime和全局变量做比较
只是这样 用于测试的图表交易系统和用于实盘的图表交易系统是分开的
能不能写个简单点的例子? EXTGBDATASET(CRTEMP,TIMETOT0(CURRENTTIME)); 这句搞的我那个数据里面全是新建的全局变量... |
-- 作者:阿火 -- 发布时间:2011/1/11 11:42:02 -- 一个思路,不知道可不可行,bbking兄根据自己的实际情况试试。
if cond and timetot0(currenttime)>timetot0(extgbdata(\'m\')+4) then begin //cond为买入条件,全局变量m的初始值每天更新为0 buy(......); extgbdataset(\'m\',currenttime); end
如果具体情况中有用到holding的话,也要做相应的改变
|
-- 作者:bbking -- 发布时间:2011/1/12 16:18:02 -- 以下是引用leevolvo在2011-1-11 11:42:02的发言:
一个思路,不知道可不可行,bbking兄根据自己的实际情况试试。
if cond and timetot0(currenttime)>timetot0(extgbdata(\'m\')+4) then begin //cond为买入条件,全局变量m的初始值每天更新为0 buy(......); extgbdataset(\'m\',currenttime); end
如果具体情况中有用到holding的话,也要做相应的改变
这个M是否需要手动设置为0?否则第二天就开不了仓? |
-- 作者:阿火 -- 发布时间:2011/1/12 21:09:49 -- 恩。是啊。你是不是日内交易? 加一行代码,让收盘的时候,全局变量m自动变为0 |
-- 作者:bbking -- 发布时间:2011/1/14 10:25:47 -- if hour=10 and minute=9 then begin
我新建个指标~然后写入以上代码~ 结果全局变量crt直接等于currenttime 可以超过10点09分钟的
|
-- 作者:bbking -- 发布时间:2011/1/14 12:38:10 -- 可能是我自己搞错了~我再试试... |