以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]文华程序转换  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=87032)

--  作者:听涛
--  发布时间:2015/11/6 11:37:28
--  [求助]文华程序转换
 AA:=GETPRICE(5001, \'BIDVOL1\');//5001是文华码 代表PTA连续
A:VALUEWHEN(AA>8000,AA);// 当获取的买一量大于8000 返回AA也就是当前的买一量


GETPRICE 根据文华码取报价列表窗口某一个合约的行情报价数据。

//其中\'OPEN\'可以替换为以下

\'HIGH\':最高
\'LOW\':最低
\'NEW\':最新
\'AVPRICE\':均价
\'BID1\':买1
\'BIDVOL1\':买1量
\'ASK1\':卖1
\'ASKVOL1\':卖1量
\'VOLUME\':成交量…………


我看到论坛中有关debug文件输出的介绍,但是新接触金字塔不会编写,请老师帮忙。


我要实现的获取买一卖一的量,然后当它们满足一定条件的时候,输出某些特定值(例如时刻、价格、量等)到一个文件(xls或txt)根据输出的内容进行分析

新人第一个问题,谢谢


--  作者:jinzhe
--  发布时间:2015/11/6 13:03:22
--  

是debugfile函数进行输出

举个例子:当ta00的买1量大于8000时,输出当时的时间:

if dynainfo2(25,\'ta00\')>8000 then DEBUGFILE(\'D:\\TEST.TXT\',\'当前时间为%.0f\',dynainfo(207));


--  作者:听涛
--  发布时间:2015/11/6 13:26:31
--  
老师查询金字塔有专门的行情函数

我要实现买卖量的一个比较dynainfo2函数有点复杂吧

大于8000这个条件 有点简单 请您帮我编译一下下面的思路,谢谢
AA:BIDVOL;//取买一
BB:ASKVOL;//取卖一
tj:=aa>bb;//买一大于卖一
输出一个文件 文件中包括 满足条件的时刻 买一量 买一价 卖一量 卖一价

因为这个值只能是在开盘时候才能取得买卖的动态 那么能不能实现收盘之后(包含白盘和夜盘)输出的文件名字不同(例如,今天白盘是1,夜盘是2,明天的白盘是3,夜盘是4)

谢谢jinzhe老师

 

--  作者:jinzhe
--  发布时间:2015/11/6 13:32:44
--  
文件名不同, 你看一下我写debugfile里面的test.txt,改这个就行
--  作者:听涛
--  发布时间:2015/11/6 13:33:54
--  
DYNAINFO( 207) 当前时刻
DYNAINFO(  7) 最新价

DYNAINFO( 25)买一量
DYNAINFO( 27) 买量
25/27有什么区别?

DYNAINFO( 28)买一价
DYNAINFO( 30)买价
28/30有什么区别?

这样编译对吗?
if tj=1 then DEBUGFILE(\'D:\\TEST.TXT\',\'时间\',dynainfo(207),\'买一量\',bidvol,‘买一价’,dynainfo(28),);

--  作者:jinzhe
--  发布时间:2015/11/6 13:49:18
--  

1.

25是买1量,27是买3量,区别在这里。28和30也是这样的区别

2.

不对

if tj=1 then DEBUGFILE(\'D:\\TEST.TXT\',\'时间%.0f\',dynainfo(207));
这句语句你要输出几个数据就写几遍,不要自由发挥随便自行叠加
%.0f不能省略
 

--  作者:听涛
--  发布时间:2015/11/6 13:56:06
--  
http://www.weistock.com/WeisoftHelp/index.html?fulua_dynainfo.htm 这个就是错误的了
以下是引用jinzhe在2015/11/6 13:49:18的发言:

1.

25是买1量,27是买3量,区别在这里。28和30也是这样的区别



--  作者:jinzhe
--  发布时间:2015/11/6 14:04:57
--  
以软件里面的函数解释为准
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:听涛
--  发布时间:2015/11/6 14:19:37
--  
a1:=DYNAINFO(25);//买一量
b1:=DYNAINFO(31);//卖一量
tj1:=a1>3*b1 and a1>1000;//支撑
tj2:=a1<3*b1 and b1>1000;//压力
if tj1=1 then 
DEBUGFILE2(\'D:\\TEST.TXT\',\'买多%.0f\',0000,1);// 这段为什么不显示呢?
DEBUGFILE(\'D:\\TEST.TXT\',\'买一量%.0f\',a1);
DEBUGFILE(\'D:\\TEST.TXT\',\'买一价%.0f\',DYNAINFO(28));//绿色部分不应该现实时间的请问怎么处理?

if tj2=1 THEN 
DEBUGFILE2(\'D:\\TEST.TXT\',\'卖多%.0f\',1111,1);//这段为什么不显示呢?
DEBUGFILE(\'D:\\TEST.TXT\',\'买一量%.0f\',b1);
DEBUGFILE(\'D:\\TEST.TXT\',\'买一价%.0f\',DYNAINFO(34));


--  作者:jinzhe
--  发布时间:2015/11/6 14:25:53
--  
a1:=DYNAINFO(25);//买一量
b1:=DYNAINFO(31);//卖一量
tj1:=a1>3*b1 and a1>1000;//支撑
tj2:=a1<3*b1 and b1>1000;//压力
if tj1=1 then  begin
DEBUGFILE2(\'D:\\TEST.TXT\',\'买多%.0f\',0);// 这段为什么不显示呢?
DEBUGFILE(\'D:\\TEST.TXT\',\'买一量%.0f\',a1);
DEBUGFILE(\'D:\\TEST.TXT\',\'买一价%.0f\',DYNAINFO(28));//绿色部分不应该现实时间的请问怎么处理?
end

 
if tj2=1 THEN begin
DEBUGFILE2(\'D:\\TEST.TXT\',\'卖多%.0f\',1);//这段为什么不显示呢?
DEBUGFILE(\'D:\\TEST.TXT\',\'买一量%.0f\',b1);
DEBUGFILE(\'D:\\TEST.TXT\',\'买一价%.0f\',DYNAINFO(34));
end